سؤال

حسنًا ، أعلم أنها معاينة ، وأنا أعلم أنها تقول إنها ليست جاهزة للإنتاج ، ومع ذلك أجرؤ على طرح السؤال.

أحتاج إلى البدء في بناء تطبيق كبير جدًا ، من المخطط للعيش في حوالي Sep-Oct 2010.

لنفترض أنني لن أصدر التطبيق إلى الإنتاج حتى يتم إصدار الإصدار المستقر من Symfony 2.0 - هل هي فكرة جيدة (حسنًا ، سأستقر على فكرة قابلة للحياة) بالنسبة لي لبدء بناء التطبيق باستخدام إصدار 2.0؟ ما هي حجم الفرصة التي سأحتاجها إلى إعادة كتابة/استبدال الكود الذي كتبته بسبب التغييرات الأساسية في الإطار؟

شكرًا.

تحرير: الخيار الآخر الآن ، هو استخدام Symfony 1.4.
لقد فكرت وحاولت Zend Framework ، لكنني أرفض إعادة اختراع كل وحدة ، الأمر الذي سيكلفني الكثير من ساعات البرمجة (إن لم يكن أيام/أسابيع).

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

المحلول

من عرض Fabien لـ Symfony 2 في Symfony Live: استخدم Symfony 1.4 لمشروعك القادم.

من صفحة Symfony 2 Github: ستتغير الأشياء.

الآن ضع في اعتبارك ما يلي:

  • سيتم دعم Symfony 1.4 حتى أواخر عام 2012 ، أي بعد عامين من إصدار مشروعك
  • لا يحتوي Symfony 2 على توليد الكود ، والنماذج ، واختبارات الوحدة ، وما إلى ذلك ، لذا فإن كل ما ستقوم به للتستر على هذه الحقول ، يجب عليك إعادة البيع عندما تأتي الطرق الرسمية (التي تجيب على سؤالك الثاني)

لذلك كما قال الجميع بالفعل هنا ، اذهب إلى 1.4

نصائح أخرى

Symfony 1.3 أو 1.4 هو الخيار الصحيح في الوقت الحالي. 1.3 إذا كنت قد استخدمت Symfony 1.0 من قبل ، 1.4 إذا لم يكن كذلك. أنا شخصياً لست من محبي From-Framework في Symfony 1.1+ لأسباب عديدة ، ولكن قد تجدها مقبولة تمامًا. هذا خيار شخصي ، إذن.

Symfony 2.0 ليست مستقرة ، والعديد من الميزات التي تقدمها ليست تلك التي من شأنها أن تهتم حقًا بالمطور ، في هذه المرحلة على الأقل. ومع ذلك ، فإن SF2.0 هو تمرين مثير للإعجاب في صنع الجيل القادم من أطر الويب ؛ ولكن ، ليس في جعل المواقع التي تصنعها أكثر غنية بالميزات أو أسهل في التطور. قد يجعلها أسرع وأكثر أناقة تحت الغطاء ، ولكن هذه ليست بالضرورة الميزة الأساسية لإطار عمل للمطور. مثال على ذلك هو حقن التبعية. إنه تجريد إضافي لمكونات Symfony Core الممتازة بالفعل ، وتضمينه يزيد فقط من احترامي لفريق Symfony Core والتقدم - ولكن بالنسبة للمستخدم النهائي ، ربما يترك العديد من رؤوسهم على الميزة.

الميزة الرئيسية ل Symfony بمجرد أن تقدر الإطار الأساسي هو المجتمع والمكونات الإضافية ، وهذا أعتقد أنه Sealbreaker لـ SF2.0 في الوقت الحالي. نعم ، أعلم أنه تم تصميمه بشكل أساسي من "الإضافات" ، لكنك ستفتقر إلى العديد من الإضافات الحاسمة التي أنا متأكد منها ، وإما أن تكتبها بنفسك أو تكيفها لتلائمها. هذا هو السبب في أنك ترفض إطار Zend.

