من فضلك تسجيل الدخول أو تسجيل لتفعل ذلك.

في عام 2014، وجد ملايين مطوري الواجهات الأمامية أنفسهم أمام خيار صعب عندما قررت «جوجل» إهمال إطار عمل JavaScript الشهير AngularJS لصالح Angular 2. لم يكن هذا مجرد تحديث عادي، بل كان تحولًا جذريًا في بنية الإطار، مصحوبًا باسم مربك، وعدم وجود مسار واضح للترقية، بالإضافة إلى أن Angular 2 لم يكن قد صدر بالكامل بعد. هذا الوضع دفع العديد من المطورين للبحث عن بدائل مثل React أو Vue.js.

في مؤتمر All Things Open الأسبوع الماضي، قدم ستيفن فلوين، مهندس برمجيات سابق في «جوجل» وعمل على مشروع Angular، رؤى حول كيفية تعثر «جوجل» في هذه الترقية، وكشف عن دروس مهمة حول كيفية عدم تحديث حزمة برمجية. قال فلوين: «الشك يقتل الحافز. عندما تأخذ كل ما يعرفه المطورون ويحبونه، سيشعرون بالإحباط».

رحلة محفوفة بالمخاطر

كان لدى «جوجل» أسباب وجيهة لتحديث Angular. تم نقل فريق AngularJS من قسم البنية التحتية إلى قسم الإعلانات، مما تطلب المزيد من الدقة والقوة لدعم العمليات الضخمة. AngularJS الأصلي، الذي أطلقه مهندس «جوجل» ميشكو هيفري في عام 2009 كمشروع جانبي، اكتسب شعبية سريعة. ومع ذلك، كان يعتمد على نموذج تحكم تقليدي يتعامل مع جميع مدخلات المستخدم والمنطق ونقل البيانات تحت كائن $scope في JavaScript.

جاء Angular 2، الذي أُعلن عنه في مؤتمر ng-europe 2014، بتحول معماري كبير. انتقل إلى نموذج المكونات (component model)، حيث يتمتع كل قالب HTML بخصائصه الخاصة. بعد فترة من العمل مع Dart، أعاد الفريق كتابة Angular بالكامل بلغة TypeScript، دون أي توافق عكسي على الإطلاق.

كان العرض التقديمي في ng-europe 2014 سيئ السمعة. فبدلاً من إلهام المطورين، أثار العرض قلقهم، حيث عرض المتحدثون رسومًا بيانية لشواهد قبور لكل ميزة تم التخلي عنها («RIP Controllers») وشغلوا تسجيلًا لأجراس الكنيسة في الخلفية. قال فلوين: «لا يزال ذلك الحديث سيئ السمعة حتى اليوم بسبب ما فعله بالمجتمع».

مشكلة التسمية والدروس المستفادة

إحدى أكبر المشكلات كانت تتعلق بالتسمية والإصدار. هل AngularJS يختلف عن Angular 2؟ وهل «2» جزء من اسم Angular يشير إلى التحول المعماري الكامل، أم أنه رقم الإصدار؟ أدى هذا الغموض إلى تشتت المجتمع. في استطلاع State of JS لعام 2016، كان React هو إطار عمل الواجهة الأمامية الأكثر شعبية، بينما كان جمهور Angular منقسمًا بشكل كبير بين الإصدار الكلاسيكي و Angular 2.

نرى أن «جوجل» ربما كانت أفضل حالًا لو أعطت Angular 2 اسمًا مختلفًا تمامًا، حتى لو كان ذلك يعني بناء قاعدة مستخدمين جديدة من الصفر. اليوم، استقر Angular على نمط تحديث أكثر قابلية للتنبؤ وسهولة في الاستخدام، مع إصدارات روتينية مرتين سنويًا تتبع إرشادات الإصدار الدلالي. وقبل كل إصدار عام، تقوم «جوجل» باختبار الإصدار الجديد من الإطار على تطبيقاتها الخاصة.

ما يعنيه هذا للمطورين هو أن التخطيط الدقيق للتحولات الكبيرة، والتواصل الواضح والمبكر مع المجتمع، وتوفير مسارات ترقية سلسة، أمور حاسمة لنجاح أي تحديث لإطار عمل. إن التجاهل لهذه الجوانب يمكن أن يدفع المطورين للبحث عن بدائل، حتى لو كان المنتج الجديد يقدم تحسينات تقنية كبيرة.

المصدر: theregister.com

وكلاء AI ومستقبل مقابلة البرمجة: رأي مهندس Anthropic
«جوجل ديب مايند» تُطلق Gemini 4 Carbon للأمن السيبراني

Reactions

0
0
0
0
0
0
بالفعل كان رد فعل لهذا المنصب.

ردود الفعل