2012-02-09 12 views
6

मैंने एक और भाषा सीखने का फैसला किया है और पिकिंग चरण में हूं।क्यों जावा के पास सी # के विपरीत इतने सारे संस्करण हैं?

वर्तमान में जावा और सी # में देख रहे हैं, लेकिन जावा की ओर झुकाव क्योंकि यह क्रॉस-प्लेटफॉर्म है। मैं ज्यादातर वेब आधारित ऐप्स बनाउंगा, लेकिन जावा संस्करणों की विविधता मुझे डराता है। जावा ईई, एसई, एमई, एफएक्स, वे क्या अंतर हैं? क्या एक दूसरे का उपयोग करने के कोई फायदे हैं?

ठीक है, एफएक्स डेस्कटॉप के लिए है, मोबाइल के लिए एमई, एसई और ईई समान हैं, लेकिन एक "व्यवसाय" के लिए है, दूसरा नहीं है। इसलिए, यदि मैं उदाहरण के लिए एसई सीखता हूं, तो ईई पर स्विच करने के लिए क्या होगा? या एफएक्स? मेरी समस्या यह है कि मैं वास्तव में समझ नहीं पा रहा हूं कि एसई, ईई और एफएक्स अलग-अलग उत्पाद क्यों हैं? वे दोनों एक ही JVM चलाते हैं, और दोनों एक ही परिणामी ऐप्स कर सकते हैं। फिर वे अलग क्यों होते हैं?

+0

देखें यह भी ध्यान रखें Oracle संस्करण 9 के लिए जावा SE में एकीकृत करने के जावा विदेशी मुद्रा, अगर वे समुदाय अनुमोदन प्राप्त की योजना बना रही है कि: http://openjdk.java.net/projects/openjfx/ – Puce

उत्तर

10

यह इतना विनाशकारी नहीं है।

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

इसलिए जावा एसई मूल बातें बनाते हैं। जावा ईई वेब अनुप्रयोगों के लिए है।

भविष्य में जावा को मॉड्यूलर सिस्टम मिलेगा, और भेद पुस्तकालय स्तर पर ही होगा।

+0

लेकिन, क्या हम कह सकते हैं कि जावा संस्करण एक ही सामान्य आधार के शीर्ष पर बनाए गए हैं, और संस्करण केवल उस आधार पर अतिरिक्त पुस्तकालयों/ढांचे के प्रकार हैं जो कुछ उद्योग क्षेत्रों के लिए लक्षित हैं? –

+0

जावा एफएक्स अपने स्वयं के स्क्रिप्टिंग के साथ एक उत्पाद है, लेकिन जावा एसई में एकीकृत करता है। जावा एमई एक अलग संस्करण है, जिसका उद्देश्य गैर-एक्स 86 सीपीयू वाले निम्न-स्तरीय मोबाइल के लिए है। लेकिन हाँ, जावा ईई और जावा एफएक्स अतिरिक्त हैं। –

+0

@JoopEggen: ध्यान दें कि ओरेकल ने शुद्ध जावा एपीआई के पक्ष में जावा एफएक्स स्क्रिप्ट को गिरा दिया। – Puce

16
उनमें से

लगता है कि एक बिट इस तरह:

  • ME ~ = कॉम्पैक्ट ढांचे
  • एसई ~ = नेट ग्राहक प्रोफ़ाइल
  • ईई ~ = पूर्ण नेट फ्रेमवर्क (और कुछ अतिरिक्त बिट्स :)
  • FX ~ = सिल्वरलाइट

यह एक सटीक तुलना नहीं है, लेकिन यह एक करीबी पर्याप्त शुरू है ..

3

विभिन्न संस्करण (एसई, ईई, एमई और एफएक्स) सभी अलग-अलग एपीआई हैं जो जेवीएम के शीर्ष पर बैठते हैं (आप यहां पूर्ण विवरण पा सकते हैं: Your First Cup)। वे अलग-अलग भाषा नहीं हैं इसलिए उनके बीच स्विचिंग सीखने के लिए कोई नया वाक्यविन्यास नहीं है, बस अलग-अलग एपीआई कॉल।

