ما هي التقنية المستخدمة في بناء أكاديمية كورتابز؟

السلام عليكم
أنا مبتدأ في تطوير تطبيقات الواب، و لقد أعجبتني سرعة تصفح موقع أكاديمية كورتابز وسلاسة التعامل معه بخلاف الكثير من المنصات التعليمية، وكنت أتساءل عن اللغة و إطار العمل المستخدم في بناءه، هل هي بايثون Python مع جانقو Django أو فلاسك Flask، أو الجافا او PHP ، أو Node.js، …إلخ
أرجو من مطوري الأكاديمية أن يعطونا لمحة عن التقنية المستخدمة في بناءها أو أي إرشادات أخرى لجعل أي موقع يتفاعل بسلاسة، لأني أريد أن أتعلم التقنيات التي ستسمح لي بإذن الله ببناء تطبيقات ذات جودة عالية مثل الأكاديمية.
لكم جزيل الشكر على المجهود و العمل الرائع الذي تقدمونه لدعم المحتوى العربي التقني.

4 Likes

عليكم السلام

تم بناء واجهة المستخدم بواسطة إطار عمل Vue.js الذي يسمح ببناء تطبيقات بأسلوب Single Page App أو كما يُعرف بـ SPA، وأحد أبرز مزايا هذا الأسلوب تصفح سريع للموقع وتنقل سلس بين صفحاته

يُخّدم ملفات واجهة المستخدم إطار عمل Express.js الذي يعمل على Node.js

هناك العديد من أطر العمل التي تسمح ببناء تطبيقات بأسلوب SPA مثل React.js, Angular.js وغيرها الكثير، بإمكانك استخدام المناسب منها لك

4 Likes

رائع!!! و شكرا جزيلا @LouayH على الرد و التفصيل.
كنت بالفعل بدأت بتعلم Vue.js منذ مدة، وقد أنشأت تطبيقا صغيرا بإستخدامه، وهو أول إطار عمل JS اتعلمه و اتعامل معه وقد أعجني جدا من حيث سهولته، لكن كنت دائما متردد و متحير هل سيكون الأفضل لبناء تطبيقات كبيرة نسبيا، وهل يستحق الإستثمار في تعلمه، لكن الآن بعد أن علمت أنكم تستخدمونه في الأكاديمية، اطمأننت، وأنا مستعد لبذل المزيد من الجهد و الوقت لإحترافه بإذن الله.

2 Likes

وعليكم السلام
بالنسبة للباك فا قمنا باستخدام اطار العمل Django مع Django Rest Framework لبناء RESTful API.
واستخدمنا Docker ل Containerizing الفرونت والباك وطبعا nginx للربط بينهما. في ال Deploy نحن نستعمل AWS Elasticbeanstalk و نستخدم AWS S3 لتخزين واستعادة الوسائط المتعددة.

7 Likes

شكرا @ahmedalrifai على الرد و التفصيل، صار الآن لدي تصور عام حول ما يجب علي تعلمه لبناء تطبيقات واب متكاملة.
هناك شيء فقط لم يتضح لي بعد، من إجابة الأخ @LouayH اعتقدت أن الباك-أند مبني ب Node.js+Express.js لكن يبدو أني لم أفهم جيدا دور Node هنا، بما أن الباك-أند مبني بالجانقو، أرجو مزيدا من التوضيح من فضلكم.

2 Likes

لهذا السبب لم أتطرق للتقنيات المستخدمة في الـ Backend :grin:

عندما تقوم بعمل Build لتطبيق Vue.js الخاص بك، ستحتاج إلى سيرفر HTTP لتشغيل كافة خصائص الـ Single Page App - SPA وهنا لديك الكثير من الخيارات مثل Nginx ،Node أو حتى Apache.

سيرفر الـ HTTP في هذه الحالة مسؤول عن تخديم ملفات التطبيق التي تحصل عليها بعد عملية الـ Build.

ويبقى الخيار لك في استخدام نفس سيرفر الـ Node لإدارة الـ Backend، أو الاعتماد على تقنية أخرى مثل Laravel, Lumen, Django أو Flask.

2 Likes

ليس شرطًا أن تأخذ تجربة الأكاديمية كمثال لك، فتكاليف تشغيل هذه التقنيات معًا مرتفعة بالمقارنة مع خيارات أخرى.

2 Likes

شكرا أخ لؤي على مزيد التوضيح.

هل المقصود بهذا ما نحصل عليه عند تشغيل الأمر: npm run serve ؟
معذرة على كثرة الأسئلة، فأنا أحاول ربط الخيوط :thinking: :sweat_smile:

2 Likes

صحيح… الفرق أن هذا الأمر يعمل في مرحلة development لكن في مرحلة production عليك أن تتولى هذه الأمور بنفسك

2 Likes