Sulje mainos

Apple esitteli viime viikolla mm uusi Apple TV tvOS-käyttöjärjestelmän kanssa. Se, että App Storen sovelluksia voi asentaa uuteen mustaan ​​laatikkoon, ilahdutti kehittäjät varmasti eniten.

Kehittäjällä on kaksi vaihtoehtoa. He voivat kirjoittaa alkuperäisen sovelluksen, jolla on täysi pääsy Apple TV:n laitteistoon. Saatavilla oleva SDK (kirjastojen sarja kehittäjille) on hyvin samanlainen kuin se, mitä kehittäjät jo tietävät iPhonesta, iPadista, ja ohjelmointikielet ovat samat - Objective-C ja nuorempi Swift.

Mutta yksinkertaisempia sovelluksia varten Apple tarjosi kehittäjille toisen vaihtoehdon TVML-muodossa - Television Markup Language. Jos sinusta tuntuu, että nimi TVML näyttää epäilyttävän HTML:ltä, olet oikeassa. Se on todellakin XML-pohjainen merkintäkieli ja hyvin samanlainen kuin HTML, mutta se on paljon yksinkertaisempi ja sillä on tiukempi syntaksi. Mutta se on ehdottoman täydellinen sovelluksiin, kuten Netflix. Siitä hyötyvät myös käyttäjät, sillä TVML:n tiukkuuden ansiosta multimediasovellukset näyttävät ja toimivat paljolti samalta.

Polku ensimmäiseen sovellukseen

Joten ensimmäinen asia, jota minun piti tehdä, oli ladata Xcode-kehitysympäristön uusi beta-versio (versio 7.1 on saatavilla zde). Tämä antoi minulle pääsyn tvOS SDK:han ja pystyin aloittamaan uuden projektin, joka kohdistui erityisesti neljännen sukupolven Apple TV:hen. Sovellus voi olla vain tvOS:lle tai koodi voidaan lisätä olemassa olevaan iOS-sovellukseen luodaksesi "universaalin" sovelluksen – samanlaisen mallin kuin iPhone- ja iPad-sovellukset nykyään.

Ongelma yksi: Xcode tarjoaa vain mahdollisuuden luoda natiivisovellus. Mutta löysin hyvin nopeasti dokumentaatiosta osan, joka auttaa kehittäjiä muuttamaan tätä luurankoa ja valmistelemaan sitä TVML:ää varten. Pohjimmiltaan se on muutama koodirivi Swiftissä, jotka luovat vain Apple TV:ssä koko näytön objektin ja lataavat sovelluksen pääosan, joka on jo kirjoitettu JavaScriptillä.

Ongelma kaksi: TVML-sovellukset ovat todella hyvin samanlaisia ​​kuin web-sivu, ja siksi kaikki koodi ladataan myös Internetistä. Itse sovellus on itse asiassa vain "käynnistyslatain", se sisältää vain minimimäärän koodia ja alkeellisimmat graafiset elementit (sovelluskuvake ja vastaavat). Lopulta laitoin onnistuneesti JavaScript-pääkoodin suoraan sovellukseen ja sain mahdollisuuden näyttää ainakin mukautetun virheilmoituksen, kun Apple TV ei ole yhteydessä Internetiin.

Kolmas pieni ongelma: iOS 9 ja sen mukana tvOS vaatii tiukasti, että kaikki viestintä Internetiin tapahtuu salattuna HTTPS:n kautta. Tämä ominaisuus on otettu käyttöön iOS 9:ssä kaikille sovelluksille, ja syynä on paine käyttäjien yksityisyyteen ja tietoturvaan. Joten on tarpeen ottaa käyttöön SSL-varmenne verkkopalvelimella. Sen voi ostaa jopa 5 dollarilla (120 kruunua) vuodessa tai käyttää esimerkiksi CloudFlare-palvelua, joka huolehtii HTTPS:stä itse, automaattisesti ja ilman investointeja. Toinen vaihtoehto on poistaa tämä rajoitus sovellukselta, mikä on toistaiseksi mahdollista, mutta en ehdottomasti suosittele sitä.

Muutaman tunnin luettuani dokumentaatiota, jossa on vielä satunnaisia ​​pieniä virheitä, kehitin hyvin perus- mutta toimivan sovelluksen. Siinä oli suosittu teksti "Hello World" ja kaksi painiketta. Vietin noin kaksi tuntia yrittäessäni saada painike aktivoitumaan ja tehdä jotain. Mutta ottaen huomioon varhaiset aamutunnit, menin mieluummin nukkumaan… ja se oli hyvä asia.

