السلام عليكم و رحمة الله و بركاته
انا محتار في هذه frameworks لا اعرف مميزاتها و لا اعرف عيوبها و لو كان فيو او ريكت هو الافضل هل اقدر اصبح MEAN ام فقط بالانقلر ؟؟
السلام عليكم
اخي اكبر خطأ انك تفكر كثيراً في تحديد الفريمورك الذي تختاره فأنت تضيع وقتك دائماً في عالم البرمجة اذا كنت امام متشابهات تؤدي نفس الغرض تعلم اي واحد منها واعمل به مالم يطلب منك العميل واحداً بعينه اما بالنسبة الى ان تكون MEAN Stack developer
فيلزم عليك ان تتعلم الAngular.
بالنسبة للعيوب والمميزات لكل framework:
Angular:
المميزات:
1.استخدام الMVC.
2.بتستخدم نظام الmodules.
3.تسهيل عملية ادارة الcomponents فحتى لو في مبرمج التحق بالفريق بعد بداية عملية التطوير حيقدر يفهم ويندمج بسهولة.
4.بتستخدم الDependency Injection.
5.استخدامها للtype script مما يعني زيادة نظافة الكود .
العيوب:
1.فيها مشاكل في موضوع الseo والوصول الى زواحف جوجل.
2.بتعتبر معقدة وصعبة التعلم حسب اراء العديد من المبرمجين ومنهم اسامة الزيرو.
React:
المميزات:
1.استخدام الMVC.
2.استخدام الJSx و ده بيخلينا نكتب الHTML مباشرة داخل اكواد الجافا سكربت
مثال:
const myelement = React.createElement('h1', {}, 'I do not use JSX!');
ReactDOM.render(myelement, document.getElementById('root'));
3.الVirtual DOM: وهو عن شجرة DOM افتراضية يتم انشاؤها وتخزينها في المخدم.
4.Server-side Rendering و يعني عملية تحويل اكواد الجافا سكربت الى HTML في المخدم مما يحسن ظهور الموقع
او ما يعرف بال seo.
1.تحسين عملية التحديثات وتسريعها.
2.JSX يجعل قراءة المكونات /blocks اسهل. ويعرض كيفية توصيل المكونات أو دمجها.
3.من السهل بناء واجهة تفاعلية مميزة باستخدام الرياكت، حيث تعتمد على الحالة في التنقل بين العناصر، يمكن بناء View لكل حالة تمر بها البيانات وستقوم الرياكت بالتنقل بمرونة بين الحالات عند حصول أي تغيير للبيانات، مما يجعلها توفر الكثير من العناء والجهد في بناء واجهات تفاعلية.
4.تعتمد واجهات الرياكت على ترتيب مجموعة من المكونات المبنية بشكلٍ منفصل لتشكيل الواجهة، حيث يكون لكل مكون Component قواعده البرمجية الخاصة وحالاته وتفاعله مع البقية ويمكن بسهولة إعادة استخدامه في أي واجهة أخرى، وبما أن المكونات تبنى عن طريق لغة جافا سكريبت؛ فهذا يجعل من السهل تمرير ما يلزم من البيانات للمكونات وهذا بديل جيد لاستخدام القوالب الجاهزة.
5.يوضح الموقع الرسمي للرياكت إمكانية إعادة استخدامها في أماكن مختلفة، حيث يكفي أن تتعلم القواعد الأساسية لاستخدامها لتتمكن من بناء واجهات مرنة للمواقع الإلكترونية والانتقال لبناء برمجيات تتعلق بالسيرفر عن طريق استخدام Node، وأيضًا بناء تطبيقات موبايل قوية لمختلف المنصات عن طريق React Native.
العيوب:
1.حتحتاج انك تتعلم حاجات جديدة كل شوية لأن البيئة بتتغير بسرعة والشيء ده ممكن يكون صعب على بعض المبرمجين.
2.بما انها بتتغير بسرعة كبيرة فهي عندها مشكلة في التوثيق لأنهم كل شوية بيغيرو في البيئة بتاعتها.
3.الReact بتغطي الUI فقط لذلك ستحتاج لاستخدام تقنيات اخرى.
4.بعض المبرمجين بيشكو من صعوبة تعلم الJSX وبيعتبروه حاجز بينهم وبين الReact.
vue:
المميزات:
1.يوفر VueJs طريقة تصريحية وسهلة القراءة لعرض المشاهد (Views) وذلك بالإعتماد على قوالب HTML منكهة بالجافا سكريبت.
2.سهلة التعلم جداً.
3.توثيق موجز .
4.توجد مجتمعات خاصة بالvue ستساعدك ان واجهت اي مشكلة.
العيوب:
1.الvue اصلاً اتعمل بواسطة مبرمج صيني لذلك بيتم استخدامه بكثرة عكس الاثنين الاخرين ولكن المشكلة هي حاجز اللغة حيث انك
ستجد ان عدداً كبيراً من النقاشات او التعليمات الخاصة بالفيو والموجودة على الانترنت باللغة الصينية.
2.حتواجهك مشاكل لو احتجت للدعم الفني في المشاريع الكبيرة بعكس الفريمورك الاتنين الاخرين وده بيرجع الى ان الفيو
لسة فريمورك شاب وعدد فريق التطوير صغير مقارنة بالاثنين التانيين.
3.قلة المبرمجين الخبراء المتخصصين في هذا الفريمورك.
التعليقات