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.
Magandang artikulo. Salamat. Marahil sa oras na makikita natin mula sa Apple ang isang solusyon ng gumagamit para sa paghahanda ng mas simpleng mga application (mga solusyon), hangga't maaari sa FileMaker para sa iOS, nang hindi ako isang developer.
Sa teorya… ang Swift loader ay ilang linya na pareho pa rin, tanging ang URL para sa unang TVML file ang nagbabago. Kung gusto ng isang tao, maaari silang magsulat ng script na maaaring malayuang magpatakbo ng build gamit ang iyong URL at magpadala ng IPA file. O kung mayroon kang mac, walang problema na ipadala ang proyekto, kung saan ilalagay mo lang ang URL at simulan ang build. Ang kalamangan ay kung ang TVML ay nasa labas ng application, kailangan mo lang talaga ng isang pampublikong build at posibleng isang pribadong (development) na build, at maaari mo lamang baguhin ang TVML sa server at sa gayon ang paggana ng application.
"Ang app ay maaaring tvOS-only, o ang code ay maaaring idagdag sa isang umiiral na iOS app upang lumikha ng isang 'one-size-fits-all' na app - isang modelong katulad ng iPhone at iPad apps ngayon."
I wonder kung anong ibig mong sabihin? Sa personal, wala akong nakita kahit saan na paraan para gumawa ng 1 build na magsasama ng unibersal na iPhone, iPad at Apple TV.. dahil magkahiwalay sila ng mga SDK (katulad ng OSX), kailangan mo ng dagdag na target para sa tvOS at sa gayon ay hiwalay din ang build. .May nawawala ako?
sa Xcode 7.1 tvOS application ay maaaring idagdag bilang isa pang target sa isang umiiral nang proyekto - katulad ng mga application para sa Apple Watch o marahil isang widget para sa notification center. Gayunpaman, hindi ko pa alam kung paano ito ia-upload sa tindahan... Ipinapalagay ko na ang Xcode ay magpapadala ng isang pakete at pagkatapos ay hahatiin ito ng App Store... Malamang na katulad ng ginagawa nila sa Watch ngayon
noo.. sa aking opinyon, ito ay 2 ganap na magkakaibang mga bagay.. ang relo ay isang extension.. o hindi bababa sa ito ay hanggang sa watchOS 2.0.. ibinigay ito kasama ng target na iOS at hindi gumana nang walang iPhone.. Ang ATV ay isang hiwalay na entity.. iyon ang pinag-uusapan ko, kung ang build para sa ATV ay magiging hiwalay (kailangan mong magbayad para sa 2$) at bilang karagdagan ang iOS ay binayaran ng 2$, o posible bang magbigay ng isang unibersal 2$ build para sa iOS at ATV. family para sa ATV..
kaya ang tunay na paglulunsad ay lalabas, ngunit ito ay talagang kumikilos katulad ng Apple Watch code, halimbawa. Kung hindi, ang dokumentasyon ay nagsasaad na posibleng magdagdag ng code para sa tvOS sa umiiral na application at sa gayon ay posibleng magbenta ng isang app (isang entity sa App Store) para sa iOS at tvOS nang sabay - isang pagbili para sa ang customer, o bilang isang hiwalay na entity - isang hiwalay na pagbili para sa iOS at para sa tvOS.
Upang linawin, hindi ito 200MB bawat app, ngunit 200MB ang lokal na nakaimbak at ang iba ay dina-download mula sa net kapag kinakailangan
Salamat, iyon ang naisip ko, ngunit malamang na mali ang pagkakasabi ko. Lahat ng higit sa 200MB (o lahat ng karagdagang na-download) ay naka-imbak bilang isang cache at kung ang system ay nagpasya na ito ay nauubusan ng espasyo, ito ay magsisimulang tanggalin ito - na malamang na hindi mangyayari hanggang may sapat na libreng espasyo at pagkatapos ay ang hindi gaanong ginagamit na nilalaman ay tatanggalin, kaya ito sa pagsasanay ay malamang na hindi ito magiging malaking problema.
Ano pa ang kailangan kong malaman, kunwari ang limitasyong ito ay hindi nalalapat sa mga laro, o ang laro ay maaaring mas malaki sa 200MB sa mismong base. Ngunit hindi ko pa rin alam kung paano eksakto ang ibig sabihin nito. Posible na inaayos pa rin ng Apple ang patakarang ito ayon sa feedback mula sa mga developer.
hehe Pokemon TCG – 4 GB, Mag-order ng kaguluhan online – 1,6 GB Hearthstone 1,3 GB Talagang curious ako dito.
mayroong impormasyon na ang mga laro ay may espesyal na mode. Pinagsasama-sama ko ngayon ang mga detalye at kukumpletuhin natin ang artikulo.
Hindi ko ito magagawa, at humihingi ako ng paumanhin nang maaga kung nakasakit ako ng sinuman, ngunit mayroon lang akong napakalaking, taos-puso at tunay na kagalakan na nais kong ibahagi sa iyo...
Ang araw pagkatapos ng anunsyo ng bagong Apple TV, hindi ako tinamad at nag-sign up para sa Apple lottery (pipiliin ko ba?) na may posibilidad na makakuha ng Developer Kit bago pa man ito mabenta.
Kahapon ng gabi, sinulatan ako ni Apple na pinili ako para sa unang batch :)
Kaya, hindi ako katulad ng may-akda ng artikulong ito, at tapat akong nagtatrabaho sa Preschool Brasnicce para sa Apple TV - magagamit sa iyong App Store sa Oktubre :)
kaya feeling ko lahat ng nagparegister eh nakuha na :) Nag order din ako kahapon and I'm really looking forward to it... And I know one more person who waiting for his delivery...
Anyway, so far mukhang marami na sigurong apps kapag nagsimula na ang benta :)
Malamang hindi lahat - hindi nila binigay sa akin :(
:( Naaawa ako sayo.
Kung may gusto, mayroon akong walong puting Apple sticker... Maaari ko silang ipadala sa koreo...