Apple ने पिछले सप्ताह अन्य बातों के अलावा प्रस्तुत किया नया एप्पल टीवी टीवीओएस ऑपरेटिंग सिस्टम के साथ। यह तथ्य कि ऐप स्टोर से एप्लिकेशन नए ब्लैक बॉक्स में इंस्टॉल किए जा सकते हैं, ने निश्चित रूप से डेवलपर्स को सबसे अधिक खुश किया है।
डेवलपर्स के पास दो विकल्प हैं. वे एक नेटिव ऐप लिख सकते हैं जिसकी ऐप्पल टीवी हार्डवेयर तक पूरी पहुंच हो। उपलब्ध एसडीके (डेवलपर्स के लिए पुस्तकालयों का सेट) बहुत कुछ वैसा ही है जैसा डेवलपर्स पहले से ही आईफोन, आईपैड से जानते हैं, और प्रोग्रामिंग भाषाएं समान हैं - ऑब्जेक्टिव-सी और छोटी स्विफ्ट।
लेकिन सरल अनुप्रयोगों के लिए, Apple ने डेवलपर्स को TVML - टेलीविज़न मार्कअप लैंग्वेज के रूप में एक दूसरा विकल्प प्रदान किया। यदि आपको लगता है कि टीवीएमएल नाम संदिग्ध रूप से HTML जैसा दिखता है, तो आप सही हैं। यह वास्तव में XML पर आधारित एक मार्कअप भाषा है और HTML के समान है, केवल यह बहुत सरल है और इसका वाक्यविन्यास सख्त है। लेकिन यह नेटफ्लिक्स जैसे एप्लिकेशन के लिए बिल्कुल सही है। और उपयोगकर्ताओं को भी लाभ होगा, क्योंकि टीवीएमएल की सख्ती से मल्टीमीडिया एप्लिकेशन दिखने और काम करने में एक जैसे हो जाएंगे।
पहले आवेदन का पथ
इसलिए पहली चीज़ जो मुझे करनी थी वह Xcode विकास परिवेश का नया बीटा संस्करण डाउनलोड करना था (संस्करण 7.1 उपलब्ध है) यहां). इससे मुझे टीवीओएस एसडीके तक पहुंच प्राप्त हुई और मैं विशेष रूप से चौथी पीढ़ी के ऐप्पल टीवी को लक्षित करते हुए एक नई परियोजना शुरू करने में सक्षम हुआ। ऐप केवल टीवीओएस हो सकता है, या "यूनिवर्सल" ऐप बनाने के लिए मौजूदा आईओएस ऐप में कोड जोड़ा जा सकता है - आज आईफोन और आईपैड ऐप के समान एक मॉडल।
समस्या एक: Xcode केवल एक मूल ऐप बनाने की क्षमता प्रदान करता है। लेकिन मुझे बहुत जल्दी ही दस्तावेज़ में एक अनुभाग मिल गया जो डेवलपर्स को इस ढांचे को बदलने और इसे टीवीएमएल के लिए तैयार करने में मदद करेगा। मूल रूप से, यह स्विफ्ट में कोड की कुछ पंक्तियाँ हैं, जो ऐप्पल टीवी पर, एक फ़ुल-स्क्रीन ऑब्जेक्ट बनाती हैं और ऐप के मुख्य भाग को लोड करती हैं, जो पहले से ही जावास्क्रिप्ट में लिखा हुआ है।
समस्या दो: टीवीएमएल एप्लिकेशन वास्तव में एक वेब पेज के समान हैं, और इसलिए सभी कोड भी इंटरनेट से लोड किए जाते हैं। एप्लिकेशन वास्तव में केवल एक "बूटलोडर" है, इसमें केवल न्यूनतम कोड और सबसे बुनियादी ग्राफिक तत्व (एप्लिकेशन आइकन और इसी तरह) शामिल हैं। अंत में, मैंने सफलतापूर्वक मुख्य जावास्क्रिप्ट कोड को सीधे ऐप में डाल दिया और ऐप्पल टीवी इंटरनेट से कनेक्ट नहीं होने पर कम से कम एक कस्टम त्रुटि संदेश प्रदर्शित करने की क्षमता प्राप्त की।
तीसरी छोटी समस्या: आईओएस 9 और इसके साथ टीवीओएस के लिए सख्त आवश्यकता है कि इंटरनेट के प्रति सभी संचार HTTPS के माध्यम से एन्क्रिप्टेड हो। यह सभी ऐप्स के लिए iOS 9 में पेश किया गया एक फीचर है और इसका कारण उपयोगकर्ता की गोपनीयता और डेटा सुरक्षा पर दबाव है। इसलिए वेब सर्वर पर SSL प्रमाणपत्र तैनात करना आवश्यक होगा। इसे प्रति वर्ष कम से कम $5 (120 क्राउन) में खरीदा जा सकता है, या आप उदाहरण के लिए, क्लाउडफ्लेयर सेवा का उपयोग कर सकते हैं, जो स्वचालित रूप से और बिना निवेश के HTTPS का ख्याल रखेगा। दूसरा विकल्प एप्लिकेशन के लिए इस प्रतिबंध को बंद करना है, जो अभी संभव है, लेकिन मैं निश्चित रूप से इसकी अनुशंसा नहीं करूंगा।
दस्तावेज़ीकरण को पढ़ने के कुछ घंटों के बाद, जहां अभी भी कभी-कभी छोटी त्रुटियां होती हैं, मैंने एक बहुत ही बुनियादी लेकिन काम करने वाला एप्लिकेशन तैयार किया। इसमें लोकप्रिय टेक्स्ट "हैलो वर्ल्ड" और दो बटन प्रदर्शित हुए। मैंने बटन को सक्रिय करने और वास्तव में कुछ करने की कोशिश में लगभग दो घंटे बिताए। लेकिन सुबह के शुरुआती घंटों को ध्यान में रखते हुए, मैंने सो जाना पसंद किया... और यह अच्छी बात थी।
पिछले दिनों, मेरे मन में सीधे ऐप्पल से एक तैयार नमूना टीवीएमएल एप्लिकेशन डाउनलोड करने का विचार आया। मैं जो खोज रहा था वह मुझे कोड में बहुत जल्दी मिल गया और बटन लाइव था और काम कर रहा था। अन्य बातों के अलावा, मैंने इंटरनेट पर टीवीओएस ट्यूटोरियल के पहले दो भाग भी खोजे। दोनों संसाधनों ने बहुत मदद की, इसलिए मैंने एक नया प्रोजेक्ट शुरू किया और अपना पहला वास्तविक एप्लिकेशन शुरू किया।
पहला वास्तविक आवेदन
मैंने पूरी तरह से शुरुआत से शुरुआत की, पहला टीवीएमएल पेज। फायदा यह है कि ऐप्पल ने डेवलपर्स के लिए 18 तैयार टीवीएमएल टेम्पलेट तैयार किए हैं जिन्हें केवल दस्तावेज़ीकरण से कॉपी करने की आवश्यकता है। एक टेम्प्लेट को संपादित करने में लगभग एक घंटा लग गया, मुख्य रूप से क्योंकि मैं ऐप्पल टीवी पर सभी आवश्यक डेटा के साथ तैयार टीवीएमएल भेजने के लिए अपना एपीआई तैयार कर रहा था।
दूसरे टेम्पलेट में केवल 10 मिनट लगे। मैंने दो जावास्क्रिप्ट जोड़े हैं - उनमें से अधिकांश कोड सीधे ऐप्पल से आते हैं, तो पहिये का पुन: आविष्कार क्यों करें। ऐप्पल ने ऐसी स्क्रिप्ट तैयार की हैं जो अनुशंसित सामग्री लोडिंग संकेतक और संभावित त्रुटि डिस्प्ले सहित टीवीएमएल टेम्पलेट्स को लोड करने और प्रदर्शित करने का ख्याल रखती हैं।
दो घंटे से भी कम समय में, मैं एक बहुत ही सामान्य, लेकिन कार्यशील PLAY.CZ एप्लिकेशन को एक साथ रखने में सक्षम हुआ। यह रेडियो स्टेशनों की एक सूची प्रदर्शित कर सकता है, यह इसे शैली के आधार पर फ़िल्टर कर सकता है और यह रेडियो शुरू कर सकता है। हाँ, बहुत सी चीज़ें ऐप में नहीं हैं, लेकिन मूल बातें काम करती हैं।
[यूट्यूब आईडी=”kLKvWC-rj7Q” चौड़ाई=”620″ ऊंचाई=”360″]
फायदा यह है कि एप्लिकेशन अनिवार्य रूप से वेबसाइट के एक विशेष संस्करण से ज्यादा कुछ नहीं है, जो जावास्क्रिप्ट द्वारा संचालित है और आप उपस्थिति को संशोधित करने के लिए सीएसएस का भी उपयोग कर सकते हैं।
Apple को अभी भी तैयारी के लिए कुछ और चीज़ों की आवश्यकता है। एप्लिकेशन आइकन एक नहीं, बल्कि दो हैं - छोटा और बड़ा। नवीनता यह है कि आइकन एक साधारण छवि नहीं है, बल्कि इसमें लंबन प्रभाव होता है और यह 2 से 5 परतों (पृष्ठभूमि, मध्य और अग्रभूमि में ऑब्जेक्ट) से बना होता है। एप्लिकेशन में सभी सक्रिय छवियों में समान प्रभाव हो सकता है।
प्रत्येक परत वास्तव में एक पारदर्शी पृष्ठभूमि पर एक छवि मात्र है। ऐप्पल ने इन स्तरित छवियों को संकलित करने के लिए अपना स्वयं का एप्लिकेशन तैयार किया है और जल्द ही एडोब फोटोशॉप के लिए एक निर्यात प्लगइन जारी करने का वादा किया है।
एक अन्य आवश्यकता "शीर्ष शेल्फ" छवि है। यदि उपयोगकर्ता ऐप को शीर्ष पंक्ति (शीर्ष शेल्फ पर) में प्रमुख स्थान पर रखता है, तो ऐप को ऐप सूची के ऊपर डेस्कटॉप के लिए सामग्री भी प्रदान करनी होगी। या तो बस एक साधारण तस्वीर हो सकती है या यह एक सक्रिय क्षेत्र हो सकता है, उदाहरण के लिए पसंदीदा फिल्मों की सूची या, हमारे मामले में, रेडियो स्टेशन।
कई डेवलपर्स अभी नए टीवीओएस की संभावनाएं तलाशना शुरू कर रहे हैं। अच्छी खबर यह है कि कंटेंट ऐप लिखना बहुत आसान है, और ऐप्पल टीवीएमएल के साथ डेवलपर्स के लिए काफी आगे बढ़ चुका है। एप्लिकेशन बनाना (उदाहरण के लिए PLAY.CZ या iVyszílő) आसान और तेज़ होना चाहिए। इस बात की अच्छी संभावना है कि नए ऐप्पल टीवी की बिक्री शुरू होने के साथ ही बड़ी संख्या में एप्लिकेशन तैयार हो जाएंगे।
एक देशी ऐप लिखना या आईओएस से टीवीओएस पर गेम पोर्ट करना अधिक चुनौतीपूर्ण होगा, लेकिन बहुत ज्यादा नहीं। सबसे बड़ी बाधा अलग-अलग नियंत्रण और प्रति ऐप 200 एमबी की सीमा होगी। एक मूल एप्लिकेशन स्टोर से डेटा का केवल एक सीमित हिस्सा ही डाउनलोड कर सकता है, और बाकी सब कुछ अतिरिक्त रूप से डाउनलोड किया जाना चाहिए, और इस बात की कोई गारंटी नहीं है कि सिस्टम इस डेटा को नहीं हटाएगा। हालाँकि, डेवलपर्स निश्चित रूप से इस सीमा से शीघ्रता से निपट लेंगे, "ऐप थिनिंग" नामक टूल के एक सेट की उपलब्धता के लिए भी धन्यवाद, जो आईओएस 9 का भी हिस्सा है।
अच्छा लेख. धन्यवाद। शायद समय के साथ हम ऐप्पल से भी सरल एप्लिकेशन (समाधान) तैयार करने के लिए एक उपयोगकर्ता समाधान देखेंगे, जैसा कि आईओएस के लिए फाइलमेकर के साथ संभव है, मेरे डेवलपर न होने पर।
सिद्धांत रूप में... स्विफ्ट लोडर में कुछ लाइनें हैं जो अभी भी वही हैं, केवल पहली टीवीएमएल फ़ाइल का यूआरएल बदलता है। यदि कोई चाहे, तो वे शायद एक स्क्रिप्ट लिख सकते हैं जो आपके यूआरएल के साथ दूरस्थ रूप से एक बिल्ड चला सकती है और एक आईपीए फ़ाइल वापस भेज सकती है। या यदि आपके पास मैक है, तो प्रोजेक्ट भेजने में कोई समस्या नहीं है, जहां आप बस यूआरएल डालें और निर्माण शुरू करें। लाभ यह है कि यदि टीवीएमएल एप्लिकेशन के बाहर है, तो आपको वास्तव में केवल एक सार्वजनिक बिल्ड और संभवतः एक निजी (विकास) बिल्ड की आवश्यकता होती है, और आप केवल सर्वर पर टीवीएमएल और इस प्रकार एप्लिकेशन की कार्यप्रणाली को बदल सकते हैं।
"ऐप केवल टीवीओएस-हो सकता है, या 'एक-आकार-सभी के लिए फिट' ऐप बनाने के लिए मौजूदा आईओएस ऐप में कोड जोड़ा जा सकता है - जो आज आईफोन और आईपैड ऐप के समान मॉडल है।"
मुझे आश्चर्य है कि आपका क्या मतलब है? व्यक्तिगत रूप से, मुझे कहीं भी 1 बिल्ड बनाने का कोई तरीका नहीं मिला है जिसमें यूनिवर्सल आईफोन, आईपैड और ऐप्पल टीवी शामिल होंगे .. चूंकि वे अलग-अलग एसडीके हैं (ओएसएक्स के समान), आपको टीवीओएस के लिए एक अतिरिक्त लक्ष्य की आवश्यकता है और इस प्रकार एक अलग बिल्ड भी है। .मुझे कुछ याद आ रहा है?
Xcode 7.1 में TVOS एप्लिकेशन को पहले से मौजूद प्रोजेक्ट में एक अन्य लक्ष्य के रूप में जोड़ा जा सकता है - Apple वॉच के लिए एप्लिकेशन या शायद अधिसूचना केंद्र के लिए एक विजेट के समान। हालाँकि, मुझे अभी तक नहीं पता कि इसे स्टोर पर कैसे अपलोड किया जाएगा... मेरा मानना है कि Xcode एक पैकेज भेजेगा और ऐप स्टोर इसे विभाजित कर देगा... संभवतः वे वॉच के साथ जो करते हैं उसके समान
नहीं.. मेरी राय में, ये 2 पूरी तरह से अलग चीजें हैं.. वॉच एक एक्सटेंशन है.. या कम से कम यह watchOS 2.0 तक था.. यह iOS लक्ष्य के साथ दिया गया था और iPhone के बिना भी काम नहीं करता था.. एटीवी एक अलग इकाई है.. मैं इसी के बारे में बात कर रहा हूं, क्या एटीवी के लिए निर्माण अलग होगा (आपको 2$ के लिए भुगतान करना होगा) और इसके अलावा आईओएस के लिए 2$ का भुगतान करना होगा, या क्या यूनिवर्सल देना संभव होगा आईओएस और एटीवी दोनों के लिए 2 डॉलर का निर्माण.. तो मुझे लगता है कि नहीं, क्योंकि आईओएस लक्ष्य भी एटीवी के लिए डिवाइस परिवार की पेशकश नहीं करता है।
इसलिए वास्तविक लॉन्च दिखाई देगा, लेकिन उदाहरण के लिए, यह वास्तव में Apple वॉच कोड के समान ही व्यवहार करता है। अन्यथा, दस्तावेज़ में कहा गया है कि मौजूदा एप्लिकेशन में टीवीओएस के लिए कोड जोड़ना संभव होगा और इस प्रकार एक ही समय में आईओएस और टीवीओएस दोनों के लिए एक ऐप (ऐप स्टोर में एक इकाई) बेचना संभव होगा - एक खरीद के लिए ग्राहक, या एक अलग इकाई के रूप में - iOS और TVOS के लिए एक अलग खरीदारी।
स्पष्ट करने के लिए, यह प्रति ऐप 200 एमबी नहीं है, बल्कि 200 एमबी स्थानीय रूप से संग्रहीत है और बाकी जरूरत पड़ने पर नेट से डाउनलोड किया जाता है।
धन्यवाद, मैंने यही सोचा था, लेकिन शायद मैंने इसे ग़लत कहा था। 200 एमबी से ऊपर की हर चीज़ (या अतिरिक्त रूप से डाउनलोड की गई हर चीज़) को कैश के रूप में संग्रहीत किया जाता है और यदि सिस्टम यह निर्णय लेता है कि इसमें जगह की कमी हो रही है, तो वह इसे हटाना शुरू कर देता है - जो संभवतः तब तक नहीं होगा जब तक कि पर्याप्त खाली जगह न हो और तब कम से कम उपयोग की जाने वाली सामग्री हो। हटा दिया जाएगा, इसलिए व्यवहार में संभवतः यह कोई बड़ी समस्या नहीं होगी।
मुझे और क्या पता लगाना है, माना जाता है कि यह सीमा खेलों पर लागू नहीं होगी, या गेम बिल्कुल बेस पर 200MB से बड़ा हो सकता है। लेकिन मैं अभी भी ठीक-ठीक नहीं जानता कि इसका वास्तविक अर्थ क्या है। यह बहुत संभव है कि Apple अभी भी डेवलपर्स के फीडबैक के अनुसार इस नीति को समायोजित कर रहा है।
हेहे पोकेमॉन टीसीजी - 4 जीबी, ऑर्डर कैओस ऑनलाइन - 1,6 जीबी हर्थस्टोन 1,3 जीबी मैं वास्तव में इसके बारे में उत्सुक हूं।
ऐसी जानकारी थी कि गेम्स में एक विशेष मोड होता है। मैं अब विवरण एक साथ रख रहा हूं और हम लेख को पूरा करेंगे।
मैं ऐसा नहीं कर सकता, और अगर मैं किसी को ठेस पहुँचाता हूँ तो मैं पहले से ही माफी माँगता हूँ, लेकिन मेरे पास बस एक बहुत बड़ी, ईमानदार और वास्तविक खुशी है जिसे मैं आपके साथ साझा करना चाहता था...
नए ऐप्पल टीवी की घोषणा के अगले दिन, मैं आलसी नहीं था और बिक्री पर जाने से पहले ही डेवलपर किट प्राप्त करने की संभावना के साथ ऐप्पल लॉटरी (क्या मैं चुनूंगा?) के लिए साइन अप किया।
कल शाम, Apple ने मुझे लिखा कि उसने मुझे पहले बैच के लिए चुना है :)
इसलिए, मैं इस लेख के लेखक के समान नहीं हूं, और मैं ईमानदारी से ऐप्पल टीवी के लिए प्रीस्कूल ब्रैस्निस पर काम कर रहा हूं - जो अक्टूबर के दौरान आपके ऐप स्टोर पर उपलब्ध है :)
इसलिए मुझे लग रहा है कि पंजीकरण कराने वाले सभी लोगों को शायद यह मिल गया है :) मैंने भी कल ऑर्डर किया था और मैं वास्तव में इसका इंतजार कर रहा हूं... और मैं एक और व्यक्ति को जानता हूं जो अपनी डिलीवरी का इंतजार कर रहा है...
वैसे भी, अब तक ऐसा लगता है कि बिक्री शुरू होने पर संभवतः बहुत सारे ऐप्स होंगे :)
शायद हर कोई ऐसा नहीं करता - उन्होंने इसे मुझे नहीं दिया :(
:( मुझे आपके साथ सहानुभूति है।
अगर कोई चाहे, तो मेरे पास आठ सफेद एप्पल स्टिकर हैं... मैं उन्हें मेल कर सकता हूं...