2009-02-05 6 views
6

के लिए खोज रहे हैं हम जावा प्रौद्योगिकी (डब्ल्यूसीएफ, जेबीओएस/ईएसबी, एमओएम, डब्ल्यूपीएफ, डब्ल्यूएफ) के साथ .NET प्रौद्योगिकी के संयोजन के बारे में सोच रहे हैं और मुझे उच्च स्तर की आवश्यकता है .NET 3.5 और जावा दुनिया में सेब और संतरे क्या हैं इसका विचार।एक .NET 3.5/J2EE आर्किटेक्चर अवधारणा तुलना लेख/चार्ट

किसी को भी बेहतर अभी तक एक सरल चार्ट जो इस तरह के रूप में सवालों के जवाब एक अच्छा, स्पष्ट लेख के पता है या:

  • जावा दुनिया में WCF ______ है
  • जावा दुनिया में WPF के बराबर है _____
  • नेट दुनिया में JBoss को बंद बात _____ है
  • JVM और CLR अनिवार्य रूप से इन मतभेदों के अलावा एक ही हैं: ....
  • जावा दुनिया में
  • आप सान्द्र नहीं है WF/WCF/WPF के ept, बजाय आप है ....
  • कोई "LINQ" जावा दुनिया में अभी तक है, लेकिन आप का उपयोग कर सकते ___
  • निकटतम आप में ADO.NET डेटा सेवाएँ करने के लिए मिलता
  • जावा दुनिया है ....

मैं इस पर बहस नहीं कर रहा हूं इसलिए मैं "लड़ने के बिंदु" की तलाश नहीं कर रहा हूं, मुझे केवल दो तटों की तुलना में एक तटस्थ की आवश्यकता है।

उत्तर

4

इस बारे में अच्छी जानकारी प्राप्त करना वास्तव में मुश्किल है, यहां तक ​​कि अद्यतित जानकारी खोजने में और भी मुश्किल है। इसमें से अधिकांश .NET 1.1 या 2.0 के बारे में है।

वैसे भी, मैं यहाँ कुछ लिंक है कि आपकी रुचि का हो सकता है प्रदान करेगा:

यह आशा है कि मदद करता है! जब भी मैं कुछ उपयोगी जानकारी से रुकता हूं, मैं इसे अद्यतन रखता हूं।

+1

ग्रेट लिंक, उन्हें पोस्ट करने के लिए धन्यवाद। – duffymo

6