لا يزال ، فقط رأيي. لقد كنت مطور Symfony 1.0 و 1.1 (معظمه 1.0) لأكثر من 3 سنوات ، وما زال لم يخذلني.

هذا سؤال مليون دولار يا صديقي. إنها مقامرة وبسيطة وبسيطة. لقد استخدمت عددًا من PHP MVC's (Cake و Zend و Symfony) وكلها تعمل بنفس الطريقة تقريبًا. ما هو لطيف في Symfony هو التركيز على أن تكون وحدات ، وليس إعادة اختراع العجلة وسهولة الاستخدام.

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

كما قلت ، لا أعرف مدى جودة المقاييس أو الخروج ولكنها أسرع من Cakephp أو Zend. إنها مقامرة بغض النظر عن الإطار الذي تختاره ، لذلك ، حظًا سعيدًا.

ما لم يكن هناك شيء محدد في Symfony 2.0 التي تحتاجها لتطبيقك ، أقترح أن تذهب مع 1.4 وتعمل مع إصدار مستقر من Get-Go. من ما أفهمه ، قد لا يكون Symfony 2.0 خارجًا حتى نهاية العام. سيتم دعم Symfony 1.4 رسميًا حتى نهاية عام 2012 ، مما يترك لك متسعًا من الوقت للترقية/إعادة كتابة 2.0 لاحقًا ، إذا كنت ترغب في ذلك.

لقد جربت Symfony 2 لمدة أسبوع الآن (أنا متفرغ متفرغ النمو) وهنا الأسباب الرئيسية التي تجعلك تستمر في استخدام Symfony 1.x قبل الترحيل إلى 2.0:

  • غصين غير مستقر. لا يمكنك استخدام form_render ، form_error ، وما إلى ذلك ، لكن من السهل جدًا استخدام عرض PHP!
  • الحصول على ثقافة المستخدم (لغة) هو ألم في **.
  • قوالب PHP ليست ممتعة مثل الغصين للرمز. مثال على وظيفة الترجمة هذه:
    • بي أتش بي: <?php echo $view['translator']->trans('text') ?>
    • غصين: {% trans 'text' %}
  • وثائق سيئة

لا يبدو الأمر سيئًا مثل هذا ، لكن ثق بي ... يستغرق الأمر الكثير من الوقت لتصحيح تلك الأشياء لأدرك في النهاية أنه من الخطأ داخل Symfony 2 نفسه.

بحلول الوقت الذي تحرر فيه مشروعك ، من المحتمل ألا يكون الإصدار 2.0 مستقرًا على أي حال. والنظر في أن الإصدار 1.4 لديه دعم طويل لمدة 3 سنوات ، والتي يمكنك الاعتماد عليها إذا كنت تبدأ مشروع جديد. بخلاف ذلك ، مع Symfony 2.0 ، لن تكون الأمور هي نفسها :) ستكون مختلفة كثيرًا عن الإصدارات الحالية. قد لا تحب ذلك :) أو قد لا يكون مناسبًا لمشروعك.

أو يمكنك فقط استخدام الليثيوم ... كما تعلمون ، إنه أفضل من جميع الأطر على الصفحة المذكورة ... لكن السؤال يتعلق بالاستعداد V2.0 ليس حول الكعك أو الأطر الأخرى (كما ذكرت المشاركات الأخرى ، على الرغم من أنني احسبت أن أحصل على ضربة بلدي أيضا).

أنا شخصياً أرغب في استخدام 2.0 في مشروع رئيسي ، لكن من المحتمل أن يتحول ليس بسبب الخوف (دائمًا سبب سيء).

وجهة نظري هي هذا. لا شيء مستقر. ولا حتى 1.4. كل شيء في هذا العالم يخضع للتغيير وهناك دائمًا تصحيحات وإصلاحات لكل شيء. إذا لم نستخدم برنامج Beta/Alpha ، خاصة في مجتمع مفتوح المصدر ، فلن نتقدم أبدًا.

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

نهاية اليوم إنها عملك. لا تدع أي شخص يخبرك أبدًا كيف تفعل ذلك. أنت تفعل ذلك كيف تريد.

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