Isara ang ad

Ang Apple noong nakaraang linggo ay ipinakita, bukod sa iba pang mga bagay ang bagong Apple TV gamit ang tvOS operating system. Ang katotohanan na ang mga application mula sa App Store ay maaaring mai-install sa bagong itim na kahon ay tiyak na nagpasaya sa mga developer.

May dalawang opsyon ang mga developer. Maaari silang magsulat ng katutubong app na may ganap na access sa hardware ng Apple TV. Ang available na SDK (set ng mga library para sa mga developer) ay halos kapareho sa alam na ng mga developer mula sa iPhone, iPad, at ang mga programming language ay pareho - Objective-C at ang nakababatang Swift.

Ngunit para sa mas simpleng mga application, inaalok ng Apple ang mga developer ng pangalawang opsyon sa anyo ng TVML - Television Markup Language. Kung sa tingin mo ay mukhang kahina-hinalang HTML ang pangalang TVML, tama ka. Ito ay talagang isang markup language na batay sa XML at halos kapareho sa HTML, ngunit ito ay mas simple at may mas mahigpit na syntax. Ngunit ito ay ganap na perpekto para sa mga application tulad ng Netflix. At makikinabang din ang mga user, dahil ang kahigpitan ng TVML ay gagawing magkapareho ang hitsura at paggana ng mga multimedia application.

Path sa unang application

Kaya ang unang bagay na kailangan kong gawin ay i-download ang bagong beta na bersyon ng Xcode development environment (bersyon 7.1 ay magagamit dito). Nagbigay ito sa akin ng access sa tvOS SDK at nakapagsimula ng bagong proyekto na partikular na nagta-target sa ikaapat na henerasyon ng Apple TV. Ang app ay maaaring tvOS-only, o ang code ay maaaring idagdag sa isang umiiral nang iOS app para gumawa ng "unibersal" na app - isang modelong katulad ng mga iPhone at iPad na app ngayon.

Unang problema: Nag-aalok lamang ang Xcode ng kakayahang lumikha ng katutubong app. Ngunit napakabilis kong nakahanap ng isang seksyon sa dokumentasyon na makakatulong sa mga developer na baguhin ang balangkas na ito at ihanda ito para sa TVML. Karaniwan, ito ay ilang linya ng code sa Swift na, sa Apple TV lang, ay lumikha ng isang full-screen na bagay at i-load ang pangunahing bahagi ng app, na nakasulat na sa JavaScript.

Dalawang problema: Ang mga application ng TVML ay talagang halos kapareho sa isang web page, at samakatuwid ang lahat ng code ay na-load din mula sa Internet. Ang application mismo ay talagang isang "bootloader" lamang, naglalaman lamang ito ng isang minimum na code at ang pinakapangunahing mga elemento ng graphic (icon ng application at mga katulad nito). Sa huli, matagumpay kong inilagay ang pangunahing JavaScript code nang direkta sa app at nakakuha ng kakayahang magpakita man lang ng custom na mensahe ng error kapag ang Apple TV ay hindi nakakonekta sa Internet.

Ang ikatlong maliit na problema: iOS 9 at kasama nito ang tvOS ay mahigpit na nangangailangan na ang lahat ng komunikasyon patungo sa Internet ay maganap na naka-encrypt sa pamamagitan ng HTTPS. Isa itong feature na ipinakilala sa iOS 9 para sa lahat ng app at ang dahilan ay pressure sa privacy ng user at seguridad ng data. Kaya't kakailanganing mag-deploy ng SSL certificate sa web server. Maaari itong bilhin sa halagang kasing liit ng $5 (120 crowns) bawat taon, o maaari mong gamitin, halimbawa, ang serbisyo ng CloudFlare, na mag-iisang mag-aasikaso sa HTTPS, awtomatiko at walang pamumuhunan. Ang pangalawang opsyon ay i-off ang paghihigpit na ito para sa application, na posible sa ngayon, ngunit tiyak na hindi ko ito inirerekomenda.

Pagkatapos ng ilang oras ng pagbabasa ng dokumentasyon, kung saan may mga paminsan-minsang maliliit na error, gumawa ako ng isang napaka-basic ngunit gumaganang aplikasyon. Ipinakita nito ang sikat na text na "Hello World" at dalawang button. Humigit-kumulang dalawang oras akong nagsusumikap na maging aktibo ang button at talagang gumawa ng isang bagay. Ngunit kung isasaalang-alang ang mga maagang oras ng umaga, mas gusto kong matulog… at iyon ay isang magandang bagay.

