2010-03-29 6 views
5

http://en.wikipedia.org/wiki/Comparison_of_web_application_frameworksसही वेब एप्लिकेशन ढांचे का चयन कैसे करें?

जब से हम महत्वाकांक्षी बड़ा होना करने का लक्ष्य है scalability महत्वपूर्ण है, और इसलिए भूमंडलीकरण विशेषताएं हैं। चूंकि हम बिना वित्त पोषण के शुरू कर रहे हैं, मूल्य/प्रदर्शन और लाइसेंस/हार्डवेयर की लागत महत्वपूर्ण है। हम निश्चित रूप से वेब इंटरफेस में AJAX अच्छी उपस्थिति लाने के लिए चाहते हैं। लेकिन इनके अलावा, कोई और मानदंड नहीं है जिसके साथ मैं आ सकता हूं।

मैं उस क्रम में सी #/एएसपीनेट, PHP और जावा के साथ सबसे अधिक अनुभवी हूं, लेकिन अन्य भाषाओं (रूबी, पायथन, स्कैला इत्यादि) को बंद न करें।

हम ढांचे के जंगल से कैसे निर्धारित कर सकते हैं जो हमारे लक्ष्य को सर्वोत्तम बनाता है?

हम खुद से अन्य प्रश्न पूछना चाहिए?

संदर्भ सामग्री: लेख, पुस्तक अनुशंसाएं, वेबसाइटें इत्यादि?

उत्तर

2

मेरे लिए, सबसे महत्वपूर्ण बातें कर रहे थे पर विचार करना:

  • बढ़िया नेतृत्व डेवलपर्स मैं कौन भरोसा परियोजना पर काम कर रखने के लिए।
  • एक प्रश्न गुगल करने से बहुत अच्छे जवाब मिलते हैं।
  • सबसे महत्वपूर्ण बात यह है कि मुझे कोड बहने का तरीका पसंद है।
  • संपादित करें: इसके अलावा उन्हें कोडिंग मानकों के बारे में गुदा होना होगा। अगर असंगतता है, तो मैं बहुत नाराज हो जाता हूं।

उन 3 अंक मुझे सिम्फनी में लाए। यह हमेशा नवीनतम PHP संस्करण की नवीनतम अत्याधुनिक सुविधाओं का उपयोग कर रहा है। सिम्फनी 2.0 किसी भी अन्य ढांचे से पहले नामस्थान का उपयोग कर रहा है।

अपने अंक में से दो थे:

  • i18n - महान समर्थन नहीं है के लिए यह (मदद करता है कि इसके पीछे कंपनी फ्रेंच है, इसलिए i18n एक बेहतरीन सुविधा है)।
  • तराजू - याहू उत्तर और Vimeo सिम्फनी का उपयोग करें और वापस कोड योगदान। यदि वे लोग सिम्फनी को 100 मिलियन उपयोगकर्ताओं तक स्केल कर सकते हैं, तो आप भी कर सकते हैं :)
+0

मुझे विशेष रूप से अपने अंतिम बिंदु से सहमत होना है। यदि याहू एक ढांचे को गोद लेता है, तो यह इसकी गुणवत्ता के रूप में एक बहुत बड़ी धारणा है। – alex

-2

आईएमएचओ, कुछ ऐसे उपयोगकर्ताओं के लिए, जो एक संकलित भाषा के लिए जाते हैं।

यदि आप इसे आजमा नहीं करते हैं, तो आप नहीं जान पाएंगे। तो, मैं कहूंगा कि प्रत्येक ढांचे में एक छोटी परियोजना है जिसके बारे में आप गंभीरता से सोच रहे हैं। अगर मैं ऐसा कुछ करता हूं जो मैं कुछ सालों तक बनाए रखूंगा तो मैं खुद को बहुत सारे परीक्षण करने के लिए तैयार करूंगा। एक परियोजना के माध्यम से आधा रास्ता पाने के बजाय सही गलत पर शुरू करना बेहतर है, केवल यह समझने के लिए कि आपने गलत रास्ता लिया है। ऐसी कुछ आवश्यकताएं हो सकती हैं जो आपकी खोज समाप्त करें। उदाहरण के लिए, आपके सर्वर 'ओएस, एक फ्रेमवर्क सुविधा, या स्केलेबिलिटी। यदि आप अपनी सॉफ़्टवेयर योजनाओं और आवश्यकताओं को पूरा करते हैं, तो संभवतः आप चुनने के लिए बहुत कम बाएं रहेंगे - जब तक कि आपकी परियोजना वास्तव में काफी सामान्य या सरल न हो।

+2

"एक संकलित भाषा के लिए जाओ" - क्यों? वेब पर कुछ सबसे लोकप्रिय वेबसाइटें उच्च-स्तरीय भाषाओं में लिखी गई हैं। जब तक आप आवेदन में भारी गणना नहीं कर लेते हैं, तब तक यह इतना अंतर नहीं लेना चाहिए। –

+1

संगीतफ्रीक के साथ सहमत हैं। साथ ही, यदि आप PHP का उपयोग कर रहे हैं, और संकलित कुछ की गति आवश्यकताओं की आवश्यकता है, तो आप सी – alex

+0

यूप @ एलेक्स की टिप्पणी में इसके लिए एक मॉड्यूल लिख सकते हैं। मेरे पास एक ऐप है जिसे सैकड़ों छवियों में एक छवि एल्गोरिदम (सोबेल) लागू करने की आवश्यकता है। PHP प्रति छवि 10 सेकंड ले लिया। मैं इसे सी में फिर से लिखता हूं और यह इतना तेज़ काम करता है कि मुझे समय को मापने की भी आवश्यकता नहीं है। –

0

यह सब उस परियोजना के प्रकार पर निर्भर करता है जिस पर आप विकास करेंगे। क्या आप एक वेब एप्लिकेशन या भारी सामग्री वेबसाइट या कुछ और बना रहे हैं?

आप ढांचे के साथ प्रोग्रामिंग भाषाओं को भी मिलाते हैं। PHP के लिए ढांचे जो मुझे पता है वे हैं: केकेपीएचपी, कोडइग्निटर, ज़ेंड और सिम्फनी।आउट-ऑफ-द-बॉक्स भारी सामग्री वेबसाइट के लिए मैं ड्रूपल या अभिव्यक्ति इंजन का सुझाव दूंगा।

यह आप अपने आप को विकसित करने नहीं दिया जाएगा लगता है। उस स्थिति में मैं प्रोग्रामर की लागत और उपलब्धता का निर्धारण करता हूं और ढांचे का कितना व्यापक समर्थन करता है और इसका समर्थन किसके द्वारा किया जाता है। ज़ेंड फ्रेमवर्क पीएचपी के पीछे लोगों द्वारा समर्थित है, जबकि कोडइग्निटर को अभिव्यक्ति इंजन के पीछे लोगों द्वारा समर्थित किया जाता है। Drupal पेशेवर समर्थन पैकेज है, ...

संबंधित मुद्दे