जब जावा वेब विकास के लिए एक अच्छा विकल्प है?
कृपया यह न कहें "जब आपके पास एक विकास टीम है जो केवल जावा को जानता है।"
जब जावा वेब विकास के लिए एक अच्छा विकल्प है?
कृपया यह न कहें "जब आपके पास एक विकास टीम है जो केवल जावा को जानता है।"
जवाबों:
कई उपलब्ध रूपरेखाओं, मंच की परिपक्वता आदि को देखते हुए, मुझे "लगभग हमेशा" कहने का मोह है। यहाँ कुछ कारण हैं जब आपको जावा का उपयोग नहीं करना चाहिए:
जावा का उपयोग छोटी और मध्यम वेबसाइटों में किया जाता है। महत्वपूर्ण बिंदु यह है कि उदाहरण के लिए जावा वेबसाइट्स की तुलना में जावा वेबसाइटों के लिए बहुत कम मुफ्त वेब होस्टिंग है, जिसका अर्थ है कि जब तक आपके पास अपने स्वयं के वेब सर्वर को होस्ट करने के लिए पर्याप्त संसाधन नहीं हैं, तब तक आप संभवतः जावा का चयन नहीं करेंगे।
ध्यान दें कि जावा ईई 6 के साथ, विशेष रूप से वेब प्रोफाइल में, कई मानक प्रौद्योगिकियां शामिल हैं जो बहुत अधिक कोड के बिना बहुत शक्तिशाली वेब एप्लिकेशन बना सकती हैं। यह दुर्भाग्य से अभी तक मुख्यधारा नहीं है।
ध्यान दें कि यह हाल ही में Google एप्लिकेशन इंजन के साथ कुछ हद तक बदल गया है जो आपको निम्न मध्यम से मध्यम यातायात साइटों के लिए क्लाउड में मानक जावा वेब एप्लिकेशन (कुछ प्रतिबंधों के साथ) को तैनात करने की अनुमति देता है।
जब आपका प्लेटफ़ॉर्म UNIX / Linux है और आपको उपकरण के समृद्ध सेट की आवश्यकता होती है, जैसे ऑब्जेक्ट / रिलेशनल मैपिंग, सुरक्षा, वेब सेवाओं का कॉम्प्लेक्शन ऑर्केस्ट्रेशन, आदि।
(हम सरल वेबसाइटों के बारे में बात नहीं कर रहे हैं, हम हैं?)
हर बार अभी तक एक और जावा टीम मुझे पेशाब करती है, मैं इस तरह के सवालों को देखकर भाप से उड़ जाता हूं। मैं दोहरा दूं। मैं क्लाइंट साइड देव हूं और अब करीब 5 साल से हूं। मैंने अधिकतर बंद-सामग्री वाले माइक्रोसाइट्स से लेकर उन साइटों पर काम किया है, जो बड़े पैमाने पर साइट के रूप में हैं, अधिक परिष्कृत ऐप-टाइप साइटों पर जहां वास्तव में गहरी UI विशेषज्ञता की आवश्यकता होती है। मैंने रेल, PHP, .net वेब फॉर्म (ew), .net MVC (बहुत बेहतर) और वेब विकास के लिए जावा सॉल्यूशंस की एक गुलदस्ता व्यवस्था देवों और टीमों के साथ की है जो सभी आपदाओं से निपटने के लिए पूरी तरह से निपट चुके हैं। मैं भी थोड़ा अजगर लिखता हूं और Django को खोदना शुरू कर रहा हूं।
जावा टीमों के साथ मेरा अनुभव सार्वभौमिक रूप से भयानक रहा है। उपकरण हमेशा एक PITA होते हैं। देवता कभी भी यह विश्वास नहीं करना चाहते कि उन्होंने कुछ भी गलत किया है और उन्हें अपने स्वयं के टर्फ को फिर से संगठित करने के लिए प्राप्त करने से पहले अपने अंत पर एक समस्या से इंकार कर दिया है जैसे कि दांत खींचना। मेरे अनुभव में जावा टीमों के साथ काम करने की पहली आकस्मिकता विकास का समय ई-मेल समय में परिवर्तित हो गई है, क्योंकि समस्या के अंत में कई लंबी व्याख्याएं लिखी गई हैं। जब तक आप वास्तव में इस पर कुछ नियंत्रण नहीं चाहते हैं HTML आम तौर पर उनकी समस्या नहीं है। तब उनके अंत में सब कुछ नरक में जाने की संभावना है क्योंकि आप वास्तव में कुछ ऊपरी स्तर के विभाजनों को चारों ओर ले जाना चाहते हैं।
भाषा मुझे नापसंद है, लेकिन मुझे लगता है कि वास्तविक समस्या संस्कृति है और तथ्य यह है कि स्वीकृति इतनी व्यापक है, आप बीच में मध्ययुगीनता की एक टन है। जिस तरह से जावा का विपणन किया गया है, उससे मुझे लगता है कि संस्कृति में स्प्रिंग्स है। एक बार लिखें, हर जगह तैनात। अनुवाद: "आपको केवल एक चीज सीखने की ज़रूरत है!" जो लोग पाते हैं कि अपील मूल रूप से वेब विकास के संबंध में अपने शिल्प का सम्मान कम से कम हर नाखून के लिए एक विशालकाय हथौड़ा की तरह जावा को लुभाना चाहते हैं।
इसलिए यदि आपके पास देव हैं जो जावा और अन्य भाषाओं को जानते हैं, लेकिन फिर भी वास्तव में जावा को पसंद करते हैं, तो मैं कहूंगा कि हां, सही समाधान की तरह लगता है तो आगे बढ़ें। लेकिन अगर आपके पास जावा देवता हैं जो जावा को जानते हैं और बाकी सब कुछ बस मुश्किल से मानदंडों को पूरा कर रहा है, तो वास्तव में इसे अपने फिर से शुरू करने पर एक बुलेट बिंदु बना सकते हैं, क्या उन्होंने HTML छोर पर विभिन्न प्रकार के अर्ध-जटिल पृष्ठों के साथ एक सरल ऐप बनाया है और इसे आज़माएं सरल परीक्षण। कुछ HTML तोड़ें। उन्हें पता लगाने की कोशिश करें कि क्या गलत है। यदि वे जिस तत्काल समस्या को हल करना शुरू करते हैं, वह स्वयं को दोष मुक्त करने के लिए है, उन्हें वेब विकास से दूर रखें! @ # $। वेब देव बहु-विषयक है और सफल होने के लिए इस क्षेत्र में सक्रिय रुचि की आवश्यकता है। यह उन लोगों के लिए एक जगह नहीं है जो केवल एक भाषा का ज्ञान बनाए रखना चाहते हैं और उन्हें हल करने में रुचि रखने की तुलना में समस्याओं से अधिक भयभीत हैं।
मैं यह नहीं कह रहा हूं कि जावा ही अक्षमता की जड़ है और मैंने सुना है कि वसंत अच्छा है। मुझे यकीन है कि वहाँ सक्षम जावा टीमें हैं। मैं अभी तक एक में नहीं चला है और मुझे नहीं लगता कि यह एक संयोग है। मुझे लगता है कि सूर्य के पास करने के लिए बहुत कुछ है। मुझे यह भी लगता है कि आईटी विभाग जैसे या इसके तहत वेब टीमों को चलाने के लिए बहुत कुछ है।
जावा छोटे वेब साइटों के लिए पूरी तरह से ठीक है, आप उदाहरण के लिए, उदाहरण के लिए, जेएसपी पृष्ठों को बहुत ही जल्दी काम कर सकते हैं जैसे कि जावा वेब सर्वर जैसे कि टॉमकैट ।
हालांकि मेरे अनुभव में जावा बड़ी वेबसाइटों के लिए अधिक सामान्य है, जहां जटिल सर्वर-साइड प्रसंस्करण की अधिक आवश्यकता है - इस मामले में आपको अधिक परिष्कृत जावा फ्रेमवर्क मिलेंगे जैसे कि जावासेवर फेस (जेएसएफ)।
यह ध्यान रखना महत्वपूर्ण है कि एक पूर्ण जावा स्थापना ऐतिहासिक रूप से कई सस्ते वेब होस्टिंग सेटअपों में उपलब्ध नहीं थी, जिससे इन वातावरणों में PHP जैसी अन्य भाषाओं के प्रसार की व्याख्या हो सके।
वेब विकास में जावा का उपयोग करने के मुख्य कारण निम्नलिखित हैं:
तकनीकी रूप से बोल रहा हूं:
अगर मैं एक वेब एप्लिकेशन शुरू कर रहा था, तो मैं रूबी को रेल्स पर इस्तेमाल करूंगा और इस तरह से डिजाइन करूंगा कि जब आरआरआर अपनी प्रदर्शन स्केलिंग सीमा को हिट करे तो हॉटस्पॉट्स को स्वैप किया जा सके।
जावा में COBOL की एक निश्चित गंध है और "लो-एंड कोडर्स जावा का उपयोग करते हैं" इसके बारे में लटका हुआ है, और ओरेकल फ़ासिको प्रतिष्ठा की मदद नहीं कर रहे हैं। यदि आपके पास विकल्प है , तो ऐसी भाषा चुनें जो शीर्ष देवों को आकर्षित कर रही हो।
यह सरल है: जब बैक एंड परफॉर्मेंस एक प्रमुख चिंता का विषय है तो जावा का उपयोग करें। कोडिंग करते समय अधिक ओवरहेड होता है, लेकिन कोड 1/200 वें से 1/500 वें समय में निष्पादित करेगा- शाब्दिक रूप से। पीएचपी, रूबी, और अन्य गतिशील रूप से टाइप की गई भाषाएं हमेशा जावा या .net सर्वर की तुलना में धीमी होने वाली हैं।
वेब के लिए अधिकांश समाधानों को इसकी आवश्यकता नहीं होगी। ट्विटर ने रेल का त्याग नहीं किया, जब तक कि उन्होंने उदाहरण के लिए लोकप्रियता में वृद्धि शुरू नहीं कर दी।
एकमात्र कारण नहीं है, लेकिन परिष्कृत एप्लिकेशन जैसे सामने वाली वेबसाइटों के निर्माण की बढ़ती लोकप्रियता के साथ, जबकि सर्वर पर 'सामान' वापस करने के तर्क अभी भी हैं - कोई कारण नहीं समझा जाना चाहिए कि जावा कम से कम किसी अन्य के बराबर क्यों है सर्वर अंत पर विकल्प। लेकिन क्लाइंट के अंत में, यदि कोई जावास्क्रिप्ट जल्दी से एक कोड रखरखाव दुःस्वप्न में बदल सकता है और उस सामान को हथियार की लंबाई पर रखने के लिए GWT का उपयोग करके आप जावा में कोड कर सकते हैं, तो आप अपने सर्वर के साथ दोनों दुनिया के सर्वश्रेष्ठ हो सकते हैं भारी उठाने और ग्राहक का प्रोसेसर करने से उन्हें 'अनुभव' मिलता है। इसे jQuery जैसी किसी चीज़ के साथ एकीकृत करना सीखें और आप अपनी सभी आँख कैंडी भी चाहते हैं।
विकल्पों पर किसी भी प्रकार का विशेषज्ञ नहीं, लेकिन अगर कोई अन्य व्यक्ति उसी तरह के लचीलेपन और चौड़ाई के साथ आगे रख सकता है, तो यह सुनकर खुशी होगी।
मुख्य कारण कि मैं जावा को क्यों चुनूंगा यदि आपको वितरित लेनदेन का उपयोग करने की आवश्यकता है, जो कई निगमों के लिए एक बड़ी चिंता का विषय हो सकता है। हालाँकि, आप अभी भी वेब विकास के लिए अपनी पसंदीदा स्क्रिप्टिंग भाषा का उपयोग कर सकते हैं, और जब आपको गति / वितरित लेनदेन की आवश्यकता हो तब केवल जावा पर काम सौंप सकते हैं।
मेरा मानना है कि यह तब होगा जब आपका आवेदन बहुत जटिल होने वाला है, कई लोगों ने इसे विकसित किया है, बहुत सारे जटिल मॉड्यूल, जटिल व्यावसायिक तर्क के साथ और इसे कई अन्य उद्यम अनुप्रयोगों के साथ संवाद करना है।
वैसे भी, आप ग्रिल्स में भी विकास कर सकते हैं, जो बहुत सारी अच्छी सुविधाएँ प्रदान करता है, विकास को आसान बनाता है और वास्तव में तेजी से परिपक्व हो रहा है।
जावा ठीक है, लेकिन अगर प्रदर्शन महत्वपूर्ण रूप से महत्वपूर्ण नहीं है, तो आप अन्य भाषाओं में कम प्रयास के साथ समान परिणाम प्राप्त कर सकते हैं।
जावा एक वैधानिक रूप से टाइप की जाने वाली भाषा है, और यदि आपकी कंपनी के पास MSDN सबस्क्रिप्शन नहीं है, तो वेब विकास के लिए उपयोग की जाने वाली अन्य सांख्यिकीय रूप से टाइप की जाने वाली भाषाओं की तुलना में सस्ता है। सांख्यिकीय रूप से टाइप की गई भाषाएं मध्यम से बड़ी परियोजनाओं, जटिल डोमेन नियमों और बहुत सारे बैक-एंड कोड के लिए अच्छी हैं, क्योंकि आप अपनी कक्षाओं को बेहतर ढंग से व्यवस्थित कर सकते हैं और आईडीई आपको अपने कोड में त्रुटियां खोजने में मदद करेंगे।
PHP, Python, Ruby जैसी गतिशील रूप से टाइप की गई भाषाओं के साथ, आपका विकास बहुत तेज़ी से होगा, लेकिन आपको अपने कोड का बेहतर परीक्षण करना होगा। यदि आपके पास बहुत समय और पैसा नहीं है और आपकी आवश्यकताएं बहुत जल्दी बदल जाती हैं और आपको बहुत जटिल गणना करने की आवश्यकता नहीं है, तो गतिशील भाषाएं बहुत बेहतर हैं।
सुरक्षा
बड़ी कंपनियों के जावा को अन्य समाधानों के लिए चुनने का मुख्य कारण यह है कि इसे अधिक सुरक्षित माना जाता है।
यह मुख्य रूप से है क्योंकि यह इतनी बड़ी कंपनी (अब ओरेकल) द्वारा समर्थित है।
यह ध्यान में रखा जाना चाहिए कि जावा बहुत उच्च स्तर की सुरक्षा और उत्कृष्ट समर्थन और विश्लेषण प्रदान करता है (हालांकि यह एक कीमत पर आता है)।