Eräänä päivänä minulla oli hyvä idea ladata valmis TVML-mallisovellus suoraan Applelta. Löysin etsimäni erittäin nopeasti koodista ja painike oli käytössä ja toimi. Löysin myös tvOS-opetusohjelman kaksi ensimmäistä osaa Internetistä mm. Molemmat resurssit auttoivat paljon, joten aloitin uuden projektin ja aloitin ensimmäisen varsinaisen hakemukseni.

Ensimmäinen todellinen sovellus

Aloitin täysin tyhjästä, ensimmäiseltä TVML-sivulta. Etuna on, että Apple on valmistanut 18 valmista TVML-mallia kehittäjille, jotka tarvitsee vain kopioida dokumentaatiosta. Yhden mallin muokkaaminen kesti noin tunnin, pääasiassa siksi, että valmistelin API:amme lähettämään valmiin TVML:n kaikki tarvittavat tiedot Apple TV:hen.

Toinen malli kesti vain noin 10 minuuttia. Olen lisännyt kaksi JavaScriptiä - suurin osa niiden koodista tulee suoraan Applelta, joten miksi keksiä pyörä uudelleen. Apple on valmistellut skriptejä, jotka huolehtivat TVML-mallien lataamisesta ja näyttämisestä, mukaan lukien suositeltu sisällön latausilmaisin ja mahdollinen virhenäyttö.

Alle kahdessa tunnissa sain koota erittäin paljaan, mutta toimivan PLAY.CZ-sovelluksen. Se voi näyttää radioasemien luettelon, suodattaa sen genren mukaan ja käynnistää radion. Kyllä, monet asiat eivät ole sovelluksessa, mutta perusasiat toimivat.

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

Etuna on, että sovellus on pohjimmiltaan vain verkkosivuston erikoisversio, joka toimii JavaScriptillä ja jonka ulkoasua voi muokata myös CSS:n avulla.

Apple vaatii vielä muutamia asioita valmistautumiseen. Sovelluskuvake ei ole yksi, vaan kaksi - pienempi ja suurempi. Uutta on, että ikoni ei ole yksinkertainen kuva, vaan sisältää parallaksiefektin ja koostuu 2-5 kerroksesta (tausta, objektit keskellä ja etualalla). Kaikki sovelluksen aktiiviset kuvat voivat sisältää saman tehosteen.

Jokainen kerros on itse asiassa vain kuva läpinäkyvällä taustalla. Apple on valmistellut oman sovelluksensa näiden kerrostuneiden kuvien kokoamiseen ja lupaa julkaista vientilaajennuksen Adobe Photoshopiin pian.

Toinen vaatimus on "Ylähylly" -kuva. Jos käyttäjä sijoittaa sovelluksen näkyvälle paikalle ylimmälle riville (ylähyllylle), sovelluksen on tarjottava sisältöä myös työpöydälle sovellusluettelon yläpuolella. Siellä voi olla joko pelkkä kuva tai se voi olla aktiivinen alue, esimerkiksi suosikkielokuvien luettelolla tai meidän tapauksessamme radioasemilla.

Monet kehittäjät ovat vasta alkamassa tutkia uuden tvOS:n mahdollisuuksia. Hyvä uutinen on, että sisältösovelluksen kirjoittaminen on erittäin helppoa, ja Apple on mennyt pitkälle TVML:n kehittäjille. Sovelluksen rakentamisen (esim. PLAY.CZ tai iVyszílő) tulee olla helppoa ja nopeaa. On hyvä mahdollisuus, että suuri määrä sovelluksia on valmis samaan aikaan, kun uusi Apple TV tulee myyntiin.

Natiivisovelluksen kirjoittaminen tai pelin siirtäminen iOS:stä tvOS:ään on haastavampaa, mutta ei paljon. Suurin este on erilaiset säätimet ja 200 Mt:n sovelluskohtainen raja. Natiivisovellus voi ladata vain rajoitetun osan tiedoista kaupasta, ja kaikki muu on ladattava lisäksi, eikä ole takeita siitä, että järjestelmä ei poista näitä tietoja. Kehittäjät kuitenkin varmasti käsittelevät tämän rajoituksen nopeasti, myös "App Thinning" -nimisen työkalusarjan saatavuuden ansiosta, joka on myös osa iOS 9:ää.

Aiheet: , ,
.