मुझे एक अच्छा, स्पष्ट चार्ट पता नहीं है, लेकिन मैं आपके सवालों के कुछ जवाब दूंगा। (चेतावनी - मैं एक जे 2 ईई डेवलपर हूं, और आखिरी बार मैंने माइक्रोसॉफ्ट प्रोग्रामिंग किया था, यह क्लासिक एएसपी और वीबी 6 के साथ था। मैं एमएस प्रौद्योगिकियों का मूल्यांकन करने में सक्षम नहीं हूं, लेकिन मुझे बहुत अच्छी समझ है जावा समकक्षों की)

  • WCF:। WCF वेब सेवाओं को सरल बनाने के बारे में हो रहा है। जे 2 ईई समकक्ष अपाचे सीएक्सएफ होगा, जो वेब सेवाओं के निर्माण को सरल बनाने के लिए जेएक्स-डब्ल्यूएस 2.0 स्पेक में उपलब्ध एनोटेशन का उपयोग करता है।
  • WPF: यह आसान है। माइक्रोसॉफ्ट की तकनीक जावासेवर चेहरे की सीधी-अप चीर की तरह दिखती है। मैं आपको नहीं बता सकता कि कौन सा बेहतर है, लेकिन वे एक-दूसरे के समान हैं। संपादित करें: मैं इस के साथ बहुत जल्दी था - जेएसएफ डेस्कटॉप पर काम नहीं करता है, जैसे डब्ल्यूपीएफ माना जाता है। अंतर्निहित प्रौद्योगिकियां समान हैं, लेकिन जावाएफएक्स बेहतर तुलना हो सकती है।
  • .NET में जेबॉस: कोई और मुझे सीधे सेट करना चाहता है, लेकिन मुझे काफी सुरक्षित लगता है कि यह अस्तित्व में नहीं है। इसके बारे में सोचो। आप मालिकाना, गैर-मुक्त विनिर्देश चलाने के लिए एक मुक्त, मुक्त स्रोत उत्पाद मांग रहे हैं। यदि आप माइक्रोसॉफ्ट के साथ जाते हैं, तो आप आईआईएस के साथ फंस गए हैं जितना आप विंडोज के साथ फंस गए हैं।
  • जेवीएम बनाम सीएलआर: मुझे एक पेपर मिला, here उपलब्ध है, जो बताता है कि दोनों के बीच बहुत कम या कोई अंतर नहीं है। मैंने सर्वर के रूप में विंडोज़ की कमजोरियों (असली या कथित) पर केंद्रों को देखा है, दोनों के बीच बहुत सारे तर्क।
  • डब्ल्यूएफ/डब्ल्यूपीएफ/डब्ल्यूसीएफ के बजाय जावा दुनिया की क्या है: अब यहां मेरे दिमाग में जावा दुनिया के एमएस पर वास्तविक लाभ हैं। वहाँ अनगिनत ढांचे हैं, इसलिए आप अपनी जरूरतों के अनुरूप कुछ ढूंढने के लिए बाध्य हैं (मुफ्त में!)। आप स्प्रिंग एमवीसी या स्ट्रूट्स 2.0 या विकेट का उपयोग कर सकते हैं। आपके डेटाबेस परत के लिए, आपके पास हाइबरनेट या इबैटिस का विकल्प है। वेब सेवा ढांचे के this list पर देखें। जावा में कुल नौ ढांचे सूचीबद्ध हैं। माइक्रोसॉफ्ट में एक है: डब्ल्यूसीएफ।
  • LINQ का जावा समतुल्य: फिर, कोई मुझे सही कर सकता है, लेकिन मुझे यकीन नहीं है कि समकक्ष है। लाभ माइक्रोसॉफ्ट।
  • एडीओ.NET डेटा सेवाएं: यह जेपीए और रीस्टफुल वेब सेवाओं के माध्यम से जावा में करने योग्य है, लेकिन मुझे लगता है कि एमएस दुनिया में इसे लागू करने में थोड़ा आसान है। वे, कार्यात्मक प्रोग्रामिंग में कुछ स्मार्ट निवेश कर रहे हैं, जबकि जावा लोगों जावा के लिए बंद को जोड़ने के लिए सबसे अच्छा तरीका है के बारे में है कि निरर्थक कलह कर रहे हैं:

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

और फिर मानव विचार हैं: आप कौन सी तकनीकों के लिए काम कर सकते हैं और एक्स के लिए कितना भर्ती करना होगा, वाई के लिए किराए पर लेना होगा। लेकिन यह सच है कि आप क्या चुनते हैं।

आशा है कि इससे मदद मिलती है!

+0

प्रबुद्ध उत्तर, डब्ल्यूपीएफ/जावासेवर फेस की तुलना आश्चर्यचकित थी, फिर जावा वर्ल्ड में एक्सएएमएल क्या है? साथ ही, क्या कोई ऐसा उत्पाद है जो डिजाइनर/डेवलपर डिचोटोमी के साथ-साथ ब्लेंड/विजुअल स्टूडियो को हल करता है? –

+0

निश्चित रूप से कुछ चीजें हैं जो डब्ल्यूपीएफ टेबल पर लाती है जो जेएसएफ की कमी है। जेएसएफ डेस्कटॉप ऐप्स को बहुत अच्छी तरह से नहीं कर सकता - आश्चर्य की बात नहीं है, जावा को सभी डेस्कटॉप प्लेटफार्मों का समर्थन करना है। और डिजाइनर उपकरण के लिए समर्थन हमेशा जेएसएफ में बहुत खराब रहा है। MyEclipse में कुछ टूल्स हैं, (जारी) – rtperson

