2010-03-31 18 views
6

लंबे समय तक जावा डेवलपर यहां, लेकिन मैंने पिछले 3 वर्षों में रूबी के साथ काम करने में और अधिक समय बिताया है, जहां तक ​​वेब एप्लिकेशन जाते हैं। मैंने वास्तव में इसका आनंद लिया है, लेकिन ऐसी चिंताओं हैं जिन्हें मैंने खुलासा किया है कि मैं यहां शामिल नहीं होगा।लौटने वाली गतिशील भाषा उपयोगकर्ता के लिए आवश्यक जावा पुस्तकालयों और उपयोगिताएं क्या हैं?

अब मुझे Play! framework मिला है, मैं जावा की गति और विश्वसनीयता के साथ रेल-जैसे अनुभव रखने की संभावना से रोमांचित हूं। क्या खेल के अलावा! बॉक्स से बाहर प्रदान करता है, मैं जावा डेवलपर के लिए व्यावहारिक, गतिशील अनुभवों के लिए उपयोग की जाने वाली पुस्तकालयों और उपकरणों पर "याद नहीं कर सकता" पर सिफारिशों की तलाश कर रहा हूं। मुझे Project Lombok मिला है, जो बहुत सारे बॉयलर प्लेट, अनावश्यक जावा शोर को खत्म करने के लिए एक बहुत ही दिलचस्प तरीका दिखता है। मुझे और क्या पता होना चाहिए? मुझे पता है कि पिछले तीन सालों में Google ने कुछ पुस्तकालयों को जारी किया है, मैंने जावा पॉस पर उल्लेख किया है, लेकिन मुझे याद नहीं है कि वे क्या हैं। मुझे यकीन है कि मैंने अपनी अनुपस्थिति में दूसरों को याद किया है।

तो, इन दिनों आपके आवश्यक जावा टूलबॉक्स को क्या बनाता है?

आपके उत्तरों के लिए धन्यवाद!

उत्तर

5

मैं कहूंगा कि Guava एक जरूरी है। आप Google द्वारा guice को भी देखना चाहेंगे।

आप मल्टी-थ्रेडेड प्रोग्रामिंग में रुचि रखते हैं, तो java.util.concurrent बहुत जरूरी है ...

+0

यह निश्चित रूप से उन पुस्तकालयों में से एक है जिन्हें मैं याद रखने की कोशिश कर रहा था। धन्यवाद! – jbwiv

2

एक बहुत भाषाओं जावा वर्चुअल मशीन पर चलने वाले के साथ चल रहा है वहाँ हो गया है, जावा लाइब्रेरीज का लाभ उठाने, और साथ interoperate जावा, लेकिन यह अधिक अभिव्यक्तिपूर्ण है। JRuby (जो रेल चलाता है), Groovy (और रेल की तरह Grails), Clojure, Jython (एक पायथन कार्यान्वयन), और यहां तक ​​कि जावास्क्रिप्ट (जावा में लिखी गई राइनो दुभाषिया देखें) पर एक नज़र डालें।

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

+1

मैं जेआरबी और ग्रोवी से बहुत परिचित हूं। मुझे दोनों पसंद है, लेकिन Grails बस जावा परियोजनाओं के एक जटिल सेट पर एक ग्रोवी लिबास है, और डीबगिंग समस्याएं एक दुःस्वप्न हो सकती हैं। मुझे लगता है कि मैं जो पूछ रहा हूं वह जावा-विशिष्ट पुस्तकालयों और औजारों के लिए है। मैंने कुछ समय के लिए गतिशील भाषा की बात की है ...लेकिन मैं कम से कम स्थिर टाइपिंग और जावा के साथ प्रयोग करने के लिए तैयार हूं ;-) – jbwiv

+0

(स्कैला स्थिर रूप से टाइप किया गया है लेकिन इसे गतिशील भाषा की तरह कुछ महसूस करने के लिए प्रकार अनुमान का उपयोग करता है।) –

+1

लाइब्रेरी मोर्चे पर, Google पर एक नज़र डालें संग्रह (गुवा परियोजना का हिस्सा @ ज़्वेई ने इंगित किया)। मैं iBatis (एक दृढ़ता प्रबंधक) और रेस्टलेट (रीस्टफुल वेब अनुप्रयोगों और वेब सेवाओं का समर्थन करने के लिए एक ढांचा) के साथ वास्तव में खुश हूं। मैं Google की जैक्सन JSON लाइब्रेरी का भी उपयोग कर रहा हूं। –

1

मेरे पास हमेशा commons-lang पर एक नजर है। कक्षाओं में बहुत सारी गंदे चीजें encapsulated था। यह उदाहरण के लिए बराबर और हैशकोड लिखने में मदद करता है। मैं projectlombok की तुलना में यह प्रतिबिंब के माध्यम से रनटाइम पर करता है, लेकिन विशेष विशेषताओं को बाहर करने की संभावना के साथ।

समेकन के लिए आप Akka पर देख सकते हैं, जो स्कैला और जावा के लिए उपलब्ध है। मैंने कभी इसका परीक्षण नहीं किया, लेकिन मैंने इसके बारे में जेएक्स पर एक सत्र सुना और यह अच्छा लगता है।

0

मेरा गैर-वेब सॉफ्टवेयर "खुला" बनाने के लिए मैं हमेशा Jetty और हाल ही में RESTEasy जोड़ता हूं। एक बच्चे के खेल को "आराम से" एपीआई बनाता है।

1

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