ऍपलने गेल्या आठवड्यात इतर गोष्टींबरोबरच सादर केले नवीन ऍपल टीव्ही tvOS ऑपरेटिंग सिस्टमसह. नवीन ब्लॅक बॉक्समध्ये ॲप स्टोअरवरील अनुप्रयोग स्थापित केले जाऊ शकतात या वस्तुस्थितीमुळे विकासकांना नक्कीच आनंद झाला.
विकसकांकडे दोन पर्याय आहेत. ते एक मूळ ॲप लिहू शकतात ज्यात Apple TV हार्डवेअरमध्ये पूर्ण प्रवेश आहे. उपलब्ध SDK (डेव्हलपरसाठी लायब्ररींचा संच) आयफोन, आयपॅड वरून विकसकांना आधीपासूनच माहित असलेल्या गोष्टींसारखेच आहे आणि प्रोग्रामिंग भाषा समान आहेत - ऑब्जेक्टिव्ह-सी आणि तरुण स्विफ्ट.
परंतु सोप्या अनुप्रयोगांसाठी, Apple ने विकसकांना TVML - टेलिव्हिजन मार्कअप लँग्वेजच्या रूपात दुसरा पर्याय ऑफर केला. जर तुम्हाला TVML हे नाव HTML सारखे संशयास्पद वाटत असेल तर तुम्ही बरोबर आहात. ही खरोखर XML वर आधारित मार्कअप भाषा आहे आणि HTML सारखीच आहे, फक्त ती खूप सोपी आहे आणि एक कठोर वाक्यरचना आहे. पण Netflix सारख्या ऍप्लिकेशन्ससाठी ते पूर्णपणे योग्य आहे. आणि वापरकर्त्यांनाही फायदा होईल, कारण TVML च्या कडकपणामुळे मल्टीमीडिया ॲप्लिकेशन्स सारखेच दिसतील आणि कामही करतील.
पहिल्या अर्जाचा मार्ग
म्हणून मला पहिली गोष्ट करायची होती ती म्हणजे Xcode विकास वातावरणाची नवीन बीटा आवृत्ती डाउनलोड करणे (आवृत्ती 7.1 उपलब्ध आहे. येथे). यामुळे मला tvOS SDK मध्ये प्रवेश मिळाला आणि विशेषत: चौथ्या पिढीच्या Apple TV ला लक्ष्य करणारा एक नवीन प्रकल्प सुरू करता आला. ॲप फक्त-tvOS असू शकतो किंवा "युनिव्हर्सल" ॲप तयार करण्यासाठी विद्यमान iOS ॲपमध्ये कोड जोडला जाऊ शकतो - आजच्या iPhone आणि iPad ॲप्ससारखे मॉडेल.
समस्या एक: Xcode केवळ मूळ ॲप तयार करण्याची क्षमता प्रदान करतो. परंतु मला दस्तऐवजीकरणात एक विभाग खूप लवकर सापडला जो विकासकांना हा सांगाडा बदलण्यात आणि TVML साठी तयार करण्यात मदत करेल. मुळात, स्विफ्टमधील कोडच्या काही ओळी आहेत, जे फक्त Apple टीव्हीवर, एक पूर्ण-स्क्रीन ऑब्जेक्ट तयार करतात आणि ॲपचा मुख्य भाग लोड करतात, जो आधीपासून JavaScript मध्ये लिहिलेला आहे.
समस्या दोन: TVML ऍप्लिकेशन्स खरोखर वेब पृष्ठासारखे असतात आणि म्हणून सर्व कोड इंटरनेटवरून लोड केले जातात. अनुप्रयोग स्वतःच एक "बूटलोडर" आहे, त्यात फक्त किमान कोड आणि सर्वात मूलभूत ग्राफिक घटक (अनुप्रयोग चिन्ह आणि सारखे) असतात. सरतेशेवटी, मी यशस्वीरित्या मुख्य JavaScript कोड थेट ॲपमध्ये ठेवला आणि Apple TV इंटरनेटशी कनेक्ट नसताना किमान एक सानुकूल त्रुटी संदेश प्रदर्शित करण्याची क्षमता मिळाली.
तिसरी छोटी समस्या: iOS 9 आणि tvOS साठी काटेकोरपणे आवश्यक आहे की इंटरनेटवरील सर्व संप्रेषण HTTPS द्वारे एन्क्रिप्ट केले जावे. हे सर्व ॲप्ससाठी iOS 9 मध्ये सादर केलेले वैशिष्ट्य आहे आणि त्याचे कारण म्हणजे वापरकर्त्याची गोपनीयता आणि डेटा सुरक्षिततेवर दबाव आहे. त्यामुळे वेब सर्व्हरवर SSL प्रमाणपत्र उपयोजित करणे आवश्यक असेल. हे प्रति वर्ष कमीत कमी $5 (120 मुकुट) मध्ये खरेदी केले जाऊ शकते किंवा तुम्ही वापरू शकता, उदाहरणार्थ, क्लाउडफ्लेअर सेवा, जी HTTPS ची स्वतःहून, आपोआप आणि गुंतवणुकीशिवाय काळजी घेईल. दुसरा पर्याय म्हणजे अनुप्रयोगासाठी हे निर्बंध बंद करणे, जे सध्या शक्य आहे, परंतु मी निश्चितपणे याची शिफारस करणार नाही.
कागदपत्रे वाचल्यानंतर काही तासांनंतर, जिथे अजूनही अधूनमधून किरकोळ त्रुटी आहेत, मी एक अतिशय मूलभूत परंतु कार्यरत अनुप्रयोग तयार केला. त्यात लोकप्रिय मजकूर "हॅलो वर्ल्ड" आणि दोन बटणे प्रदर्शित केली गेली. मी बटण सक्रिय होण्यासाठी आणि प्रत्यक्षात काहीतरी करण्याचा प्रयत्न करत सुमारे दोन तास घालवले. पण पहाटेची वेळ लक्षात घेता, मी झोपायला जाणे पसंत केले… आणि ती चांगली गोष्ट होती.
दुसऱ्या दिवशी, मला थेट Apple वरून एक रेडीमेड नमुना TVML ऍप्लिकेशन डाउनलोड करण्याची उज्ज्वल कल्पना आली. मी कोडमध्ये जे शोधत होतो ते मला त्वरीत सापडले आणि बटण थेट आणि कार्यरत होते. इतर गोष्टींबरोबरच, मी इंटरनेटवर tvOS ट्यूटोरियलचे पहिले दोन भाग देखील शोधले. दोन्ही संसाधनांनी खूप मदत केली, म्हणून मी एक नवीन प्रकल्प सुरू केला आणि माझा पहिला वास्तविक अनुप्रयोग सुरू केला.
प्रथम वास्तविक अर्ज
मी पूर्णपणे सुरवातीपासून सुरुवात केली, पहिले TVML पृष्ठ. फायदा असा आहे की Apple ने विकसकांसाठी 18 रेडीमेड TVML टेम्प्लेट तयार केले आहेत ज्यांची फक्त कागदपत्रांमधून कॉपी करणे आवश्यक आहे. एक टेम्प्लेट संपादित करण्यासाठी सुमारे एक तास लागला, मुख्यत्वेकरून मी Apple TV वर सर्व आवश्यक डेटासह तयार TVML पाठवण्यासाठी आमचे API तयार करत होतो.
दुसऱ्या टेम्पलेटला फक्त 10 मिनिटे लागली. मी दोन JavaScripts जोडल्या आहेत - त्यातील बहुतेक कोड थेट Apple कडून येतात, मग चाक पुन्हा शोधण्याचे कारण. Apple ने स्क्रिप्ट्स तयार केल्या आहेत ज्यात TVML टेम्पलेट लोड करणे आणि प्रदर्शित करणे याची काळजी घेतली जाते, ज्यामध्ये शिफारस केलेले सामग्री लोडिंग निर्देशक आणि संभाव्य त्रुटी प्रदर्शन समाविष्ट आहे.
दोन तासांपेक्षा कमी वेळात, मी एक अतिशय उघड, पण कार्यरत PLAY.CZ ऍप्लिकेशन एकत्र ठेवू शकलो. हे रेडिओ स्टेशनची सूची प्रदर्शित करू शकते, ते शैलीनुसार फिल्टर करू शकते आणि ते रेडिओ सुरू करू शकते. होय, बऱ्याच गोष्टी ॲपमध्ये नाहीत, परंतु मूलभूत गोष्टी कार्य करतात.
[youtube id=”kLKvWC-rj7Q” रुंदी=”620″ उंची=”360″]
फायदा असा आहे की अनुप्रयोग मुळात वेबसाइटच्या विशेष आवृत्तीपेक्षा अधिक काही नाही, जे JavaScript द्वारे समर्थित आहे आणि आपण देखावा सुधारण्यासाठी CSS देखील वापरू शकता.
Apple ला अजून काही गोष्टींची तयारी करायची आहे. अनुप्रयोग चिन्ह एक नाही, परंतु दोन - लहान आणि मोठे. नवीनता अशी आहे की चिन्ह ही साधी प्रतिमा नाही, परंतु त्यात पॅरॅलॅक्स प्रभाव आहे आणि 2 ते 5 स्तर (पार्श्वभूमी, मध्यभागी आणि अग्रभागातील वस्तू) बनलेला आहे. संपूर्ण अनुप्रयोगावरील सर्व सक्रिय प्रतिमांमध्ये समान प्रभाव असू शकतो.
प्रत्येक स्तर प्रत्यक्षात पारदर्शक पार्श्वभूमीवर फक्त एक प्रतिमा आहे. Apple ने या स्तरित प्रतिमा संकलित करण्यासाठी स्वतःचा अनुप्रयोग तयार केला आहे आणि लवकरच Adobe Photoshop साठी निर्यात प्लगइन जारी करण्याचे वचन दिले आहे.
दुसरी आवश्यकता "टॉप शेल्फ" प्रतिमा आहे. वापरकर्त्याने ॲपला वरच्या ओळीत (वरच्या शेल्फवर) प्रमुख स्थानावर ठेवल्यास, ॲपने ॲप सूचीच्या वर असलेल्या डेस्कटॉपसाठी सामग्री देखील प्रदान करणे आवश्यक आहे. एकतर फक्त एक साधे चित्र असू शकते किंवा ते सक्रिय क्षेत्र असू शकते, उदाहरणार्थ आवडत्या चित्रपटांच्या सूचीसह किंवा आमच्या बाबतीत, रेडिओ स्टेशन.
अनेक विकासक नुकतेच नवीन tvOS च्या शक्यता शोधू लागले आहेत. चांगली बातमी अशी आहे की सामग्री ॲप लिहिणे खूप सोपे आहे, आणि Apple TVML सह विकसकांसाठी खूप पुढे गेले आहे. अनुप्रयोग तयार करणे (उदाहरणार्थ PLAY.CZ किंवा iVyszílő) सोपे आणि जलद असावे. नवीन ऍपल टीव्ही विक्रीवर असताना एकाच वेळी मोठ्या संख्येने ऍप्लिकेशन तयार होण्याची चांगली संधी आहे.
मूळ ॲप लिहिणे किंवा iOS वरून tvOS वर गेम पोर्ट करणे अधिक आव्हानात्मक असेल, परंतु जास्त नाही. सर्वात मोठा अडथळा भिन्न नियंत्रणे आणि 200MB प्रति ॲप मर्यादा असेल. नेटिव्ह ॲप्लिकेशन स्टोअरमधून डेटाचा केवळ मर्यादित भाग डाउनलोड करू शकतो आणि इतर सर्व काही अतिरिक्तपणे डाउनलोड करावे लागतील आणि सिस्टम हा डेटा हटवणार नाही याची कोणतीही हमी नाही. तथापि, डेव्हलपर नक्कीच या मर्यादेचा त्वरीत सामना करतील, तसेच iOS 9 चा भाग असलेल्या "App Thinning" नावाच्या साधनांच्या संचाच्या उपलब्धतेबद्दल धन्यवाद.
छान लेख. धन्यवाद. कदाचित कालांतराने आम्ही Apple कडून सोप्या ऍप्लिकेशन्स (सोल्यूशन्स) तयार करण्यासाठी वापरकर्ता उपाय देखील पाहू शकू, जसे की IOS साठी FileMaker सह शक्य आहे, मी विकसक नसतो.
सिद्धांतानुसार... स्विफ्ट लोडर ही काही ओळी आहेत जी अजूनही समान आहेत, फक्त पहिल्या TVML फाइलची URL बदलते. एखाद्याला हवे असल्यास, ते कदाचित एक स्क्रिप्ट लिहू शकतात जी दूरस्थपणे तुमच्या URL सह बिल्ड चालवू शकते आणि IPA फाइल परत पाठवू शकते. किंवा तुमच्याकडे मॅक असल्यास, प्रकल्प पाठवण्यास काहीच हरकत नाही, जिथे तुम्ही फक्त URL टाका आणि बिल्ड सुरू करा. फायदा असा आहे की जर TVML ऍप्लिकेशनच्या बाहेर असेल, तर तुम्हाला प्रत्यक्षात फक्त एक सार्वजनिक बिल्ड आणि शक्यतो एक खाजगी (विकास) बिल्ड आवश्यक आहे आणि तुम्ही फक्त सर्व्हरवर TVML बदलू शकता आणि अशा प्रकारे ऍप्लिकेशनचे कार्य.
"ॲप फक्त-tvOS असू शकते, किंवा 'एक-आकार-फिट-ऑल' ॲप तयार करण्यासाठी विद्यमान iOS ॲपमध्ये कोड जोडला जाऊ शकतो - आजच्या iPhone आणि iPad ॲप्ससारखे मॉडेल."
मला आश्चर्य वाटते की तुम्हाला काय म्हणायचे आहे? वैयक्तिकरित्या, मला 1 बिल्ड बनवण्याचा मार्ग कुठेही सापडला नाही ज्यामध्ये युनिव्हर्सल iPhone, iPad आणि Apple TV यांचा समावेश असेल.. ते वेगळे SDKs (OSX सारखेच) असल्याने, तुम्हाला tvOS साठी अतिरिक्त लक्ष्य आवश्यक आहे आणि त्यामुळे वेगळ्या बिल्डची देखील आवश्यकता आहे. .माझं काही चुकतंय ?
Xcode 7.1 मध्ये tvOS ऍप्लिकेशन्स आधीपासून अस्तित्वात असलेल्या प्रोजेक्टसाठी दुसरे लक्ष्य म्हणून जोडले जाऊ शकतात - ऍपल वॉचच्या ऍप्लिकेशन्ससारखे किंवा कदाचित सूचना केंद्रासाठी विजेट. तथापि, मला अद्याप माहित नाही की ते स्टोअरमध्ये कसे अपलोड केले जाईल... मी असे गृहीत धरतो की Xcode एक पॅकेज पाठवेल आणि ॲप स्टोअर नंतर त्याचे विभाजन करेल... कदाचित ते आता वॉचसह करतात त्यासारखेच
noo.. माझ्या मते, या 2 पूर्णपणे भिन्न गोष्टी आहेत.. घड्याळ एक विस्तार आहे.. किंवा किमान ते watchOS 2.0.. पर्यंत होते. ते iOS लक्ष्यासह दिले गेले होते आणि आयफोनशिवाय देखील कार्य करत नव्हते. एटीव्ही ही एक वेगळी संस्था आहे.. मी त्याबद्दल बोलत आहे, एटीव्हीसाठी बिल्ड वेगळे असेल (तुम्हाला 2$ भरावे लागतील) आणि त्याव्यतिरिक्त iOS ने 2$ साठी पैसे दिले आहेत, किंवा सार्वत्रिक अनुदान देणे शक्य होईल का iOS आणि ATV दोन्हीसाठी 2$ बिल्ड. ATV साठी कुटुंब..
त्यामुळे वास्तविक लाँच दिसून येईल, परंतु ते खरोखर Apple वॉच कोड प्रमाणेच वागते, उदाहरणार्थ. अन्यथा, दस्तऐवजात असे म्हटले आहे की विद्यमान अनुप्रयोगामध्ये tvOS साठी कोड जोडणे शक्य होईल आणि अशा प्रकारे iOS आणि tvOS दोन्हीसाठी एकाच वेळी एक ॲप (ॲप स्टोअरमधील एक संस्था) विकणे शक्य होईल - एक खरेदी ग्राहक, किंवा वेगळी संस्था म्हणून - iOS आणि tvOS साठी वेगळी खरेदी.
फक्त स्पष्ट करण्यासाठी, हे प्रति ॲप 200MB नाही, तर 200MB स्थानिक पातळीवर संग्रहित केले जाते आणि उर्वरित आवश्यकतेनुसार नेटवरून डाउनलोड केले जाते.
धन्यवाद, मला तेच वाटले होते, परंतु मी कदाचित चुकीचा शब्द लिहिला आहे. 200MB वरील प्रत्येक गोष्ट (किंवा अतिरिक्त डाउनलोड केलेली प्रत्येक गोष्ट) कॅशे म्हणून संग्रहित केली जाते आणि जर सिस्टमने ठरवले की ती जागा संपत आहे, तर ती ती हटवण्यास सुरुवात करते - जे कदाचित पुरेशी मोकळी जागा आणि नंतर कमीत कमी वापरलेली सामग्री होईपर्यंत होणार नाही. हटविले जाईल, त्यामुळे व्यवहारात कदाचित ही फारशी समस्या होणार नाही.
मला आणखी काय शोधायचे आहे, समजा ही मर्यादा खेळांना लागू होणार नाही, किंवा गेम बेसवर 200MB पेक्षा मोठा असू शकतो. पण याचा नेमका अर्थ नेमका कसा आहे हे मला अजूनही माहीत नाही. हे अगदी शक्य आहे की Apple अजूनही हे धोरण विकसकांच्या अभिप्रायानुसार समायोजित करत आहे.
hehe Pokemon TCG – 4 GB, ऑर्डर गोंधळ ऑनलाइन – 1,6 GB Hearthstone 1,3 GB मला याबद्दल खूप उत्सुकता आहे.
गेममध्ये एक विशेष मोड असल्याची माहिती होती. मी आता तपशील एकत्र ठेवत आहे आणि आम्ही लेख पूर्ण करू.
मी ते करू शकत नाही, आणि जर मी कोणाला दुखावले असेल तर मी आगाऊ माफी मागतो, परंतु मला फक्त एक मोठा, प्रामाणिक आणि खरा आनंद आहे जो मला तुमच्याबरोबर सामायिक करायचा आहे...
नवीन Apple TV च्या घोषणेच्या दुसऱ्या दिवशी, मी आळशी नव्हतो आणि Apple लॉटरी (मी निवडू का?) विक्रीवर जाण्यापूर्वीच विकसक किट मिळण्याच्या शक्यतेसह साइन अप केले.
काल संध्याकाळी, Apple ने मला लिहिले की त्याने मला पहिल्या बॅचसाठी निवडले आहे :)
म्हणून, मी या लेखाच्या लेखकासारखा नाही आणि मी प्रामाणिकपणे Apple TV साठी प्रीस्कूल ब्रास्निकवर काम करत आहे - ऑक्टोबरमध्ये तुमच्या ॲप स्टोअरमध्ये उपलब्ध आहे :)
म्हणून मला असे वाटते की नोंदणी केलेल्या प्रत्येकाला ते मिळाले असावे :) मी देखील काल ऑर्डर केली होती आणि मी खरोखरच त्याची वाट पाहत आहे... आणि मला आणखी एक व्यक्ती माहित आहे जो त्याच्या वितरणाची वाट पाहत आहे...
असो, आतापर्यंत असे दिसते की विक्री सुरू झाल्यावर कदाचित बरेच ॲप्स असतील :)
कदाचित प्रत्येकजण नाही - त्यांनी मला ते दिले नाही :(
:( मला तुझ्याबद्दल वाईट वाटत आहे.
कोणाला हवे असल्यास, माझ्याकडे आठ पांढरे ऍपल स्टिकर्स आहेत... मी मेल करू शकतो...