विज्ञापन बन्द गर्नुहोस्

एप्पलले गत हप्ता प्रस्तुत गरेको थियो, अन्य चीजहरू बीच नयाँ एप्पल टिभी TVOS अपरेटिङ सिस्टमको साथ। नयाँ ब्ल्याक बक्समा एप स्टोरबाट एप्लिकेसनहरू स्थापना गर्न सकिन्छ भन्ने तथ्यले विकासकर्ताहरूलाई धेरै खुसी बनायो।

विकासकर्ताहरूसँग दुई विकल्पहरू छन्। तिनीहरूले एउटा नेटिभ एप लेख्न सक्छन् जसमा Apple TV हार्डवेयरमा पूर्ण पहुँच छ। उपलब्ध SDK (विकासकर्ताहरूको लागि पुस्तकालयहरूको सेट) आईफोन, आईप्याडबाट विकासकर्ताहरूले पहिले नै थाहा पाएको कुरासँग धेरै मिल्दोजुल्दो छ, र प्रोग्रामिङ भाषाहरू समान छन् - उद्देश्य-सी र कान्छो स्विफ्ट।

तर सरल अनुप्रयोगहरूको लागि, एप्पलले विकासकर्ताहरूलाई TVML - टेलिभिजन मार्कअप भाषाको रूपमा दोस्रो विकल्प प्रस्ताव गर्यो। यदि तपाईंलाई TVML नाम शङ्कास्पद रूपमा HTML जस्तो देखिन्छ जस्तो लाग्छ भने, तपाईं सही हुनुहुन्छ। यो वास्तवमा XML मा आधारित मार्कअप भाषा हो र HTML सँग धेरै मिल्दोजुल्दो छ, केवल यो धेरै सरल छ र कडा वाक्य रचना छ। तर यो Netflix जस्तै अनुप्रयोगहरूको लागि बिल्कुल सही छ। र प्रयोगकर्ताहरूले पनि लाभ उठाउनेछन्, किनभने TVML को कठोरताले मल्टिमिडिया अनुप्रयोगहरूलाई उस्तै देखिन्छ र काम गर्दछ।

पहिलो अनुप्रयोगको लागि मार्ग

त्यसैले मैले गर्नु पर्ने पहिलो कुरा Xcode विकास वातावरणको नयाँ बीटा संस्करण डाउनलोड गर्नु थियो (संस्करण 7.1 उपलब्ध छ। यहाँ)। यसले मलाई tvOS SDK मा पहुँच दियो र विशेष गरी चौथो पुस्ताको Apple TV लाई लक्षित गरी नयाँ परियोजना सुरु गर्न सक्षम भयो। एप tvOS-मात्र हुन सक्छ, वा कोडलाई अवस्थित आईओएस एपमा "सार्वभौमिक" एप बनाउनको लागि थप्न सकिन्छ - आजको iPhone र iPad एपहरू जस्तै मोडेल।

समस्या एक: Xcode ले नेटिभ एप सिर्जना गर्ने क्षमता मात्र प्रदान गर्दछ। तर मैले चाँडै कागजातमा एउटा खण्ड फेला पारे जसले विकासकर्ताहरूलाई यो कंकाल परिवर्तन गर्न र TVML को लागि तयार गर्न मद्दत गर्नेछ। सामान्यतया, यो स्विफ्टमा कोडका केही लाइनहरू हुन् जुन, केवल Apple टिभीमा, पूर्ण-स्क्रिन वस्तु सिर्जना गर्नुहोस् र एपको मुख्य भाग लोड गर्नुहोस्, जुन पहिले नै JavaScript मा लेखिएको छ।

समस्या दुई: TVML अनुप्रयोगहरू वास्तवमै वेब पृष्ठसँग मिल्दोजुल्दो छन्, र त्यसैले सबै कोडहरू इन्टरनेटबाट लोड हुन्छन्। अनुप्रयोग आफैं वास्तवमा केवल एक "बुटलोडर" हो, यसले न्यूनतम कोड र सबैभन्दा आधारभूत ग्राफिक तत्वहरू (एप्लिकेशन आइकन र जस्तै) समावेश गर्दछ। अन्तमा, मैले सफलतापूर्वक मुख्य JavaScript कोड सिधै एपमा राखें र Apple TV इन्टरनेटमा जडान नभएको बेला कम्तिमा अनुकूलन त्रुटि सन्देश प्रदर्शन गर्ने क्षमता पाएको छु।

