تجربتي مع Angularjs في البداية كانت صعبة كما هو الحال عند استخدام اي تقنية جديدة ، لم يكن لدي فكرة عن كيفية الفصل بين ال Controllers ال Factories و ال Tempates إلى ان وقعت على صفحة لل angular best practice حينها اصبحت عملية التطوير سهلة ، بعض المشاكل الاخرى هي مع الاعلانات حيث ان اعلانات غوغل لا تعمل مع المحتوى الديناميكي مما كان يؤدي الى عدم ظهورها ايحانا و ظهورها احيانا اخرى ، كذلك عند وجود كلمة ads في اسم ملفات الوقالب يؤدي الى عدم تحميلها في المتصفحات التي تتوفر على ads block مما يؤدي الى خراب الموقع كاملا و ظهور مجموعة من الاخطاء ، كذلك يوجد مشكل الارشفة الذي تعاني منه مواقع ال SPA . في النهاية وجدت انه من الافضل ان اقوم بتطوير عناصر الموقع على شكل Components بدل ان يكون الموقع كاملا مبرمجا ب angularjs ، لذا انتقلت الى reactjs.
كنت استسلم مرارا وتكرارا عند تعلمي react لان طريقة عمل القالبين مختلفة تماما ، Angularjs يعمل بمبدأ MVC ( والذي سيتغير الى Components في النسخة 2 ) ، بينما react يعتمد على ال Components بحيث بالامكان استخدام Component داخل اخرى كما ان الHTML يتم كتابتها داخل كود جافاسكريبت ( ربما ستحاول ان تقول ان ذلك غير منصوح به ) أنا مثلك ظننت ذلك ولكن التعديل على الاكواد يكون اسهل لانهها جميعا في ملف واحد ، بامكانك ايضا استخدام الCSS داخل نفس ملف javascript عن طريق اضافات خاصة ،يوجد الكثير استطيع قوله عن react ، بالنسبة لي react افضل من angular.
طريقة عمل ال Components هو ان كل عنصر من العناصر التي تكون تطبيقك تكون مستقلة بذاتها (جميع الاكواد الخاصة بهاته ال Component توجد في ملف واحد :HTML ،CSS ,JS ) حيث بامكاني التعديل على هاته الComponent او استبدالها دون المساس بعمل الموقع او التأثير على عنصر اخر بالموقع.
معظم التقنيات لجعل SPA تدعم SEO تتطلب الكثير من الوقت و تنصيب مجموعة من البرامج على السرفر ( NodeJS + phantomjs ) ، بالنسبة لغالبية العملاء العرب فهم يتوفرون على استضافة مشتركة و لا نستطيع كمبرمجين ان نفرض عليهم بيئة معينة ، بل علينا ان نعمل داخل ما يفرضه الامر الواقع بعيدا عن الكماليات.
التعليقات