2009-10-06 17 views
12

मैं एक नई वेबसाइट के विकास शुरू करने जा रहा हूं और PHP फ्रेमवर्क पर शोध कर रहा हूं। मैं एक उन्नत PHP डेवलपर नहीं हूं, लेकिन मैं कुछ सालों से वेब साइट्स और ऐप्स (एएसपीनेट में) विकसित कर रहा हूं।क्या मैं वाईआई को अपने PHP फ्रेमवर्क के रूप में चुनने में सही विकल्प बना रहा हूं?

मेरी वेबसाइट मुख्य रूप से AJAX- आधारित (jQuery का उपयोग करके) और वेब सेवाओं पर बहुत सी कॉल कर रही है। कुछ शोध के बाद, यहां मैं आया हूं:

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

ज़ेंड: ढांचे का प्रदर्शन मुझे थोड़ा सा संदेह छोड़ देता है, लेकिन मैंने सुना है कि वेब सेवाओं को बनाने के लिए इसका बहुत अच्छा समर्थन है। मैंने यह भी सुना कि यह थोड़ा जटिल था।

कोडइग्निटर: इसका उपयोग न करने का कोई वास्तविक कारण नहीं है। जो मैंने पढ़ा है उसके आधार पर कोडइग्निटर और वाईआई बहुत समान हैं, लेकिन वाईआई थोड़ा तेज है और PHP4 के लिए अनिवार्य कोड नहीं है (क्योंकि मैं विशेष रूप से PHP5 में विकसित करने की योजना बना रहा हूं)।

जहां तक ​​वाईआई, केवल एक चीज जो मुझे इसके बारे में डराता है वह यह है कि यह अन्य ढांचे की तुलना में नया है, इसलिए इसका एक छोटा सा समुदाय है। ऐसा लगता है कि ज़ेंड के विपरीत वेब सेवा समर्थन (केवल मेरी समझ से SOAP) का एक टन नहीं है।

तो अपने सवालों के नीचे आ:

  1. इन बातों को मुझे चिंता करनी चाहिए? (एक समुदाय के रूप में बड़ा नहीं, खराब वेब सेवा समर्थन)
  2. क्या मुझे और कुछ और देखना चाहिए?
  3. क्या अन्य ढांचे पर वाईआई की मेरी पसंद मुख्य रूप से AJAX- आधारित वेब ऐप के लिए ठीक है?

बारा

+0

किसी को भी सोचने के लिए कि कौन सा ढांचा चुनना है, अंकल बॉब को पढ़ना और देखना: http://stackoverflow.com/a/18853233/1614973 –

उत्तर

11

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

आपकी सावधानी बरतने से न केवल आपके लिए भुगतान किया जाएगा, बल्कि आपके ग्राहक के लिए जो बिल का भुगतान कर रहे हैं।

सारांश में:

  1. साइट के आवश्यक घटक को पहचानें।
  2. अनुसंधान ढांचे और अपनी आवश्यकताओं के लिए मिलान की पहचान करें।
  3. प्रयोग और जानें कि कौन से लोग इस नौकरी के लिए सबसे अच्छा काम करते हैं।

संपादित करें/राय परिवर्धन:

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

+0

अच्छा उत्तर, मेरे से कहीं बेहतर है :) –

+0

आप दयालु हैं। :-) –

+0

कोई ग्राहक नहीं है, यह मुख्य रूप से मेरे लिए एक प्रोजेक्ट है, इसलिए मैं सीख सकता हूं, मज़ा कर सकता हूं, और शायद भविष्य में उपयोग कर सकता हूं। साइट को वास्तव में केवल एक पृष्ठ की आवश्यकता होगी, और अधिकांश इंटरैक्शन कार्रवाई के आधार पर सामग्री खींचेंगे। मैं शायद किसी अन्य पेज से अधिक लोड करूंगा। जैसा कि आप मेरी प्रारंभिक पोस्ट से देख सकते हैं, मैंने कुछ ढांचे का शोध किया है, मैं बस पूछ रहा था कि क्या मैंने सही विकल्प बनाया है या अगर मुझे कुछ याद आया। केकपीएचपी वास्तव में एकमात्र ऐसा है जिसे मैंने वास्तव में गहराई से करने की कोशिश की है, और मुझे यह पसंद नहीं आया। एक और बात जो मैं इंगित करना चाहता हूं वह यह है कि मैं वास्तव में कोई कमांड लाइन सामग्री नहीं करना चाहता हूं। – Bara

