سؤال

أنا أعلم أنني سوف تحصل على ألف "هذا يتوقف على ما كنت تحاول القيام به" إجابات, ولكن على محمل الجد, هناك حقا أي معلومات مؤكدة حول هذا على الإنترنت حتى الآن.هنا هي بلدي الافتراضات - أعتقد أنهم مماثلة على الكثير من الناس الآن:

  1. هو الآن تشرين الأول / أكتوبر 2008.أريد أن أبدأ كتابة طلب كانون الثاني / يناير 2009.وأنا على استعداد لاستخدام بيتا رمز من هذا القبيل ولكن بحلول كانون الثاني / يناير ، أود الموقع الذي لا يكون 'غريب' المشاكل.وقال مع ذلك, إذا كانت اللغة هي مجرد 10 ٪ أبطأ من الآخر, أنا لا أهتم تلك الأشياء طالما أن المسألة هي الخطية.قلقي الرئيسي هو المطور الإنتاجية.
  2. سأكون باستخدام Linux, Apache, MySQL للتطبيق.
  3. لا تريد السلطة أن تفعل أشياء مثل تشغيل scp و عميل ftp وظائف مستقرة مع المكتبات (أنا فقط اختار هذين لأنهم لا الويب ذات الصلة ولكن في نفس الوقت تمثل شائع جدا بروتوكولات الشبكة أن أي أكبر قد يستخدم التطبيق).التقنيات مثل OpenID و أوث سيتم استخدامها كذلك.
  4. مطوري الويب من ذوي الخبرة متوفرة بسهولة (أيأنا لم يكن لديك للعثور على أشخاص من الشركات المالية وكذا).
  5. أيا كان الخيار هو شائع وسوف يكون حول لفترة من الوقت.
  6. وهنا كيكر.أود أن تكون قادرة على استخدام متقدمة طبقة العرض أدوات/لغات مشابهة HAML, ساس.أنا نهائيا ترغب في استخدام مسج.
  7. سوف يكون خلق Facebook التطبيق في مرحلة تفعل أشياء مثل التعامل مع رسائل SMS, تطبيقات آي فون, الخ...

عند هذه النقطة, الخيارات لغة PHP (الكعكة ، Symfony,زند) ، بيثون (جانغو), روبي (Merb).أنا حقا بين جانغو Merb في هذه المرحلة في الغالب لأن الجميع يبدو أن تسير على هذا النحو.

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

للحصول على مراجع في المستقبل - هذه الخيارات كانت بالفعل:

  • ديبيان (ليني) - تحويل دورات وحدة المعالجة المركزية إلى شيء مفيد.تراك
  • 0.11 - لإدارة المشروع Gliffy - على شبكية و هذه
  • مستندات جوجل/تطبيقات - التوثيق استضافت البريد الإلكتروني, الخ...
  • الأمازون ec2/S3 - استضافة التخزين.

الهتافات ، آدم

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

المحلول

هذا يعتمد.

php - Symfony هو إطار عمل رائع.السلبيات:php والكلمات والدليل ثقيل.يصبح الدفع مزعجًا للاستخدام.الإيجابيات:PHP موجود في كل مكان والعمالة رخيصة.إطار جيد الصنع، ودعم جيد.الكثير من الإضافات لتجعل حياتك أسهل

python - Django هو أيضًا إطار عمل رائع.السلبيات:قد يكون من الصعب العثور على مبرمجي بايثون، كما أن العثور على جانغو أصعب.قد يكون تغيير مخطط قاعدة البيانات أمرًا صعبًا إلى حد ما نظرًا لعدم وجود عمليات ترحيل رسمية.لا يعمل mvc تمامًا كما تتوقع.الإيجابيات:يفعل كل ما تحتاجه ولديه مكتبة python std الرائعة والمجتمع الذي يقف وراءه.

روبي - لم أستخدم Merb مطلقًا، لذا سأتحدث عن Rails.الإيجابيات:هناك مكون إضافي أو جوهرة أو وصفة لأي شيء قد ترغب في القيام به تقريبًا.سهل الاستخدام.السلبيات:أحيانًا تفشل هذه المكونات الإضافية والأحجار الكريمة والوصفات في العمل بطرق غامضة.غالبًا ما يكون ترقيع القرد شريرًا.المجتمع هو ..صوتي.برامج ذات آراء، وأحيانًا تكون هذه الآراء خاطئة (عدم وجود مفاتيح خارجية).تبدو لعبة Rails نفسها وكأنها برج من البطاقات التي تنتظر الانفجار وتأخذ ساعات من حياتك.