तेस्रो सानो समस्या: iOS 9 र यसको साथ tvOS लाई कडाईका साथ आवश्यक छ कि इन्टरनेट तर्फ सबै संचार HTTPS मार्फत इन्क्रिप्टेड हुन्छ। यो आइओएस ९ मा सबै एपका लागि प्रस्तुत गरिएको सुविधा हो र यसको कारण प्रयोगकर्ताको गोपनीयता र डाटा सुरक्षामा पर्ने दबाब हो। त्यसैले वेब सर्भरमा SSL प्रमाणपत्र डिप्लोय गर्न आवश्यक हुनेछ। यो प्रति वर्ष $ 9 (5 क्राउन) को रूपमा किन्न सकिन्छ, वा तपाईले प्रयोग गर्न सक्नुहुन्छ, उदाहरणका लागि, CloudFlare सेवा, जसले HTTPS को आफैले, स्वचालित रूपमा र बिना लगानीको हेरचाह गर्नेछ। दोस्रो विकल्प भनेको अनुप्रयोगको लागि यो प्रतिबन्ध बन्द गर्नु हो, जुन अहिलेको लागि सम्भव छ, तर म निश्चित रूपमा यसलाई सिफारिस गर्दिन।

कागजात पढेको केही घण्टा पछि, जहाँ अझै पनि कहिलेकाहीं साना त्रुटिहरू छन्, मैले धेरै आधारभूत तर काम गर्ने अनुप्रयोगको काम गरें। यसले लोकप्रिय पाठ "हेलो वर्ल्ड" र दुई बटनहरू प्रदर्शन गर्यो। बटन सक्रिय हुन र वास्तवमा केहि गर्न को लागी मैले लगभग दुई घण्टा बिताएँ। तर बिहानको प्रारम्भिक घण्टालाई विचार गर्दै, म सुत्न रुचाउँछु ... र त्यो राम्रो कुरा थियो।

अर्को दिन, मसँग सिधै Apple बाट रेडिमेड नमूना TVML एप्लिकेसन डाउनलोड गर्ने उज्यालो विचार थियो। मैले कोडमा धेरै चाँडै खोजेको कुरा फेला पारे र बटन लाइभ र काम गरिरहेको थियो। अन्य चीजहरू मध्ये, मैले इन्टरनेटमा tvOS ट्यूटोरियलको पहिलो दुई भागहरू पनि पत्ता लगाए। दुबै स्रोतहरूले धेरै मद्दत गरे, त्यसैले मैले नयाँ परियोजना सुरु गरें र मेरो पहिलो वास्तविक अनुप्रयोग सुरु गरें।

पहिलो वास्तविक आवेदन

मैले स्क्र्याचबाट पूर्ण रूपमा सुरु गरें, पहिलो TVML पृष्ठ। फाइदा यो हो कि एप्पलले विकासकर्ताहरूको लागि 18 रेडिमेड TVML टेम्प्लेटहरू तयार गरेको छ जुन कागजातबाट मात्र प्रतिलिपि गर्न आवश्यक छ। एउटा टेम्प्लेट सम्पादन गर्न करिब एक घन्टा लाग्यो, मुख्यतया किनकी मैले हाम्रो एपीआई तयार गरिरहेकी थिएँ।

दोस्रो टेम्प्लेटले मात्र 10 मिनेट लियो। मैले दुईवटा जाभास्क्रिप्टहरू थपेको छु - तिनीहरूमा धेरैजसो कोडहरू एप्पलबाट सिधै आउँछन्, त्यसैले किन व्हील पुन: आविष्कार गर्ने। एप्पलले सिफारिस गरिएको सामग्री लोडिङ सूचक र सम्भावित त्रुटि प्रदर्शन सहित TVML टेम्प्लेटहरू लोड गर्ने र प्रदर्शन गर्ने ख्याल राख्ने स्क्रिप्टहरू तयार गरेको छ।

