اذهب إلى المحتوى
  • 0

مالفرق بين Node js المستخدمة مع react , react native and angular؟؟

Ahmed Sawy

السؤال

السلام عليكم .. 

Node js يمكننا استخدامها مع الكثير من المكتباب الحديثة مثل ريأكت و أنجلار .. وايضا يمكننا استخدامها مع ريأكت ناتيف لكنى اتسائل .. هل Node js متغيرة فى الاستخدام مع المكتبات المختلفة من حيث كتابة الكود  ؟؟ 

بمعنى اوضح لو ان هناك مبرمج مثلا معتاد على عمل الباك اند ب node js مع ريأكت ناتيف .. وفكر فى الانتقال الى angular مثلا .. هل سيكون عليه تعلم الكثير من الاشياء الجديدة ام ان الموضوع ابسط .. وشكرا ؟؟

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 1

مرحباً @Ahmed Sawy

بدايةً يجب الإنتباه إلى أن node.js هي بيئة عمل مخصصة لبناء الـ Back-end باستخدام لغة javascript

بينما لتطوير الـ front-end يوجد العديد من إطارات العمل مثل Angular - VueJs - React .

و النقطة الأهم هي أن المبرمج المحترف عندما يقوم ببناء تطبيقه بشكل احترافي يقوم بفصل كود الـ back-end عن الـ front-end من ناحية الكود ( أي ملفات و مجلدات كود الـ front-end مختلفة عن ملفات و مجلدات الـ back-end ).

و السؤال الآن كيف سنجعلهما يتواصلان مع بعضهما ؟

الإجابة: لنفترض وجود عشرات الطلاب من مختلف دول العالم يدرسون في نفس الجامعة، كيف سيتواصل الهندي مع العربي و الأسباني مع الصيني مثلاً ؟بكل بساطة سيتواصلون بلغة مشتركة فيما بينهم وهي اللغة الإنكليزية.

بنفس الشكل إذا كان لدينا عدة تطبيقات و كل تطبيق مبني بلغة/مكتبة/إطار عمل معين كيف ستتخاطب مع بعضها؟ ستتخاطب و تتبادل البيانات عن طريق ما يدعى بالـ API - Application Programming Interface و هي عبارة عن آلية لتخاطب التطبيقات مع بعضها عبر تبادل البيانات ضمن صيغة JSON 

وهذا مثال عن بيانات بصيغة JSON:

{
    "name":"John",
    "age":31,
    "city":"New York"
}

إذاً الخلاصة: الـ back-end في الـ Frameworks مستقل عن الـ front-end و يتخاطبان بينهما عن طريق APIs، وبالتالي إن تغيرت لغة أو إطار عمل أحدهما لن تؤثر على الآخر، فإذا جائك شخص ياباني أو هندي فإنك لن تهتم للغته الأم لأنك بالحالتين ستتحدث معه باللغة الإنكليزية.

كذلك بالنسبة لك إذا اخترت للـ front -end أي من الفريموركس المذكورة أو لغات تطوير أخرى فإن ذلك لن يؤثر على عمل الـ back-end في حالتك هذه node.js .

تم التعديل في بواسطة Mohamad Shafiee Jaddini
رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 1

مرحبا @Ahmed Sawy

لا تختلف Node.js في أستخدام لها مع أي أطار عمل تستخدمه.

هي لغة برمجة نستخدمها لأنشاء المشاريع, ولنا حرية الأختيار في أستخدام أي أطار عمل معها, ما يختلف هو طريقة التعامل مع أطار العمل المستخدم مع Node.js فلكل أطار عمل طريقة تعامل معه و اسلوب خاص فيه.

عند تعلم أطار عمل مثل react وقد تريد التغيير والانتقال الى angular فقط ما ستتعلمه هو كيفية أستخدام الأطار و كيفية تنفيذ مشروعك بأستخدام الأطار ولا تختلف Node.js.

عند استخدام Node.js مع react native  هنا يجب بأخذ بعين الأعتبار أنك ستقوم بأنشاء تطبيق موبايل أما لمنصة جوجل بلاي أو منصة أبل ستور وهنا ممكن أن تكون تريد عمل API باستخدام Node.js أو لوحة تحكم.