0

सुंदर बहुत हर आधुनिक वेब रूपरेखा एक्सएचआर/अजाक्स के लिए उत्कृष्ट समर्थन हासिल है। यह वास्तव में भाषा के आपके वर्तमान ज्ञान के आधार पर आपकी निजी प्राथमिकता के लिए उबाल जाता है जिसमें ढांचे के संबंध में आपको सबसे अधिक पसंद आएगा।

मैं कोहाना को भी सलाह दूंगा क्योंकि यह बहुत स्थिर, परिपक्व है, और इसका उत्कृष्ट समर्थन है।

जब तक आप ढांचे के साथ खेलते हैं तब तक आपको वास्तव में पता नहीं चलेगा, मैं सुझाव देता हूं कि उनमें से कुछ में अपने पैर की उंगलियों को डुबो दें।

4

वाईआई के मुख्य डेवलपर के रूप में, शायद मैं पूरी तरह से निष्पक्ष नहीं हूं (लेकिन चाहता हूं!), हालांकि, ऑब्जेक्टिविटी के लिए मुझे उल्लेख करना चाहिए कि मैंने पहले ज़ेंड और कोडइग्निटर दोनों की कोशिश की थी।

वाईआई, benchmark tests की पूर्व रिलीज में बहुत प्रभावशाली थे, और क्योंकि नेतृत्व इस ढांचे को फूला नहीं चाहता था, सभी फीचर अनुरोध लागू नहीं किए गए थे। यह थोड़ा निराशाजनक लग सकता है, लेकिन यदि आप प्रोग्रामिंग और डिज़ाइन में पर्याप्त अनुभव कर रहे हैं, तो आप पहले से ही इसकी क्षमता से अवगत हैं।

दूसरी तरफ, वाईआई अभी भी व्यावहारिक और वास्तविक जीवन समाधानों की एक विस्तृत विविधता का समर्थन करता है। यह कुछ हद तक व्यक्तिपरक है, लेकिन यदि आप उन अक्सर इस्तेमाल कक्षाओं को देखते हैं, तो आप वास्तविक मुद्दों में अपनी शक्ति का पता लगाएंगे।

प्रलेखन (विशेष रूप से एपीआई) गंभीर-ट्यून और बहुत विनिर्देश-जैसा है, जो आपको पहले घंटों में अजीब और ठंडा लग सकता है, लेकिन लंबे समय तक, यह निश्चित रूप से आपकी नौकरी को कम करेगा (उन फैशनेबलों के विपरीत डॉकबड्डी, जो विधि हस्ताक्षर में दोस्त बनाना चाहते हैं)।

ये सभी आपके विकास के समय में योगदान देते हैं। लोग हफ्तों के भीतर गंभीर अनुप्रयोग बनाने में सक्षम हैं!

+0

वाईआई के लिए तीसरे पक्ष का समर्थन कैसा है, खासकर एडॉन्स/मॉड्यूल के लिए? – Bara

+0

दो कोर डेवलपर्स (लीडर समेत) ज़ी नामक एक परियोजना पर भी काम करते हैं, जो वाईआई के लिए एक आधिकारिक विस्तार भंडार है। यह अब तक बहुत परिपक्व नहीं है, लेकिन लगभग सौ उपयोगकर्ता योगदान वाले एक्सटेंशन हैं। डिज़ाइन द्वारा, आर्किटेक्चर आपको अन्य पुस्तकालयों (जैसे ज़ेंड क्लास) में भी आसानी से प्लग करने की अनुमति देता है। – pestaa

