अहहम्मम्म ... मुझे यकीन नहीं है कि मेरा जवाब stackoverflow व्यवस्थापक द्वारा हटाया जा रहा है या नहीं। मुझे माफ़ कर दो, मैं इस लंबी प्रतिक्रिया को पढ़ने में कुछ मिनट लेने जा रहा हूं (यदि आप पढ़ना जारी रखना चाहते हैं)।
मैंने 2010 में अपनी कंपनी शुरू की। हमने केवल php, mysql, html, jquery आधारित वेबसाइटों पर काम किया। चूंकि मोबाइल प्लेटफ़ॉर्म पर अधिक ध्यान दिया जा रहा था, इसलिए हमने सेन्चा टच + फोनगैप आधारित मोबाइल ऐप्स पर काम करना शुरू कर दिया। 2011 के अंत में, मैंने अपने 12 डेवलपर्स को सेन्चा टच + फोनगैप में प्रशिक्षित किया। आप समझ सकते हैं कि एक नए ढांचे में 12 डेवलपर्स की एक टीम को सीखना और प्रशिक्षित करना कितना प्रयास था।
दो से अधिक पेशेवर फोनगैप आधारित ऐप्स विकसित करने के बाद हमने महसूस किया कि यह मूल ऐप्स से बहुत दूर है। केवल एक उदाहरण पर्याप्त है - फ़ोनगैप ऐप ने प्रारंभिक HTML पृष्ठ को वेबव्यू में लोड करने में लंबा समय लगाया। स्प्लैश स्क्रीन के ठीक बाद एक खाली सफेद स्क्रीन दिखाई दी (एंड्रॉइड पर यह अधिक भयानक है!)। हाल ही में फोनगैप संस्करणों में यह तय है। लेकिन फोनगैप के साथ कौन काम कर रहा है, यह पता है कि असली ओबीजे-सी ऐप से कितना दूर है।हमने एक वर्ष के लिए फोनगैप + सेन्चा टच ढांचे में काम किया।
हम PhoneGap में काम बंद कर दिया और टाइटेनियम में मेरे 12 लोगों को प्रशिक्षण & सीखने शुरू कर दिया। मुझे पता है कि खरोंच से एक और नया ढांचा शुरू करना कितना कठिन काम था। हम 2 वर्षों के लिए टाइटेनियम के साथ काम करते रहे, आईओएस और एंड्रॉइड दोनों के लिए टाइटेनियम में 30+ सफल पेशेवर ऐप्स विकसित किए। हमें टाइटेनियम मॉड्यूल विकसित करने में विशेषज्ञ मिला। उदाहरण के लिए हमने आईओएस और एंड्रॉइड दोनों पर पेपैल टाइटेनियम मॉड्यूल विकसित किया। (आपको परेशान होना चाहिए, इसके बारे में इतना अच्छा क्या है! यह पहले से ही टाइटेनियम टीम द्वारा विकसित किया गया है)। नहीं, पुरानी एमपीएल लाइब्रेरी का उपयोग नहीं कर रहा है। हमने नवीनतम पेपैल एसडीके 2.8.0 का उपयोग किया और इसका उपयोग कर कोई मॉड्यूल ऑनलाइन उपलब्ध नहीं है।
2014 के मध्य में हमने टिंडर/लवू क्लोन प्रकार ऐप पर काम करना शुरू कर दिया। हमने समान एनिमेशन के लिए एक टीआई मॉड्यूल विकसित किया (UIView drawRect को लागू करके)। सब ठीक काम कर रहा था। लेकिन जब यह आईफोन पर चलाया जाता है, तो डिवाइस अत्यधिक गर्म हो जाता है और एनीमेशन पृष्ठ पर बैटरी नाटकीय रूप से निकलती है। हमने एक नमूना डेमो एक्सकोड ऐप बनाया और उसी एनीमेशन को लागू किया, जो कि इंस्ट्रूमेंट्स में परीक्षण किया गया था, सबकुछ ठीक था। मेमोरी या प्रोसेसर पर कोई ओवरलोड नहीं, डिवाइस ठंडा रहा, बैटरी प्रदर्शन ठीक था। हमने टाइटेनियम मॉड्यूल में बेहतर बनाने के लिए हर संभव प्रयास किया और कोई किस्मत नहीं। आखिर में पता चला कि टाइटेनियम स्वयं अपने भारी ढांचे को चलाने के लिए विशाल पदचिह्न लेता है और हर क्रिया के लिए, यह बहुत सारी प्रॉक्सी घटनाओं को निकाल देता है और अनावश्यक घटनाओं को सुनता रहता है। जटिल UIView एनिमेशन इसे पागल बनाता है। यह सिर्फ एक उदाहरण है - एंड्रॉइड पर यह एक लंबी कहानी है।
क्यों कंपनियां टाइटेनियम का उपयोग करने का निर्णय लेती हैं? पहला जवाब यह क्रॉस-प्लेटफॉर्म है। आप बस जेएस में कोड करते हैं और यह आईओएस और एंड्रॉइड दोनों पर चलता है। हा हा .. ऐसा मजाक! असली पेशेवर ऐप के लिए यह सच नहीं है। एंड्रॉइड संस्करण पर बहुत सारे अंतर और बग हैं और यह एंड्रॉइड संस्करण पर अधिक काम का भार है। और व्यावहारिक रूप से हम एंड्रॉइड के लिए एक ही आईओएस कोडबेस सटीक प्रति का उपयोग कभी नहीं कर सकते। तो क्रॉस-प्लेटफॉर्म का सिद्धांत केवल वर्ग परियोजनाओं के लिए सच है। अगर आपको विश्वास नहीं है कि छवि को कैप्चर करने के लिए मुझे एक साधारण टाइटेनियम एंड्रॉइड प्रोजेक्ट बनाएं, इसे सर्वर पर अपलोड करें और फिर इसे सर्वर से फिर से प्रदर्शित करें। एक आकाशगंगा S5 लें, लैंडस्केप-दाएं मोड (दाईं ओर स्थित होम बटन) में एक तस्वीर (पोर्ट्रेट मोड में नहीं) लें, आप देख सकते हैं कि छवि अभिविन्यास गड़बड़ हो जाता है। ओह! मैं टाइटेनियम Android एप्लिकेशन से भूल गया, आप सर्वर पर छवि अपलोड करते हैं तो छवि एक्सटेंशन .txt
Obj सी UINavigationController popToRootViewControllerAnimated विधि में हो जाता है वापस मुख पृष्ठ पर नेविगेट करने के लिए एक महत्वपूर्ण कार्यक्षमता है। टाइटेनियम में यह विधि उपलब्ध नहीं है!
हमने इस तरह के अजीब मुद्दों को ठीक करने के लिए सैकड़ों अतिरिक्त घंटे बिताए। मेरी देव टीम टाइटेनियम से तंग आ गई।
निश्चित रूप से आप अब मुझसे पूछेंगे, क्यों पृथ्वी पर हमने शुरुआत में ओब्जे-सी शुरू नहीं किया? उत्तर सभी टाइटेनियम डेवलपर्स से समान है - जावास्क्रिप्ट आसान है और वेब डेवलपर्स पहले से ही परिचित हैं। यह एक बहुत बड़ी भूल है। हम आईफोन ऐप को वेब ऐप के रूप में लेते हैं। एक वेब ऐप एक वेब ब्राउज़र पर चलता है, विशेष रूप से आईफोन पर यह आईफोन की सफारी के अंदर चलता है। "सफारी" ही एक मोबाइल ऐप है, और हम उम्मीद करते हैं कि वेब एप्लिकेशन को उसी गति के साथ समान दृश्य एनिमेशन के रूप में चलाना चाहिए, जो कभी भी संभव नहीं है। आईओएस वेक्टर आधारित UIView एनिमेशन के रूप में CSS3 एनीमेशन कभी भी समान नहीं हो सकता है।
आईओएस एक ढांचा या पुस्तकालय नहीं है, यह एक ऑपरेटिंग सिस्टम है। टाइटेनियम एक ढांचा है जो ओब्जे-सी में लिखा गया है। आप टाइटेनियम में एक्सकोड के स्टोरीबोर्ड यूआई डिज़ाइन टूल का उपयोग नहीं कर सकते हैं। एक्सकोड डेवलपर्स जानते हैं कि यूआई इंटरफ़ेस डिज़ाइन के लिए "बाधा" कितनी सेक्सी है। और बाधा का उपयोग करने की यह दृश्य अपील टाइटेनियम में पूरी तरह गायब है। हालांकि टीआई टीम का दावा है कि हम Ti.UI.FILL/SIZE इत्यादि का उपयोग कर बाधाओं को कर सकते हैं। लेकिन जब हम देशी ओब्जे-सी में चले गए हैं तो हम जानते हैं कि यह बाधा प्रणाली कितनी शक्तिशाली है!
मैं सिर्फ अपने बाल बाहर निकालते हैं और अफसोस क्यों मैं डर वर्ग कोष्ठकों के साथ उन लोगों Obj सी वाक्य रचना को देखकर हो गया और टाइटेनियम के लिए वापस कूद गया।ऐसा लगता है कि आप आधुनिक युग में दशकों पहले ओबज-सी के अपरिचित वाक्यविन्यास को देख रहे हैं। भाग्यशाली है कि स्विफ्ट वहाँ है और अब यह एक्सकोड में कोड के लिए और अधिक आसान है। हालांकि मौजूदा लोकप्रिय & शक्तिशाली ओबीजे-सी पुस्तकालयों जैसे एएफनेटवर्किंग, एमबीप्र्रेसशूड, ओपनसीवी स्विफ्ट में माइग्रेट करने के लिए कुछ समय चाहिए।
ईमानदार होने के लिए, मुझे वास्तव में टाइटेनियम, फोनगैप, ज़ैमरिन आदि क्रॉस-प्लेटफार्म ढांचे पर प्रतिबंध लगा दिया जाना चाहिए। उनका लाइसेंस बंद होना चाहिए। क्या टाइटेनियम आपको कोई अतिरिक्त सुविधा देता है जो देशी आईओएस या एंड्रॉइड में उपलब्ध नहीं है? इसके बजाए, बहुत कम कार्यक्षमता और अधिक कीड़े हैं। मुझे समझ में नहीं आता कि, इस आधुनिक खून बहने वाली तकनीक पर वे लोगों को पुराने दिनों में वापस खींच रहे हैं और उन्हें रोकने के लिए कोई भी नहीं है! डेवलपर्स को गलत दिशा में मार्गदर्शन करने के लिए कानूनी कैसे हो सकता है? यदि आईओएस 9 जारी किया गया है तो "आज" टाइटेनियम आपको अगले सप्ताह के भीतर सभी नए एपीआई देगा? कभी नहीँ। वे आपको वापस पकड़ते हैं और आपको बग्गी एपीआई के सीमित सेट का उपयोग करने के लिए बाध्य करते हैं, आपको मॉड्यूल के लिए भुगतान की आवश्यकता होती है, जिसे आसानी से देशी कोड में किया जा सकता है।
यदि आप जावास्क्रिप्ट को अच्छी तरह से जानते हैं, तर्कसंगत अर्थ में अच्छा है, तो मेरा मानना है कि आप बहुत कम समय में ओब्जे-सी सीख सकते हैं। & प्रयासों से आप डिबगिंग टाइटेनियम मुद्दों को खो देंगे, आप मूल ओब्जे-सी में अधिक कुशल बन सकते हैं। उम्म्म .. एंड्रॉइड के बारे में मैं उच्च नहीं कहूंगा। कॉस एंड्रॉइड आईओएस के साथ तुलनात्मक नहीं है। आईओएस मैक ओएस, एक अच्छी तरह से स्थापित डेस्कटॉप ऑपरेटिंग सिस्टम से पैदा हुआ है। और आप एंड्रॉइड के बारे में जानते हैं।
क्रॉस-प्लेटफ़ॉर्म दुविधा के जाल में न पड़ें। टाइटेनियम एपीआई के लोड केवल आईओएस के लिए हैं, आपको पता है क्यों, एंड्रॉइड डिवाइस सस्ते हैं, हार्डवेयर सस्ता है, आसानी से एनिमेशन नहीं चला सकता है।
अंत में, किसी भी प्रकार के प्लेटफॉर्म से दूर रहें और शुद्ध देशी ओएस तक चिपके रहें, इससे कोई फर्क नहीं पड़ता कि शुरुआत में कितना मुश्किल है, आप लंबे समय तक अच्छी तरह से भुगतान करेंगे, मेरा विश्वास करो!
टाइटेनियम टीम के लिए, मैंने आपके ओब्जे-सी और जावा स्रोत कोड की समीक्षा की। मैं आप लोगों का सम्मान करता हूं, आप वास्तव में ओब्जे-सी, जावा, नोड.जेएस, पायथन और जावास्क्रिप्ट में बहुत अधिक विशेषज्ञ और अनुभवी हैं। पर क्यों? आप लोगों को गलत दिशा में क्यों ले जा रहे हैं? आप अच्छी तरह से जानते हैं कि टाइटेनियम एंड्रॉइड/आईओएस मॉड्यूल बनाने और इसका परीक्षण करने में कितना समय बर्बाद हो गया है। आप अपने प्रयासों को बेहतर तरीके से क्यों नहीं डालते हैं।
मेरी पहली भाषा जो मैं उपयोग करता हूं वह जावा और जावास्क्रिप्ट है। टाइटेनियम सीखते हुए और कुछ अच्छे लेख/किताबें पढ़ने के दौरान मैंने बहुत सारी जावास्क्रिप्ट सीखा। मुझे लगता है कि उद्देश्य-सी अच्छा है और यह अधिक से अधिक लोकप्रिय हो रहा है (6।सबसे लोकप्रिय भाषाओं की सूची में)। – vale4674
@ vale4674: एचएम। दुर्भाग्यवश, उनमें से किसी के पास उद्देश्य-सी के साथ कुछ भी नहीं है। लेकिन, यह एक शो स्टॉपर नहीं है, बस ओओपी सिद्धांतों का एक पूरी तरह से अलग सेट सीखने के लिए तैयार रहें। उद्देश्य-सी वास्तव में सी + स्मॉलटॉक (या इसके किसी भी वंशज) है। – Linuxios
मुझे पता है सी (वह मेरी पहली भाषा थी जिसे मैंने पास्कल के साथ सीखा) लेकिन मैंने इसे लंबे समय तक इस्तेमाल किया। उद्देश्य-सी सीखना दिलचस्प है और मैं एक स्टीफन जी कोचन की पुस्तक [प्रोग्रामिंग इन ऑब्जेक्टिव-सी] (http://www.amazon.com/Programming-Ojectject-C-Edition- डेवलपर- पुस्तकालय/डीपी/0321711394/ ref = pd_sim_b_1) और फिर भी मैंने जेएस और टाइटेनियम के साथ विकसित करने का फैसला किया। मैंने आईओएस ऐप के विकास पर आईट्यून्सयू पर स्टैनफोर्ड से कुछ प्रस्तुतियों को भी देखा। हालांकि मैं उद्देश्य-सी के साथ एक पूर्ण शुरुआत नहीं कर रहा हूं, लेकिन इसमें सहज महसूस करने में कुछ समय लगेगा। – vale4674