الأفضل هو أن تدرس أكثر من أطار عمل و تحدد ما هو أطار العمل المناسب لمشروعك ومن ثم البدء بتنفيذ مشروعك لتجنب تغيير أطار العمل عند تنفيذ مشروعك وقد أخذ فعلا منك وقت كبير من وقت تنفيذه.

تم التعديل في بواسطة بلال زيادة
رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

مرحبا احمد،

إن طريقة التواصل بين تقنيات واجهة المستخدم front-end و المخدم back-end تتم عن طريق طلب الروابط URL، واستخدام بروتوكول HTTP مع الطرائق الخاصة به، GET, POST, DELETE, PUT.

و عند بناء وتشغيل الموقع (الذي يتكون من node و إحدى التقنيتين) تكون كل منها برنامج منفصل، مخدم خاص ب node، يمكن استخدام express كإطار عمل للمخدم.

و يتم عمل deployment لمشروع angular ويتاح الدخول للموقع عندها من منفذ معين port، أما رياكت هي مكتبة يتم استدعائها و تعمل.

بالتالي لا يوجد اختلاف في طريقة التعامل مع node.js باختلاف المكتبة أو إطار العمل الذي نستخدمه.

يتم جلب البيانات من المخدم بعمل fetch لرابط يحدد مصدر البيانات، او باستخدام مكتبة axios..

يمكن استخدام nodejs لتعمل مع تقنيات أخرى،

وحتى استخدام angular & React مع إطار عمل مخدم مختلف.

ولا تختلف React-Native عن التقنيتين الباقيتين، إنما تقوم بتصدير تطبيق يتصل على المخدم بنفس الطريقة.

 بالتوفيق

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ الآن قال Mohamad Shafiee Jaddini:

مرحباً @Ahmed Sawy

بدايةً يجب الإنتباه إلى أن node.js هي بيئة عمل مخصصة لبناء الـ Back-end باستخدام لغة javascript

بينما لتطوير الـ front-end يوجد العديد من إطارات العمل مثل Angular - VueJs - React .

و النقطة الأهم هي أن المبرمج المحترف عندما يقوم ببناء تطبيقه بشكل احترافي يقوم بفصل كود الـ back-end عن الـ front-end من ناحية الكود ( أي ملفات و مجلدات كود الـ front-end مختلفة عن ملفات و مجلدات الـ back-end ).

و السؤال الآن كيف سنجعلهما يتواصلان مع بعضهما ؟

الإجابة: لنفترض وجود عشرات الطلاب من مختلف دول العالم يدرسون في نفس الجامعة، كيف سيتواصل الهندي مع العربي و الأسباني مع الصيني مثلاً ؟بكل بساطة سيتواصلون بلغة مشتركة فيما بينهم وهي اللغة الإنكليزية.

بنفس الشكل إذا كان لدينا عدة تطبيقات و كل تطبيق مبني بلغة/مكتبة/إطار عمل معين كيف ستتخاطب مع بعضها؟ ستتخاطب و تتبادل البيانات عن طريق ما يدعى بالـ API - Application Programming Interface و هي عبارة عن آلية لتخاطب التطبيقات مع بعضها عبر تبادل البيانات ضمن صيغة JSON 

وهذا مثال عن بيانات بصيغة JSON:


{
    "name":"John",
    "age":31,
    "city":"New York"
}

إذاً الخلاصة: الـ back-end في الـ Frameworks مستقل عن الـ front-end و يتخاطبان بينهما عن طريق APIs، وبالتالي إن تغيرت لغة أو إطار عمل أحدهما لن تؤثر على الآخر، فإذا جائك شخص ياباني أو هندي فإنك لن تهتم للغته الأم لأنك بالحالتين ستتحدث معه باللغة الإنكليزية.

كذلك بالنسبة لك إذا اخترت للـ front -end أي من الفريموركس المذكورة أو لغات تطوير أخرى فإن ذلك لن يؤثر على عمل الـ back-end في حالتك هذه node.js .

شكرا لك ي محمد والله انك قد افدتنى حقا .. شكرا لك ي صديقى 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...