مع كل ما قيل، أنا مطور مستقل لـ php/symfony وRuby/rails.لقد عملت في العديد من المشاريع باللغتين والأطر.أحدث مشاريعي كان في Rails فقط بفضل ActiveMerchant.لقد كنت أبحث عن سبب لتطوير تطبيق Django لفترة من الوقت.إذا كانت هناك مكتبة مثل ActiveMerchant لـ Django، فمن المحتمل أن أستخدمها.

نصائح أخرى

جانغو!

ابحث عن محادثات DjangoCon على Google/Youtube - وخاصة "التطبيقات القابلة لإعادة الاستخدام" (www.youtube.com/watch?v=A-S0tqpPga4)

لقد كنت أستخدم Django لبعض الوقت، بعد أن بدأت مع Ruby/Rails.لقد وجدت أن الدخول إلى مجتمع Django أسهل (أجمل)، اللغة الموثقة بها ممتاز الأمثلة، ونمطيتها رائعة، خاصة إذا كنت تريد إضافة مكونات مخصصة إلى المزيج، وعدم الاضطرار إلى استخدام أشياء معينة هنا وهناك.

أنا متأكد من أنه من المحتمل أن تكون هناك طرق لتكون بنفس القدر من المرونة مع Rails أو ما شابه، لكنني أشجعك بشدة على إلقاء نظرة طويلة على مقدمات Django، وما إلى ذلك، على http://www.djangoproject.com/

ذكر يوجين أنه وصل الآن إلى الإصدار 1.0 - وبالتالي سيظل قاعدة تعليمات برمجية مستقرة ومتوافقة مع الإصدارات السابقة حتى يناير 2009.

كما أن واجهات الإدارة التلقائية التي ينشئها هي الإنتاج جاهز, ، ومرنة للغاية.

آسف، ولكن سؤالك خاطئ.من المحتمل أن يصوتني الناس ضد هذا ولكني أريد أن أقول ذلك على أي حال:

لا أتوقع أن أحصل على إجابة موضوعية!لماذا؟هذا بسيط:

  • سيطلب جميع المدافعين عن روبي استخدام روبي.
  • سيطلب جميع المدافعين عن بايثون استخدام بايثون.
  • سيطلب جميع المدافعين عن PHP استخدام PHP.
  • أدخل لغات إضافية هنا.

حصلت على الفكرة؟

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

ومع ذلك، سأختار روبي (لأنني من أنصار روبي).

كلهم سوف ينجزون المهمة.

استخدم الشخص الذي تعرفه أنت وفريقك بشكل أكبر

سيكون لهذا تأثير أكبر بكثير على أوقات التسليم واستقرار تطبيقك من أي من المتغيرات الأخرى.

سأختار Django، إذا كنت مرتاحًا لحل Python.إنه الآن في الإصدار 1.0، وينضج بشكل جيد، مع قاعدة مستخدمين كبيرة والعديد من المساهمين.لا يمثل دمج jQuery مشكلة، وقد قمت بذلك دون أية مشكلات.

الشيء الوحيد، بقدر ما أستطيع أن أقول، هو أن روبي أكثر شيوعًا في تطوير الويب هذه الأيام، لذلك من الأسهل العثور على مطوري روبي.أحصل على هذا الانطباع من تصفح إعلانات الوظائف الأخيرة - لا يوجد الكثير منها لـ Python أو Django.لا أعرف الكثير عن ميرب، لذا لا أستطيع تقديم مقارنة عادلة.

لقد قمت بما يكفي من PHP حتى لا أوصي ببدء مشروع جديد بها.

بناءً على أسبابك، سأختار روبي.أرى أنك تريد بعض أدوات الإدارة (scp، عميل ftp) وأن روبي تمتلكها (مكتبات net/sftp وnet/ftp).

أيضًا، هناك جواهر رائعة مثل God لمراقبة نظامك، وVlad the Deployer للنشر، وما إلى ذلك.وهناك الكثير من البدائل في مجال Merb، فقط استخدم ما تجده أفضل لاحتياجاتك (Thin، Mongrel، ebb، إلخ).

