مرحباً @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 .