5

मैं Symfony, CakePHP, Zend फ्रेमवर्क, Kohana और कोड आग लगनेवाला के लिए डेवलपर होने की का उपयोग किया है, लेकिन आसपास 1 साल पहले मैं Yii की खोज की, मेरी पहली (और दूसरे और तीसरे) छाप उत्कृष्ट था:

  • जानने के लिए
  • आसान लागू करने के लिए
  • उपयोग में आसान और विस्तार
  • कई भाषाओं
  • की बहुत, बहुत, बहुत तेजी से
  • समर्थन करने के लिए आसान
  • कई सॉफ़्टवेयर, सर्वर और त्वरक का समर्थन
  • MySQL, PostgreSQL, SQLite, और Oracle का समर्थन ... फ़ायरबर्ड समर्थन बीटा है।
  • कई अन्य विशेषताएं जिन्हें मुझे अभी याद नहीं है।

इसे डाउनलोड करें, इसका उपयोग करें और इसके साथ अपनी परियोजना को कार्यान्वित करें, ... आप चकित होंगे।

अब मैं अपने प्रश्न पूछना:

  1. इन बातों को मुझे चिंता करनी चाहिए? ऐसा लगता है कि समुदाय उतना छोटा नहीं है जितना लगता है, वर्तमान में, वाईआई का एक सक्रिय समुदाय है। हम कुछ नहीं हैं।
  2. क्या मुझे और कुछ और देखना चाहिए? आपको अपनी जरूरतों को देखना चाहिए: डाटाबेस जिसका उपयोग आप करेंगे, वेब सर्वर, और अन्य, जैसा कि रैंडी ने कहा था।
  3. क्या अन्य ढांचे पर वाईआई की मेरी पसंद मुख्य रूप से AJAX- आधारित वेब ऐप के लिए ठीक है? हाँ यही है।
+0

मुझे नहीं लगता कि आपने वास्तव में ढांचे को सीखने के लिए पर्याप्त समय दिया है। इतने कम समय में इतने सारे ढांचे सीख गए। –

+1

मैंने कुछ साल पहले उन ढांचे को सीखा था, हालांकि, मैंने वाईआईफ्रेमवर्क सीखा है, इसलिए मैं उनके साथ काम नहीं करता हूं। मेरे ढांचे के अनुभव हैं: कोहाना (6 महीने), कोडइग्निटर (2y), जेडएफ (1y), केकेपीएचपी (1y), सिम्फनी (6 मीटर) – robregonm

+0

मैं मानता हूं कि वाईआई सीखना आसान है। यह मेरे लिए बेहद जरूरी है। न केवल अन्य डेवलपर्स को लाने में आसान बनाता है, बल्कि यह आपको कुछ ऐसा करने के लिए सीखने के बजाय अपने आवेदन को विकसित करने के साथ तुरंत शुरू करने की अनुमति देता है, जिसे हर एप्लिकेशन को कभी भी आवश्यकता होती है। –

4

वाई 1 का उपयोग करते हुए 1 1/2 वर्ष में, मेरे पास लगभग 15 साइटें ऑनलाइन हैं, सभी काम निष्पक्ष, तेज़ और वाईआई ने उन्हें बनाने में बहुत आसान बना दिया है। और ज्यादातर साइटें छोटी नहीं हैं, वे बड़ी वास्तविक दुनिया की साइटें हैं। अनुरोध किए जाने पर मैं लिंक प्रदान कर सकता हूं।

इसलिए मैं आपको आश्वस्त कर सकता हूं कि वाईआई चुनकर आप निश्चित रूप से किसी भी प्रकार की साइट को करने में सक्षम होंगे, और यह तेज़ और सुरक्षित होगा।