+0

... लेकिन वे विशेष रूप से उपयोगी नहीं हैं। लेकिन दोनों प्रौद्योगिकियों का मूल बहुत समान लगता है: एक एक्सएमएल आधारित, घटक/विजेट टूलकिट। आप जावाफैक्स, सिल्वरलाइट के लिए सीधे प्रतिस्पर्धी, और शायद एक बेहतर तुलना करना चाहते हैं। – rtperson

0

आईएमओ जावा के लिए बहुत सारे ढांचे हैं। लिनक्स वितरण के दर्जनों के साथ एक ही समस्या ...

निश्चित रूप से .NET के लिए ऐसा ही कह सकता है लेकिन यह स्पष्ट है।

नेट NHibernate और iBatis.NET है: कि मेरी .02

+1

मजेदार, मैं .NET/MS दर्शन के साथ निराश हूं "इस तरह यह किया गया है, इसे अपना रास्ता दें या चले जाओ!"। –

+0

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

+0

एक नेट देव के रूप में, मुझे लगता है कि पसंद अच्छा है। मुझे आश्चर्य है कि एमएस सामान कितनी बार एक मौजूदा उपकरण का पुन: आविष्कार होता है जो हमेशा के लिए रहा है और अक्सर जावा से पोर्ट किया जाता है। – danswain

0

rtperson की पोस्ट पर है। उनके जावा समकक्षों के जितना अच्छा नहीं, ऐसा लगता है, लेकिन काफी अच्छा है।

वास्तव में, .NET पक्ष: कैसल प्रोजेक्ट (एमवीसी, आईओसी), एनयूनीट, स्प्रिंग.NET पर खुले स्रोत परियोजनाएं हैं ... और मोनो को ओपन-सोर्स कार्यान्वयन के रूप में नहीं भूलना चाहिए कोर .NET ढांचे।

0

मैं एक प्रोग्रामर जो सी ++, जावा और अब सी # विकास किया है हूँ।

WCF = EJBs/J2EE सर्वर (जैसे JBoss)

WPF = स्विंग (JavaFX)

JBoss = मुझे नहीं लगता कि WCF जरूरतों:

यहाँ प्रारंभिक सवाल का मेरा उत्तर है एक सर्वर, बस .NET रनटाइम में चलता है। हालांकि, इसके बारे में निश्चित नहीं है, अभी भी सीखना। जेवीएम बनाम सीएलआर: सीएलआर सबकुछ जेवीएम कर सकता है, लेकिन सीएलआर भी कर सकता है: अप्रबंधित कोड चलाएं, एक प्रक्रिया को कई लॉजिकल वाले (ऐपडोमेन) में अलग करें। जावा की तुलना में बहुत अच्छा सी ++ एकीकरण है, सीएलआर बस बेहतर है। भाषा सी # जावा (लैम्ब्डा, डिलीजेट्स, एक्सप्रेशन पेड़, संदर्भ, structs, विस्तार विधियों, आंशिक कक्षाओं, मुक्केबाजी के बिना जेनेरिक से भी बेहतर है। उन्होंने यहां बहुत अच्छा काम किया है!) लेकिन केवल विंडोज़ पर चलता है।

WF = यदि वह मौजूद नहीं पता है, हो सकता है

Linq = वर्तमान में जावा में लागू नहीं किया जा सकता है क्योंकि आप की जरूरत: लैम्ब्डा की, अभिव्यक्ति के पेड़ और विस्तार तरीकों

ADO.net dataservices: मैं डॉन ' जावा में कुछ सिमुलेटर के बारे में पता नहीं है लेकिन इसे आसानी से कार्यान्वित किया जा सकता है। शायद कुछ opensourse परियोजना में मौजूद है।

किया करने के बाद दोनों इस बारे में वे कैसे संबंधित मेरी निष्कर्ष है:

