Închide anunțul

Apple a prezentat săptămâna trecută, printre altele noul Apple TV cu sistemul de operare tvOS. Faptul că aplicațiile din App Store pot fi instalate în noua cutie neagră, cu siguranță, i-a bucurat cel mai mult pe dezvoltatori.

Dezvoltatorii au două opțiuni. Ei pot scrie o aplicație nativă care are acces deplin la hardware-ul Apple TV. SDK-ul disponibil (setul de biblioteci pentru dezvoltatori) este foarte asemănător cu ceea ce cunosc deja dezvoltatorii de pe iPhone, iPad, iar limbajele de programare sunt aceleași - Objective-C și mai tânărul Swift.

Dar pentru aplicații mai simple, Apple a oferit dezvoltatorilor o a doua opțiune sub forma TVML - Television Markup Language. Dacă simțiți că numele TVML arată în mod suspect de HTML, aveți dreptate. Este într-adevăr un limbaj de marcare bazat pe XML și foarte asemănător cu HTML, doar că este mult mai simplu și are o sintaxă mai strictă. Dar este absolut perfect pentru aplicații precum Netflix. Și utilizatorii vor beneficia și ei, deoarece strictețea TVML va face ca aplicațiile multimedia să arate și să funcționeze la fel.

Calea către prima aplicație

Așa că primul lucru pe care a trebuit să-l fac a fost să descarc noua versiune beta a mediului de dezvoltare Xcode (versiunea 7.1 este disponibilă aici). Acest lucru mi-a oferit acces la SDK-ul tvOS și am putut începe un nou proiect care vizează în mod specific Apple TV de a patra generație. Aplicația poate fi doar pentru tvOS sau codul poate fi adăugat la o aplicație iOS existentă pentru a crea o aplicație „universală” – un model similar cu aplicațiile pentru iPhone și iPad de astăzi.

Problema unu: Xcode oferă doar posibilitatea de a crea o aplicație nativă. Dar am găsit foarte repede o secțiune în documentație care îi va ajuta pe dezvoltatori să schimbe acest schelet și să-l pregătească pentru TVML. Practic, sunt câteva linii de cod în Swift care, doar pe Apple TV, creează un obiect pe ecran complet și încarcă partea principală a aplicației, care este deja scrisă în JavaScript.

Problema a doua: aplicațiile TVML sunt într-adevăr foarte asemănătoare cu o pagină web și, prin urmare, tot codul este încărcat și de pe Internet. Aplicația în sine este de fapt doar un „bootloader”, conține doar un minim de cod și cele mai elementare elemente grafice (pictograma aplicației și altele asemenea). În cele din urmă, am introdus cu succes codul principal JavaScript direct în aplicație și am avut posibilitatea de a afișa cel puțin un mesaj de eroare personalizat atunci când Apple TV nu este conectat la Internet.

A treia mică problemă: iOS 9 și cu el tvOS necesită strict ca toată comunicarea către Internet să aibă loc criptată prin HTTPS. Aceasta este o caracteristică introdusă în iOS 9 pentru toate aplicațiile și motivul este presiunea asupra confidențialității utilizatorilor și a securității datelor. Deci va fi necesar să implementați un certificat SSL pe serverul web. Poate fi achiziționat cu doar 5 USD (120 de coroane) pe an sau puteți folosi, de exemplu, serviciul CloudFlare, care se va ocupa de HTTPS de la sine, automat și fără investiții. A doua opțiune este dezactivarea acestei restricții pentru aplicație, ceea ce este posibil deocamdată, dar cu siguranță nu l-aș recomanda.

După câteva ore de citit documentația, unde există încă erori minore ocazionale, am elaborat o aplicație foarte simplă, dar funcțională. Afișa textul popular „Hello World” și două butoane. Am petrecut aproximativ două ore încercând ca butonul să fie activ și să fac ceva. Dar ținând cont de primele ore ale dimineții, am preferat să dorm... și asta a fost un lucru bun.

