मेरे सभी उपयोगकर्ताओं के पास विंडोज है। उनमें से कुछ लिनक्स या मैक का उपयोग करते हैं, लेकिन यदि वे करते हैं तो वे आमतौर पर मोनो, वाइन, समानताएं या दोहरे-बूट जैसे कुछ का उपयोग करने में सक्षम होते हैं।
मेरी विकास टीम (स्वयं सहित) को जावा में स्विंग अनुप्रयोगों के साथ-साथ सी # में विंडोज फॉर्म लिखने में व्यापक अनुभव है। "व्यापक" का मतलब है कि हमने दोनों रनटाइम पर तीन एप्लिकेशन विकसित और शिप किए हैं। अनुप्रयोग तकनीकी विश्लेषण अनुप्रयोग हैं, जो डेटाबेस इंटरैक्शन पर बहुत हल्के हैं, लेकिन कस्टम UI और डेटा सेट आकार पर भारी हैं।
हम उस बिंदु पर आ रहे हैं जहां हम वास्तव में निर्णय लेना चाहते हैं कि किस मंच पर अभी से ध्यान केंद्रित करना है, क्योंकि यह दोनों को समर्थन देने के लिए बोझ बन रहा है (यदि आप आधे साल के लिए स्विंग में काम कर रहे हैं तो यह बहुत अधिक परेशानी है। फिर से और अन्य तरीकों से विंडोज फॉर्म के लिए इस्तेमाल होने के लिए) और हम चाहते हैं कि हमारी टीम में हर कोई हमारे सभी अनुप्रयोगों पर काम करने में सक्षम हो।
- विंडोज फॉर्म आमतौर पर पहचानने योग्य विंडोज एप्लिकेशन बनाने के लिए कम काम करता है। जावा में किसी भी प्रकार की स्किनिंग और कस्टम नियंत्रण ने वर्षों से हल नहीं किया है। उसी समय, हमारे पास कभी कोई ग्राहक नहीं था जो स्विंग अनुप्रयोगों का उपयोग नहीं कर सकता था।
- पुस्तकालयों और स्वचालित बिल्ड टूल के मामले में जावा में बहुत अधिक समृद्ध पारिस्थितिकी तंत्र था, लेकिन यह तेजी से बदल रहा है (जावा नीचे नहीं जा रहा है, यह अधिक है। .NET पकड़ रहा है)।
- मल्टीप्लायर को पसंद किए जाने वाले दुर्लभ मामले के लिए, Java .NET .NET को हरा देता है। मोनो अद्भुत है, लेकिन यह जावा की तुलना में अभी भी अधिक काम करता है।
यदि हम .NET चुनते हैं तो हम WPF पर ध्यान केंद्रित करना शुरू कर सकते हैं, लेकिन F # का उपयोग करना भी शुरू कर सकते हैं। यदि हम जावा चुनते हैं, तो हम आरसीपी पर ध्यान केंद्रित करना शुरू कर सकते हैं, लेकिन स्काला का उपयोग भी शुरू कर सकते हैं।
क्या किसी को भी इसी तरह का निर्णय लेना पड़ा है? यदि हां, तो यह क्या था और किसने आपको सबसे अधिक प्रभावित किया? किसी भी शीर्ष चिंताएं मुझे याद आ रही हैं?
(कृपया ध्यान दें: प्रोग्रामर पर कुछ ऐसे ही सवाल हैं। पहले से ही, लेकिन वे या तो असंयमित हैं या एक अलग कोण से हैं।)