5

मैं के बारे में एक नया टाइटेनियम परियोजना शुरू करने के लिए कर रहा हूँ। अब तक, जो मैंने लिखा है वह अब "क्लासिक प्रोजेक्ट" के रूप में माना जाता है (मैं मिश्र धातु से पहले टाइटेनियम ऐप्स लिख रहा हूं)।Appcelerator टाइटेनियम - मिश्र बनाम क्लासिक

मैं सोच रहा था या नहीं, यह मेरी नई परियोजना के लिए मिश्र धातु पर स्विच करने के लायक है, जबकि है। मुझे पता है कि मूल रूप से, मिश्र धातु जावा परियोजना या उद्देश्य-सी परियोजना को संकलित करने से पहले "क्लासिक" टाइटेनियम कोड को मिश्रित करता है। मैं उस "प्री-संकलन" प्रक्रिया में एक बड़े लाभ के बारे में भी जानता हूं, जो केवल मिश्रित कोड में चिह्नित है जो केवल एंड्रॉइड या आईफोन के लिए प्रासंगिक है और संकलित "क्लासिक" कोड में दूसरे को शामिल नहीं करता है।

मेरे मुख्य चिंता लचीलापन कर रहे हैं - के साथ "क्लासिक" मुझे लगता है मैं कोड पर अधिक नियंत्रण है और क्या हो रहा है की तरह।

दूसरी चिंता, मेरे पास नियंत्रण है (जैसे खुले सोर्सिंग स्लाइडिंग मेनू) जो मिश्र धातु के लिए नहीं लिखे गए हैं - मैं उन्हें अपने प्रोजेक्ट के हिस्से के रूप में कैसे प्राप्त कर पाऊंगा?

मैंने मिश्र धातु का उपयोग करने के लिए खुद को पूछना शुरू किया (टीआईओएनएफ 2014 में पेश किया गया) टीआई यूएक्स (https://github.com/jaraen/Ti.UX.Templates) जो मिश्र धातु के लिए लिखा गया है।

कुछ अन्य प्रश्न:

  1. कैसे मैं पुराने UI कोड मिश्र धातु के अंदर चला सकते हैं?
  2. मैं मिश्र धातु के लिए लिखा नियंत्रण एक "क्लासिक" परियोजना में चलाने के मिल सकता है?
  3. "क्लासिक" परियोजना भी कोड नक्शा कर सकते हैं आईओएस/एंड्रॉयड से संबंधित नहीं है?
  4. मिश्र धातु परियोजनाओं और क्लासिक परियोजनाओं के बीच प्रदर्शन में कोई अंतर है? अन्य लचीलापन मुद्दों के बारे में क्या?

धन्यवाद

उत्तर

2

शायद ज़रुरत पड़े कोई इस सवाल को देखता है और एक जवाब की जरूरत है:

मैं भी Appcelerator क्यू & एक में यह सवाल पोस्ट किया है, जहां मैं कुछ जवाब यहां है: http://developer.appcelerator.com/question/177739/appcelerator-titanium---alloy-vs-classic

जवाब मैं दिया गया था आंशिक है, और अधिक जानकारी के लिए एक सवाल यहाँ पूछा में पाया जा सकता है: http://developer.appcelerator.com/question/177542/classic-vs-alloy

0

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

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

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

जब भी मैं आकलन करता हूं कि मैं किसी विशेष तकनीक का उपयोग करने जा रहा हूं, तो मैं यह सुनिश्चित करने के लिए प्रयोगात्मक मिनी प्रोग्राम की एक श्रृंखला बना देता हूं कि सभी क्षमताओं को मेरे आवेदन की आवश्यकताओं के लिए मौजूद है। अगर मुझे लगता है कि यह फिट नहीं है या उन आवश्यकताओं तक पहुंचना बहुत मुश्किल है, तो मैं उस तकनीक का उपयोग नहीं करता हूं। उदाहरण के लिए, जब मैंने मिश्र धातु में स्विच किया, तो मैंने सुनिश्चित किया कि टीआई.पेंट लाइब्रेरी अभी भी काम करेगी। अगर ऐसा नहीं होता तो भी मैं क्लासिक का उपयोग कर रहा हूं।

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

http://gitt.io/ मिश्र धातु मॉड्यूल/विजेट खोजने के लिए एक सभ्य प्रारंभिक बिंदु है।

index.xml

<Alloy> 
    <Window id="win"> 
     <View id="content" /> 
    </Window> 
</Alloy> 

1) अपने index.js फ़ाइल में आप क्लासिक कोडिंग का उपयोग करने के लिए एक मिश्र धातु दृश्य में हेरफेर करने के लिए निम्न होगा।

index.js

var myview = Ti.UI.createView({ 
    backgroundColor: 'green' 
}); 
$.content.add(myview); 

2) मुझे नहीं लगता कि आप अपने क्लासिक परियोजना में मिश्र कोड का उपयोग कर सकते है। जैसा कि आपने पहले उल्लेख किया था, इसे कोड पर अनुवाद करने की आवश्यकता है और क्लासिक प्रोजेक्ट प्रक्रिया में उस चरण को छोड़ देगा।

3) क्या आप पूछ रहे हैं कि क्या आप एंड्रॉइड या आईओएस विशिष्ट के आधार पर कोड के हिस्सों को शामिल या हटा सकते हैं? यदि आप चाहते हैं कि कोड में आवश्यक है या नहीं, तो आप शायद (Ti.Platform.osname == "एंड्रॉइड") कथन के बीच रणनीतिक रूप से रखे गए विवरणों को शामिल/आवश्यक विवरणों के साथ ऐसा कर सकते हैं। यदि एंड्रॉइड के लिए कोड है, तो इसे एक की आवश्यकता है, यदि यह आईओएस के लिए है, तो उसमें आवश्यकता है।

4) कभी क्लासिक और मिश्र धातु-आधारित परियोजनाओं के बीच प्रदर्शन की जांच करने का प्रयास नहीं किया। मुझे लगता है, क्योंकि मैंने स्विच किया है और कभी भी ऐसा कोई मुद्दा नहीं देखा जो मुझे या मेरे ग्राहकों को परेशान करता है, मैंने कभी इसमें बहुत कुछ नहीं सोचा। यह पूरी तरह से संभव है कि मिश्र धातु कोड उत्पन्न करता है जो कुछ मामलों में धीमा होता है। मैंने इसे कभी नहीं देखा है।

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

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