Zilele trecute, am avut ideea strălucitoare să descarc un exemplu de aplicație TVML gata făcută direct de la Apple. Am găsit foarte repede ceea ce căutam în cod și butonul era activ și funcționa. Printre altele, am descoperit și primele două părți ale tutorialului tvOS pe Internet. Ambele resurse au ajutat foarte mult, așa că am început un nou proiect și am început prima mea aplicație reală.

Prima aplicație reală

Am început complet de la zero, prima pagină TVML. Avantajul este că Apple a pregătit 18 șabloane TVML gata făcute pentru dezvoltatori, care trebuie doar copiate din documentație. Editarea unui șablon a durat aproximativ o oră, în primul rând pentru că pregăteam API-ul nostru pentru a trimite TVML-ul final cu toate datele necesare către Apple TV.

Al doilea șablon a durat doar aproximativ 10 minute. Am adăugat două JavaScript - cea mai mare parte a codului din ele vine direct de la Apple, așa că de ce să reinventez roata. Apple a pregătit scripturi care se ocupă de încărcarea și afișarea șabloanelor TVML, inclusiv indicatorul de încărcare a conținutului recomandat și posibila afișare a erorilor.

În mai puțin de două ore, am reușit să alcătuiesc o aplicație PLAY.CZ foarte simplă, dar funcțională. Poate afișa o listă de posturi de radio, o poate filtra după gen și poate porni radioul. Da, multe lucruri nu sunt în aplicație, dar elementele de bază funcționează.

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

Avantajul este că aplicația nu este în esență altceva decât o versiune specială a site-ului web, care este alimentată de JavaScript și puteți folosi și CSS pentru a modifica aspectul.

Apple încă mai are nevoie de câteva lucruri de pregătit. Pictograma aplicației nu este una, ci două - mai mică și mai mare. Noutatea este că icoana nu este o simplă imagine, ci conține un efect de paralaxă și este compusă din 2 până la 5 straturi (fond, obiecte în mijloc și prim plan). Toate imaginile active din aplicație pot conține același efect.

Fiecare strat este de fapt doar o imagine pe un fundal transparent. Apple și-a pregătit propria aplicație pentru compilarea acestor imagini stratificate și promite că va lansa în curând un plugin de export pentru Adobe Photoshop.

O altă cerință este o imagine „Raft de sus”. Dacă utilizatorul plasează aplicația într-o poziție vizibilă pe rândul de sus (pe raftul de sus), aplicația trebuie să furnizeze și conținut pentru desktop deasupra listei de aplicații. Poate fi fie doar o simplă poză, fie poate fi o zonă activă, de exemplu cu o listă de filme preferate sau, în cazul nostru, posturi de radio.

Mulți dezvoltatori abia încep să exploreze posibilitățile noului tvOS. Vestea bună este că scrierea unei aplicații de conținut este foarte ușoară, iar Apple a parcurs un drum lung pentru dezvoltatorii cu TVML. Crearea unei aplicații (de exemplu PLAY.CZ sau iVyszilő) ar trebui să fie ușoară și rapidă. Există șanse mari ca un număr mare de aplicații să fie gata în același timp când noul Apple TV va fi pus în vânzare.

Scrierea unei aplicații native sau portarea unui joc de pe iOS pe tvOS va fi mai dificilă, dar nu cu mult. Cel mai mare obstacol va fi diferitele controale și o limită de 200 MB per aplicație. O aplicație nativă poate descărca doar o parte limitată a datelor din magazin și orice altceva trebuie descărcat suplimentar și nu există nicio garanție că sistemul nu va șterge aceste date. Cu toate acestea, dezvoltatorii se vor ocupa cu siguranță de această limitare rapid, și datorită disponibilității unui set de instrumente numite „App Thinning”, care fac, de asemenea, parte din iOS 9.

Subiecte: , ,
.