السلام عليكم
أنا مبتدأ في تطوير تطبيقات الواب، و لقد أعجبتني سرعة تصفح موقع أكاديمية كورتابز وسلاسة التعامل معه بخلاف الكثير من المنصات التعليمية، وكنت أتساءل عن اللغة و إطار العمل المستخدم في بناءه، هل هي بايثون Python مع جانقو Django أو فلاسك Flask، أو الجافا او PHP ، أو Node.js، …إلخ
أرجو من مطوري الأكاديمية أن يعطونا لمحة عن التقنية المستخدمة في بناءها أو أي إرشادات أخرى لجعل أي موقع يتفاعل بسلاسة، لأني أريد أن أتعلم التقنيات التي ستسمح لي بإذن الله ببناء تطبيقات ذات جودة عالية مثل الأكاديمية.
لكم جزيل الشكر على المجهود و العمل الرائع الذي تقدمونه لدعم المحتوى العربي التقني.
عليكم السلام
تم بناء واجهة المستخدم بواسطة إطار عمل Vue.js الذي يسمح ببناء تطبيقات بأسلوب Single Page App أو كما يُعرف بـ SPA، وأحد أبرز مزايا هذا الأسلوب تصفح سريع للموقع وتنقل سلس بين صفحاته
يُخّدم ملفات واجهة المستخدم إطار عمل Express.js الذي يعمل على Node.js
هناك العديد من أطر العمل التي تسمح ببناء تطبيقات بأسلوب SPA مثل React.js, Angular.js وغيرها الكثير، بإمكانك استخدام المناسب منها لك
رائع!!! و شكرا جزيلا @LouayH على الرد و التفصيل.
كنت بالفعل بدأت بتعلم Vue.js منذ مدة، وقد أنشأت تطبيقا صغيرا بإستخدامه، وهو أول إطار عمل JS اتعلمه و اتعامل معه وقد أعجني جدا من حيث سهولته، لكن كنت دائما متردد و متحير هل سيكون الأفضل لبناء تطبيقات كبيرة نسبيا، وهل يستحق الإستثمار في تعلمه، لكن الآن بعد أن علمت أنكم تستخدمونه في الأكاديمية، اطمأننت، وأنا مستعد لبذل المزيد من الجهد و الوقت لإحترافه بإذن الله.
وعليكم السلام
بالنسبة للباك فا قمنا باستخدام اطار العمل Django مع Django Rest Framework لبناء RESTful API.
واستخدمنا Docker ل Containerizing الفرونت والباك وطبعا nginx للربط بينهما. في ال Deploy نحن نستعمل AWS Elasticbeanstalk و نستخدم AWS S3 لتخزين واستعادة الوسائط المتعددة.
شكرا @ahmedalrifai على الرد و التفصيل، صار الآن لدي تصور عام حول ما يجب علي تعلمه لبناء تطبيقات واب متكاملة.
هناك شيء فقط لم يتضح لي بعد، من إجابة الأخ @LouayH اعتقدت أن الباك-أند مبني ب Node.js+Express.js لكن يبدو أني لم أفهم جيدا دور Node هنا، بما أن الباك-أند مبني بالجانقو، أرجو مزيدا من التوضيح من فضلكم.
لهذا السبب لم أتطرق للتقنيات المستخدمة في الـ Backend
عندما تقوم بعمل Build لتطبيق Vue.js الخاص بك، ستحتاج إلى سيرفر HTTP لتشغيل كافة خصائص الـ Single Page App - SPA
وهنا لديك الكثير من الخيارات مثل Nginx ،Node أو حتى Apache.
سيرفر الـ HTTP في هذه الحالة مسؤول عن تخديم ملفات التطبيق التي تحصل عليها بعد عملية الـ Build.
ويبقى الخيار لك في استخدام نفس سيرفر الـ Node لإدارة الـ Backend، أو الاعتماد على تقنية أخرى مثل Laravel, Lumen, Django أو Flask.
ليس شرطًا أن تأخذ تجربة الأكاديمية كمثال لك، فتكاليف تشغيل هذه التقنيات معًا مرتفعة بالمقارنة مع خيارات أخرى.
شكرا أخ لؤي على مزيد التوضيح.
هل المقصود بهذا ما نحصل عليه عند تشغيل الأمر: npm run serve
؟
معذرة على كثرة الأسئلة، فأنا أحاول ربط الخيوط
صحيح… الفرق أن هذا الأمر يعمل في مرحلة development لكن في مرحلة production عليك أن تتولى هذه الأمور بنفسك