سؤال

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

نحن نفكر في استخدام إطار ASP.NET MVC و jQuery ، لكنني أتساءل عما إذا كان هذا اختيارًا جيدًا. ربما لن يرغب العميل في قضاء وقت إضافي وأموال على الطريق لأن JavaScript ، ومعايير المتصفح ، إلخ.

ما هو الخيار الأفضل لتقليل فرص التطبيق الذي يتطلب الصيانة على مدار السنوات الست القادمة؟

هل كانت مفيدة؟

المحلول

ربما لن يرغب العميل في قضاء وقت إضافي وأموال على الطريق لأن JavaScript ، ومعايير المتصفح ، وما إلى ذلك قد تغيرت.

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

أفترض أن هذا تطبيق intranet ، وليس تطبيقًا عامًا (تواجه الإنترنت). لأنه إذا كان إنترانت ، أعتقد أن 6 سنوات غير واقعي ، ولكن من المحتمل أن يكون وضع الفشل حميدًا إلى حد ما. لكن الإنترنت ، 6 سنوات ولا تحديثات أمنية للتطبيق نفسه - لا ، لن أشارك في ذلك لتجنب إتلاف سمعتي المهنية.

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

من أجل الحجة ، على افتراض أن الطلب يجب "تجميده" لمدة 6 سنوات:

أود بالطبع لا استخدم JavaScript على أي شيء من المفترض أن يستمر 4+ أجيال متصفح. أعتقد أن jQuery رائع ، لكن ... لا توجد طريقة ، تتغير محركات JavaScript بسرعة كبيرة. للإخراج ، أود التمسك به فقط:

  • HTML 4.01 Strict & CSS 2 (كنت أفكر في XHTML 1.0 Strict ، والذي تم تغييره بشكل أساسي HTML 4.01 الصارم لتتوافق مع قواعد XML. لكن HTML 4.01 لديه أكبر قاعدة مثبتة ، وأنا لست من محبي XML. إنها مكالمة حكم.)
  • PNG & GIF.

فيما يتعلق بالحفاظ على شيء ثابت ، هذا الناتج البسيط هو ربما أكبر فوز واحد.

لبيئة الخادم ، سأحاول تحديد Windows 2008 R2 ؛ .NET 4.0 و ASP.NET MVC 2 ، وتكوين خادم "قرب المجمد" (أي تحديثات الأمان فقط). يجب أن يكون لنظام التشغيل Windows 2008 R2 الدعم الممتد لوجوده 10 سنوات من الان. الجيل السابق (Win 2008 ، .NET 3.5SP1 و MVC 1.0) سيعمل أيضًا ؛ لكن ASP.NET MVC 2 تبدو لطيفة للغاية ، لذلك أفضل استخدام ذلك في عامل FunFactor الشخصي.

ستكون المشاريع الكبيرة مفتوحة المصدر مع سجل حافل من "الوجود هناك" على ما يرام أيضًا - nhibernate ، nunit ، structuremap et cetera.

أوه ، ودعوة جيدة على استخدام ASP.NET. لا تزال Microsoft جيدة في الحفاظ على التوافق المتخلف وإصلاحات الأمان الخلفية. ASP.NET و Java هما البيئتان الوحيدتان اللتان أفكر فيهما لشيء من هذا القبيل.

نصائح أخرى

ربما لن تقلق بشأن ذلك. يوجد مثل هذا الاستثمار الضخم في العمل مع JQuery من العديد من الشركات الكبيرة التي أشك في أنك ستواجه هذه الأنواع من القضايا. من المحتمل أن تكون الويب محكوم عليها دائمًا بالبقاء متخلفًا عن التوافق (وهذا يعني مع الأشياء التي ظهرت قبل 10 سنوات اليوم) لذلك أظن أن تطبيقك القائم على jQuery يجب أن يكون جيدًا. إذا حصلت على ما يسير على ما يرام مع IE7/8 ، أحدث Firefox ، و Safari ، فيجب أن تكون على ما يرام. هذا هو ، إذا لم يكن ذلك كافيًا ، فربما لن يكون هناك حل آخر يعتمد على الويب.

لكنني بالتأكيد أوصي باستخدام jQuery لإخفائك من العديد من المشكلات المحددة للمتصفح من حيث تفاعل JavaScript. بقدر ASP.NET MVC ، مرة أخرى هي منصة قوية للغاية أعتقد أن العديد من المؤسسات ستستمر في دعمها لسنوات قادمة.

بالنسبة إلى jQuery ، لا تقلق ، كما قال Bobbyshaftoe.

بالنسبة لـ ASP.NET MVC ، لن تموت قريبًا ؛ ومع ذلك ، نظرًا لأنها تقنية صغيرة جدًا ومن المحتمل أن تتغير بشكل متكرر في الإصدارات الأولى ، فقد يكون من المتوقع أن تكون مشاكل الصيانة.

الشيء نفسه الذي كان يحدث مع Rails: تطبيق مكتوب مع Rails 1.x يحتاج إلى بعض التغييرات في العمل Th Rails 2.x.

قد تكون هذه مشكلة أم لا: تطبيق مكتوب مع Rails 1.x سيستمر في العمل مع Rails 1.x ، وسيستمر تطبيق مكتوب مع MVC 1 العمل مع MVC 1.

أعتقد أنه لا يزال من السابق لأوانه تحديد مقدار MVC 2 سوف يختلف عن MVC 1: MVC 2 Preview 2 ، ولكن يجب الإشارة إلى أن العديد من الفئات والطرق والواجهات وما إلى ذلك. تم تغيير الاسم والسلوك عدة مرات بين MVC 1 RC1 ، MVC1 RC2 إلخ

من ناحية أخرى ، إذا كان التطبيق الخاص بك معقدًا بما فيه الكفاية ، فقد لا يزال استخدام MVC هو الخيار الصحيح ، حتى بالنظر إلى الجهد الإضافي اللازم للتحديث للإصدارات الأحدث (وهو عادة ما يكون كبيرًا جدًا): يكون تطبيق MVC أكثر قابلية للصيانة (في رأيي).

أحد الاعتبارات النهائية: يرجى ملاحظة أن 6 سنوات هي وقت طويل للغاية في عالم الويب Wild ، لذلك لا يمكن أن نقول مقدمًا ما الذي سيتغير وما لن يتغير.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top