.net, जानने के लिए बहुत-बहुत ऐसा है, तो अभी तक समान रूप से शक्तिशाली आसान है। इसका कारण यह है कि एपीआई में विधियों का नामकरण अधिक सुसंगत है, वहां समाधान बेहतर पूर्णांक होते हैं और कुछ एपीआई बहुत बेहतर डिजाइन किए जाते हैं (डब्ल्यूपीएफ इसका एक उदाहरण है, यह अन्य एपीआई के लिए यह नहीं कह सकता है, अभी भी सीख रहा है)। इस वजह से .net प्रोग्रामर की लागत कम होगी।

सी # में एक ऐप विकसित करना जावा की तुलना में 1.5 से 2 गुना तेज होगा। वहां आईडीई (विजुअल स्टूडियो) बेहतर लगता है। आप इसे 20 मिनट में बढ़ा सकते हैं, कोई छल नहीं! eclypse एक्सटेंशन तंत्र को समझने की कोशिश करना एक आसान काम नहीं है! एक्लिप्स कोड रिफैक्टरिंग कार्यक्षमता जीत एक पैर है। कई अन्य लोगों पर विजुअल स्टूडियो जीत। (वाणिज्यिक प्लगइन्स उपलब्ध हो सकते हैं?)

नेट का उपयोग करते समय आपको ऑपरेटिंग सिस्टम के लिए, और आईआईएस के लिए लाइसेंस का भुगतान करना पड़ सकता है। डेटाबेस के लिए आप MySQL से दूर हो सकते हैं।

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

एक जावा प्रमाणित डेवलपर (92%), भी प्रमाणित webservices (JSP, servlets, 87%) और वेब घटक डेवलपर प्रमाणित (EJB के, 82%) मैं कर रहा हूँ। मैं एक माइक्रोसॉफ्ट प्रमाणित डेवलपर (9 0%) और एक प्रमाणित WPF डेवलपर (9 0%) भी हूं। जावा परीक्षा माइक्रोसॉफ्ट परीक्षाओं से कठिन है। ऐसा इसलिए है क्योंकि जावा परीक्षाएं कई बचपन के अप्रासंगिक प्रश्न पूछती हैं।किसी ऑब्जेक्ट को बनाए रखने के लिए सही विधि नाम क्या है: SaveChanges(), PersistChanges(), EmitChanges() या SendChangesToDatabase()। कोई भी जानता है कि विधि का नाम जानना उपयोगी नहीं है। आप आईडीई आपको सही नाम प्रदान करेंगे। और यदि आपके पास वास्तव में एक दूसरे के लिए विधिवत नाम है, तो आपके पास बहुत बुरा और भ्रमित एपीआई है! क्या मायने रखता है कि आप जानते हैं कि आप इसे क्यों कहते हैं! माइक्रोसॉफ्ट की परीक्षा इस बात पर अधिक ध्यान केंद्रित करती है कि कैसे। मेरी राय में माइक्रोसॉफ्ट परीक्षा वास्तव में आपको बेहतर प्रोग्रामर बनने में मदद करती है। जावा परीक्षा भी उपयोगी है, लेकिन एक फोन बुक का अध्ययन करने की तरह; यह बहुत मुश्किल है लेकिन बेकार है।

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

देर हो चुकी है, मैं थक गया हूं और फिर से पढ़ना पसंद नहीं करता हूं। मुझे पता होना चाहिए। लेकिन नहीं होगा। मेरे पास यहां कोई स्पेलचेकर नहीं है इसलिए कई टाइपो हो सकते हैं। मेरी पहली भाषा डच है, मेरा दूसरा फ्रेंच और मेरा तीसरा अंग्रेजी है (मैं बेल्जियम में रहता हूं, हम जटिल हैं), तो मुझे लगता है कि मुझे कुछ टाइपो के अधिकार की अनुमति है? :)

आशा है कि यह आपके लिए कुछ स्पष्टता प्रदान करेगा।

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