दुई घन्टा भन्दा कममा, मैले धेरै खाली, तर काम गर्ने PLAY.CZ एप्लिकेसन सँगै राख्न सक्षम भएँ। यसले रेडियो स्टेशनहरूको सूची प्रदर्शन गर्न सक्छ, यसले यसलाई विधाद्वारा फिल्टर गर्न सक्छ र यसले रेडियो सुरु गर्न सक्छ। हो, धेरै चीजहरू एपमा छैनन्, तर आधारभूत कामहरू।

[youtube id="kLKvWC-rj7Q" चौडाई = "620" उचाइ = "360"]

फाइदा यो हो कि एप्लिकेसन मूलतया वेबसाइटको एक विशेष संस्करण भन्दा बढि केहि होइन, जुन जाभास्क्रिप्ट द्वारा संचालित छ र तपाइँ उपस्थिति परिमार्जन गर्न CSS प्रयोग गर्न सक्नुहुन्छ।

एप्पलले अझै केही थप चीजहरू तयार गर्न आवश्यक छ। अनुप्रयोग प्रतिमा एक होइन, तर दुई - सानो र ठूलो। नवीनता यो हो कि प्रतिमा साधारण छवि होइन, तर एक लंबन प्रभाव समावेश गर्दछ र 2 देखि 5 तहहरू (पृष्ठभूमि, मध्य र अग्रभूमिमा वस्तुहरू) मिलेर बनेको छ। अनुप्रयोग भर सबै सक्रिय छविहरू समान प्रभाव समावेश गर्न सक्छन्।

प्रत्येक तह वास्तवमा पारदर्शी पृष्ठभूमिमा एउटा छवि मात्र हो। एप्पलले यी स्तरित छविहरू कम्पाइल गर्नको लागि आफ्नै अनुप्रयोग तयार गरेको छ र छिट्टै Adobe Photoshop को लागि निर्यात प्लगइन जारी गर्ने वाचा गर्दछ।

अर्को आवश्यकता "शीर्ष शेल्फ" छवि हो। यदि प्रयोगकर्ताले एपलाई शीर्ष पङ्क्तिमा (शीर्ष शेल्फमा) प्रमुख स्थानमा राख्छ भने, एपले एप सूचीको माथिको डेस्कटपको लागि सामग्री पनि उपलब्ध गराउनुपर्छ। त्यहाँ या त केवल एक साधारण तस्वीर हुन सक्छ वा यो सक्रिय क्षेत्र हुन सक्छ, उदाहरणका लागि मनपर्ने चलचित्रहरूको सूची वा, हाम्रो अवस्थामा, रेडियो स्टेशनहरू।

धेरै विकासकर्ताहरूले भर्खरै नयाँ tvOS को सम्भावनाहरू अन्वेषण गर्न थालेका छन्। राम्रो समाचार यो हो कि सामग्री एप लेख्न धेरै सजिलो छ, र Apple TVML को साथ विकासकर्ताहरूको लागि लामो बाटो गएको छ। एप्लिकेसन निर्माण गर्न (उदाहरणका लागि PLAY.CZ वा iVyszílő) सजिलो र छिटो हुनुपर्छ। नयाँ एप्पल टिभी बिक्रीमा जाँदा एकै समयमा ठूलो संख्यामा एपहरू तयार हुने राम्रो सम्भावना छ।

नेटिभ एप लेख्नु वा iOS बाट tvOS मा खेल पोर्ट गर्नु अझ चुनौतीपूर्ण हुनेछ, तर धेरै होइन। सबैभन्दा ठूलो बाधा फरक नियन्त्रणहरू र 200MB प्रति एप सीमा हुनेछ। एउटा नेटिभ एप्लिकेसनले स्टोरबाट डाटाको सीमित भाग मात्र डाउनलोड गर्न सक्छ, र अरू सबै कुरा थप रूपमा डाउनलोड गरिनुपर्छ, र प्रणालीले यो डाटा मेटाउने छैन भन्ने कुनै ग्यारेन्टी छैन। यद्यपि, विकासकर्ताहरूले निश्चित रूपमा यो सीमिततालाई चाँडै समाधान गर्नेछन्, "एप थिनिङ" नामक उपकरणहरूको सेटको उपलब्धतालाई पनि धन्यवाद, जुन iOS 9 को पनि अंश हो।

.