للتعرف على مكان وجود نظام Django البيئي حاليًا، قد ترغب في التحقق من ذلك

يجب أن أستهل هذا بالاتفاق مع أوريون إدواردز، اختر الشخص الذي يعرفه فريقك أكثر.

ومع ذلك، يجب أن أشير أيضًا إلى النقص الغريب في لغات ASP.NET في قائمتك.ليس لاستفزاز الجيش المتعصب العظيم، لكن أين اللحم البقري؟.NET عبارة عن منصة تطوير مستقرة وسريعة ويتزايد حجم العمالة يوميًا.VB.NET وC# عبارة عن مجموعات مهارات قابلة للنقل، وهذا يمكن أن يعني الكثير عندما تقوم ببناء فريق من المطورين للعمل على مجموعة متنوعة من المهام.يسمح لك .NET أيضًا بفصل طبقة العرض التقديمي عن رمز الواجهة الخلفية، مثل اللغات الأخرى، ولكنه يسمح لك أيضًا بإظهار رمز الواجهة الخلفية هذا كخدمة ويب لأشياء مثل تطبيقات iPhone وFacebook.

خذ كل اقتراح بحذر، واختر ما يناسب التطبيق بشكل أفضل.قم بالبحث والتصميم من أجل الوظيفة وليس المتعصبين.

تنصل:كان مطور PHP وColdFusion وPerl.فليكس متعصب، ومحب أدوبي.الآن أكتب تطبيقات .NET الخاصة بالمؤسسة.;)

لا تنسَ Mono، الذي سيتيح لك تشغيل .NET تحت *nix.لا أقصد أن الأمر سيكون مثاليًا، فقط ألعب دور محامي الشيطان.

لا تتعثر في عقلية تخطيط الصفحة من جانب الخادم.فكر في تقنيات مثل SproutCore أو GWT أو ExtJS التي تضع كود التخطيط بالكامل على العميل، مما يجعل الخادم مسؤولاً فقط عن تنظيم البيانات ومعالجتها (واستبدالها بسهولة).

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

بعد أن قمت ببناء تطبيقات في Django، أستطيع أن أشهد على فائدتها.لو كانت جميع الأطر أنيقة بنفس القدر (نعم يا ربيع، أنا أنظر إليك).

ومع ذلك، فيما يتعلق بالمراهنة على المزرعة على Django، هناك شيء واحد عليك أن تأخذه بعين الاعتبار وهو أن Python 3 سيتم إصداره قريبًا.Python 3 غير متوافق مع الإصدارات السابقة وهناك خطر من أن يؤدي إلى شوكة اللغة وينتهي به الأمر إلى إبطاء الزخم لجميع مشاريع Python أثناء تعاملها مع التداعيات.لكي نكون منصفين، من المقرر إصدار Ruby 2.0 قريبًا أيضًا، لكنني لا أعتقد أنه سيكون مزعجًا بنفس القدر.

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

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

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

يعد Apache وحشًا، سواء من حيث التكوين أو من حيث موارد الخادم الخاص بك.لماذا لا تختار شيئًا خفيف الوزن، مثل nginx أو com.lighttpd?

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

تحديث:انتهى بي الأمر باستخدام, والمحبة, جانغو.أنا فعلت مع PHP - آسف على ذلك.المستقبل القراء محاولة إنشاء صفحة ويب جديدة 2.0 الموقع (على افتراض أن لديهم خلفية البرمجة) ، ينبغي أن كثيرا النظر في هذا الإعداد:

الأمازون ec2 على استضافة (80 دولار/الشهر - ليست رخيصة ولكن يستحق كل هذا العناء إذا كنت لا تستطيع تحمله) جانغو/بايثون (Python هو أقوى لغة برمجة على كوكب الأرض - و جانغو فقط يجعل من العمل على شبكة الإنترنت)

التنمية ينبغي القيام به مع SQLlite وتطوير الخادم التي تأتي مع جانغو.لا تضيع وقتك مع Nginx, Apache, MySQL حتى في غضون بضعة أسابيع من بيتا.

وأنا الآن على تطوير نظام التشغيل Mac الذي يعمل كبيرة بالنسبة المحلي جانغو التنمية.

أخيرا ، Pinax هو بداية رائعة جانغو التنمية.

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