व्यक्तिगत रूप से मैं एएसपी.नेट और एमवीसी ढांचे के साथ एकीकरण के कारण वेब ऐप्स विकसित करने के लिए सी # पसंद करता हूं।

4

जब आप संपादक कहते हैं, तो मुझे लगता है कि आपका मतलब आईडीई (एकीकृत विकास पर्यावरण) है। जावा के इतने सारे संपादक क्यों हैं और सी # नहीं है, क्योंकि जावा ओपनसोर्स है, जबकि सी # नहीं है। तो सी # के लिए आपको पता चलने वाला एकमात्र असली अच्छा आईडीई "विजुअल स्टूडियो" (यह मुफ़्त नहीं है)

मैं आपको जावा के लिए जाने की अत्यधिक अनुशंसा करता हूं, क्योंकि लगभग सभी टूल्स मुफ्त होते हैं उपयोग करें, और यहां तक ​​कि एप्लिकेशन सर्वर जहां आप अपने ऐप्स को तैनात करते हैं।

यदि आप वेब ऐप्स बनाना चाहते हैं, तो जावा संस्करणों से डरो मत, आपको जावाईई (एंटरप्राइज़ संस्करण) के लिए जाना होगा। वैसे भी यह उनमें से प्रत्येक है:

एसई (मानक संस्करण): इसमें सबसे बुनियादी पुस्तकालय शामिल हैं, जो अक्सर डेस्कटॉप ऐप्स में उपयोग किए जाते हैं, लेकिन यह एंटरप्राइज़ संस्करण का भी हिस्सा है।

ईई (एंटरप्राइज़ संस्करण):, उद्यम क्षुधा (न केवल वेब एप्लिकेशन) के लिए प्रयुक्त ताकि वितरित प्रोग्रामिंग, वेब एप्लिकेशन, वेब सेवाओं के डेस्कटॉप से ​​...

ME (माइक्रो संस्करण) का अर्थ है: मतलब है मोबाइल प्रौद्योगिकियों के लिए, न केवल फोन, वेंडिंग मशीन, स्मार्ट टीवी, मिसाइल मार्गदर्शन ...;)

एफएक्स: शक्तिशाली ग्राहकों को एक आसान तरीके से विकसित करने के लिए एक समृद्ध विकास मंच है।

अपने प्रश्न का बारे में, ईई और एसई के बीच मतभेद, मैं पहले से ही उत्तर, दूसरे शब्दों में:

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

मुझे सच में समझ में नहीं आता कि आप सौहार्द से क्या मतलब रखते हैं। मैं आपको बता सकता हूं कि एंटरप्राइज़ संस्करण ने अपने पुस्तकालयों में ईजेबी (एंटरप्राइज़ जावा बीन्स) नामक बोसनेस घटकों को विकसित करने के लिए एक उपकरण एकीकृत किया है।

कारण ईई, एसई और एफएक्स सीपेट उत्पाद हैं क्योंकि चिंताओं को अलग करने की आवश्यकता है।

उदाहरण: शायद आप डेस्कटॉप ऐप बनाते हैं जिसे इंटरनेट के माध्यम से संवाद करने की आवश्यकता नहीं है। वितरित प्रोग्रामिंग के लिए आपके पास एंटरप्राइज़ लाइब्रेरी क्यों होंगी?

सभी का सम्मान करता है, लेकिन अंतिम प्रश्न थोड़ा सा समझ नहीं है।

+0

धन्यवाद! बहुत जानकारीपूर्ण और अच्छी तरह से समझाया। –

+0

विजुअल स्टूडियो का एक मुफ्त संस्करण है ... –

+0

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

1

विवरण यहां Java perspective

+0

@javac आपका उपयोगकर्ता नाम इतना अच्छा है :) +1 – sfrj

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