मैंने एक सिस्टम बनाया, जिसकी शुरुआत 15 साल पहले एक डेस्कटॉप ऐप से हुई थी, जब जावा अभी भी अपनी शैशवावस्था में था और इस तरह के ऐप बनाने में इस्तेमाल के लिए तैयार नहीं था। मुझे पता था कि मुझे C ++ में एक कोर की आवश्यकता है और इसे शुरू से क्रॉस प्लेटफॉर्म पर डिज़ाइन किया गया है, जिसमें आकार प्रकार (जैसे int32 या int के बजाय int32) का उपयोग करना शामिल है, इसलिए यह Mac, Windows और UNIX (प्री-लिनक्स) पर चल सकता है दिन)।
जिस समय मैंने एक अच्छा क्रॉस-प्लेटफ़ॉर्म यूआई वातावरण देखने की कोशिश की, उस समय XVT सहित कुछ थे। मैं XVT के लिए प्रशिक्षण से गुजरा और जब मैंने एक वास्तविक ऐप बनाना शुरू किया, तो मैंने महसूस किया कि मैं मंच पर (मैक के साथ शुरू) एक साफ, देशी दिखने और महसूस करने में सक्षम नहीं था। इसलिए मैंने उस विचार को छोड़ दिया और पोर्टेबल कोर के शीर्ष पर एक देशी मैक (पॉवरप्लांट) यूआई का निर्माण किया।
कुछ साल बाद, हम विंडोज़ (एमएफसी में यूआई) पर चले गए। यह दूसरी बार तेजी से एक यूआई का निर्माण कर रहा था, हमने थोड़े समय के लिए समानांतर में एक मैक और विंडोज यूआई बनाए रखा और फिर सभी विंडोज पर चले गए। कोर बाद में यूनिक्स और लिनक्स के विभिन्न स्वादों पर चला गया, जिससे हमें सर्वर-आधारित कम्प्यूटेशंस चलाने की अनुमति मिली। जब हमने 64-बिट तैयार किया तो कोर ने कुछ समायोजन के साथ अच्छा प्रदर्शन किया।
अब मैं एक मैक का उपयोग करने के लिए वापस आ गया हूं और मैं चाहता हूं कि हम मैक पर वापस आ सकते हैं, लेकिन ऐप का आकार और जटिलता इसे एक कठिन विकल्प बनाती है। यह अभी भी इस ऐप के लिए डेस्कटॉप ऐप के रूप में बहुत मायने रखता है - यह एक सीएडी पर्यावरण की तरह है। लेकिन यूआई को फिर से एक प्लेटफॉर्म-विशिष्ट C / C ++ भाषा में बनाने के बजाय (और MFC- आधारित UI को बनाए रखना जारी रखें), मैं जावा में पूरे स्टैक को फिर से लिखने के लिए इच्छुक हूं ताकि यह कई प्लेटफार्मों पर चल सके।
गैर-जावा कोर चलाने के लिए अभी भी कारण हो सकते हैं, जैसा कि हमने किया था C ++ कहते हैं। लेकिन मैं यह देखने के लिए जल्दी प्रदर्शन परीक्षण चलाना चाहूंगा कि क्या वास्तव में इसकी आवश्यकता थी। और मैं अपने यूआई को ध्यान से देख रहा हूं कि क्या मैं इसे वेब ऐप के रूप में बना सकता हूं, वेब सेवाओं के माध्यम से कोर से जुड़ा हुआ हूं, इसलिए मेरे पास क्लाइंट की एक श्रेणी हो सकती है - डेस्कटॉप ऐप, मोबाइल ऐप, वेब ऐप आदि। अगर मुझे C या C ++ में एक टुकड़े की आवश्यकता होती है, तो क्या यह जावा की एक परत के नीचे लिखा जा सकता है? या एक वेब सेवा के रूप में?
एक और विचार - आपका ऐप कब तक आसपास रहेगा? यह कितना जटिल हो जाएगा? यदि आपके पास इस बारे में कोई विचार है, तो किसी भी यूआई पुस्तकालयों की संभावित दीर्घायु पर विचार करें और समय के साथ आपकी क्षमता है कि लोग उन्हें बनाए रखें। यह अब विचार करने के लिए कठिन हो सकता है लेकिन एक विचार के लायक है।
- एलेक्स