Noong isang araw, nagkaroon ako ng magandang ideya na mag-download ng isang handa na sample na application ng TVML nang direkta mula sa Apple. Nahanap ko ang hinahanap ko nang napakabilis sa code at ang button ay live at gumagana. Sa iba pang mga bagay, natuklasan ko rin ang unang dalawang bahagi ng tutorial sa tvOS sa Internet. Malaki ang naitulong ng dalawang mapagkukunan, kaya nagsimula ako ng bagong proyekto at sinimulan ang aking unang tunay na aplikasyon.

Unang tunay na aplikasyon

Nagsimula ako nang buo sa simula, ang unang pahina ng TVML. Ang kalamangan ay ang Apple ay naghanda ng 18 handa na mga template ng TVML para sa mga developer na kailangan lang kopyahin mula sa dokumentasyon. Ang pag-edit ng isang template ay tumagal ng halos isang oras, pangunahin dahil inihahanda ko ang aming API para ipadala ang natapos na TVML kasama ang lahat ng kinakailangang data sa Apple TV.

Ang pangalawang template ay tumagal lamang ng halos 10 minuto. Nagdagdag ako ng dalawang JavaScript - karamihan sa mga code sa mga ito ay direktang galing sa Apple, kaya bakit muling likhain ang gulong. Naghanda ang Apple ng mga script na nangangalaga sa paglo-load at pagpapakita ng mga template ng TVML, kasama ang inirerekomendang indicator ng pag-load ng nilalaman at posibleng pagpapakita ng error.

Sa wala pang dalawang oras, nakapagsama-sama ako ng isang napaka-hubad, ngunit gumaganang PLAY.CZ na application. Maaari itong magpakita ng isang listahan ng mga istasyon ng radyo, maaari itong i-filter ayon sa genre at maaari nitong simulan ang radyo. Oo, maraming bagay ang wala sa app, ngunit gumagana ang mga pangunahing kaalaman.

[youtube id=”kLKvWC-rj7Q” width=”620″ height=”360″]

Ang kalamangan ay ang application ay karaniwang walang iba kundi isang espesyal na bersyon ng website, na pinapagana ng JavaScript at maaari mo ring gamitin ang CSS upang baguhin ang hitsura.

Nangangailangan pa rin ang Apple ng ilang higit pang mga bagay upang ihanda. Ang icon ng application ay hindi isa, ngunit dalawa - mas maliit at mas malaki. Ang bago ay ang icon ay hindi isang simpleng imahe, ngunit naglalaman ng paralaks na epekto at binubuo ng 2 hanggang 5 layer (background, mga bagay sa gitna at foreground). Ang lahat ng mga aktibong larawan sa buong application ay maaaring maglaman ng parehong epekto.

Ang bawat layer ay talagang isang imahe lamang sa isang transparent na background. Inihanda ng Apple ang sarili nitong application para sa pag-compile ng mga layered na larawang ito at nangangako na maglalabas ng export plugin para sa Adobe Photoshop sa lalong madaling panahon.

Ang isa pang kinakailangan ay isang "Nangungunang Shelf" na larawan. Kung ilalagay ng user ang app sa isang kitang-kitang posisyon sa itaas na row (sa itaas na istante), dapat ding magbigay ang app ng content para sa desktop sa itaas ng listahan ng app. Maaaring mayroong alinman sa isang simpleng larawan o maaari itong maging isang aktibong lugar, halimbawa na may listahan ng mga paboritong pelikula o, sa aming kaso, mga istasyon ng radyo.

Nagsisimula pa lang tuklasin ng maraming developer ang mga posibilidad ng bagong tvOS. Ang magandang balita ay napakadali ng pagsulat ng content app, at malayo na ang narating ng Apple para sa mga developer na may TVML. Ang pagbuo ng isang application (halimbawa PLAY.CZ o iVyszílő) ay dapat na madali at mabilis. May magandang pagkakataon na ang isang malaking bilang ng mga application ay magiging handa kasabay ng pagbebenta ng bagong Apple TV.

Ang pagsulat ng katutubong app o pag-port ng laro mula sa iOS patungo sa tvOS ay magiging mas mahirap, ngunit hindi gaanong. Ang pinakamalaking hadlang ay magkakaibang mga kontrol at isang 200MB bawat limitasyon ng app. Ang isang katutubong application ay maaari lamang mag-download ng isang limitadong bahagi ng data mula sa tindahan, at lahat ng iba pa ay dapat na ma-download bilang karagdagan, at walang garantiya na hindi tatanggalin ng system ang data na ito. Gayunpaman, tiyak na haharapin ng mga developer ang limitasyong ito nang mabilis, salamat din sa pagkakaroon ng isang set ng mga tool na tinatawag na "App Thinning", na bahagi rin ng iOS 9.

Mga Paksa: , ,
.