Maak advertensie toe

Apple het verlede week onder meer aangebied die nuwe Apple TV met die tvOS-bedryfstelsel. Die feit dat toepassings van die App Store in die nuwe swart boks geïnstalleer kan word, het die ontwikkelaars beslis die gelukkigste gemaak.

Ontwikkelaars het twee opsies. Hulle kan 'n inheemse toepassing skryf wat volle toegang tot die Apple TV-hardeware het. Die beskikbare SDK (stel biblioteke vir ontwikkelaars) is baie soortgelyk aan wat ontwikkelaars reeds van die iPhone, iPad ken, en die programmeertale is dieselfde - Objective-C en die jonger Swift.

Maar vir eenvoudiger toepassings het Apple ontwikkelaars 'n tweede opsie aangebied in die vorm van TVML - Television Markup Language. As jy voel dat die naam TVML verdag soos HTML lyk, is jy reg. Dit is regtig 'n opmerktaal gebaseer op XML en baie soortgelyk aan HTML, maar dit is baie eenvoudiger en het 'n strenger sintaksis. Maar dit is absoluut perfek vir toepassings soos Netflix. En gebruikers sal ook baat vind, want die strengheid van TVML sal multimediatoepassings baie dieselfde laat lyk en werk.

Pad na die eerste aansoek

Die eerste ding wat ek dus moes doen, was om die nuwe beta-weergawe van die Xcode-ontwikkelingsomgewing af te laai (weergawe 7.1 is beskikbaar hier). Dit het my toegang tot die tvOS SDK gegee en kon 'n nuwe projek begin wat spesifiek die vierde generasie Apple TV gerig het. Die toepassing kan slegs tvOS wees, of die kode kan by 'n bestaande iOS-toepassing gevoeg word om 'n "universele" toepassing te skep - 'n model soortgelyk aan iPhone- en iPad-toepassings vandag.

Probleem een: Xcode bied slegs die vermoë om 'n inheemse toepassing te skep. Maar ek het baie vinnig 'n afdeling in die dokumentasie gevind wat ontwikkelaars sal help om hierdie skelet te verander en dit vir TVML voor te berei. Basies is dit 'n paar reëls kode in Swift wat, net op die Apple TV, 'n volskermvoorwerp skep en die hoofgedeelte van die toepassing laai, wat reeds in JavaScript geskryf is.

Probleem twee: TVML-toepassings is regtig baie soortgelyk aan 'n webblad, en daarom word al die kode ook vanaf die internet gelaai. Die toepassing self is eintlik net 'n "bootloader", dit bevat slegs 'n minimum kode en die mees basiese grafiese elemente (toepassingsikoon en dies meer). Op die ou end het ek die hoof JavaScript-kode suksesvol direk in die toepassing geplaas en het die vermoë gekry om ten minste 'n persoonlike foutboodskap te vertoon wanneer die Apple TV nie aan die internet gekoppel is nie.

Die derde klein probleempie: iOS 9 en daarmee saam tvOS vereis streng dat alle kommunikasie na die internet geënkripteer via HTTPS plaasvind. Dit is 'n kenmerk wat in iOS 9 vir alle toepassings bekendgestel is en die rede is druk op gebruikersprivaatheid en datasekuriteit. Dit sal dus nodig wees om 'n SSL-sertifikaat op die webbediener te ontplooi. Dit kan vir so min as $5 (120 krone) per jaar gekoop word, of jy kan byvoorbeeld die CloudFlare-diens gebruik, wat outomaties en sonder belegging vir HTTPS sal sorg. Die tweede opsie is om hierdie beperking vir die toepassing af te skakel, wat vir nou moontlik is, maar ek sal dit beslis nie aanbeveel nie.

Na 'n paar uur se dokumentasie gelees het, waar daar nog af en toe klein foute is, het ek 'n baie basiese maar werkende toepassing uitgewerk. Dit het die gewilde teks "Hello World" en twee knoppies vertoon. Ek het ongeveer twee ure probeer om die knoppie aktief te kry en eintlik iets te doen. Maar as ek die vroeë oggendure in ag neem, het ek verkies om te gaan slaap ... en dit was 'n goeie ding.

Ek het nou die dag die blink idee gehad om 'n klaargemaakte voorbeeld TVML-toepassing direk vanaf Apple af te laai. Ek het baie vinnig gevind waarna ek gesoek het in die kode en die knoppie was lewendig en werk. Ek het onder andere ook die eerste twee dele van die tvOS-tutoriaal op die internet ontdek. Albei hulpbronne het baie gehelp, so ek het 'n nuwe projek begin en my eerste regte toepassing begin.

Eerste werklike toepassing

Ek het heeltemal van voor af begin, die eerste TVML-bladsy. Die voordeel is dat Apple 18 klaargemaakte TVML-sjablone vir ontwikkelaars voorberei het wat net uit die dokumentasie gekopieer moet word. Die redigering van een sjabloon het ongeveer 'n uur geneem, hoofsaaklik omdat ek ons ​​API voorberei het om die voltooide TVML met al die nodige data na die Apple TV te stuur.

Die tweede sjabloon het slegs ongeveer 10 minute geneem. Ek het twee JavaScripts bygevoeg - die meeste van die kode daarin kom direk van Apple af, so hoekom moet jy die wiel herontdek. Apple het skrifte voorberei wat sorg vir die laai en vertoon van TVML-sjablone, insluitend 'n aanbevole inhoudlaai-aanwyser en moontlike foutvertoning.

In minder as twee uur kon ek 'n baie kaal, maar funksionele PLAY.CZ-toepassing saamstel. Dit kan 'n lys van radiostasies vertoon, dit kan dit volgens genre filtreer en dit kan die radio begin. Ja, baie dinge is nie in die toepassing nie, maar die basiese beginsels werk.

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

Die voordeel is dat die toepassing basies niks meer as 'n spesiale weergawe van die webwerf is nie, wat deur JavaScript aangedryf word en jy kan ook CSS gebruik om die voorkoms te verander.

Apple benodig nog 'n paar dinge om voor te berei. Die toepassingsikoon is nie een nie, maar twee - kleiner en groter. Die nuwigheid is dat die ikoon nie 'n eenvoudige beeld is nie, maar 'n parallakseffek bevat en bestaan ​​uit 2 tot 5 lae (agtergrond, voorwerpe in die middel en voorgrond). Alle aktiewe beelde oor die toepassing kan dieselfde effek bevat.

Elke laag is eintlik net 'n prent op 'n deursigtige agtergrond. Apple het sy eie toepassing voorberei vir die samestelling van hierdie gelaagde beelde en beloof om binnekort 'n uitvoerinprop vir Adobe Photoshop vry te stel.

Nog 'n vereiste is 'n "Top Rak"-prent. As die gebruiker die toepassing in 'n prominente posisie in die boonste ry (op die boonste rak) plaas, moet die toepassing ook inhoud vir die rekenaar bo die lys toepassings verskaf. Daar kan óf net 'n eenvoudige prentjie wees óf dit kan 'n aktiewe area wees, byvoorbeeld met 'n lys gunstelingflieks of, in ons geval, radiostasies.

Baie ontwikkelaars begin net die moontlikhede van die nuwe tvOS ondersoek. Die goeie nuus is dat die skryf van 'n inhoudtoepassing baie maklik is, en Apple het 'n lang pad gevorder vir ontwikkelaars met TVML. Die bou van 'n toepassing (byvoorbeeld PLAY.CZ of iVyszílő) moet maklik en vinnig wees. Daar is 'n goeie kans dat 'n groot aantal toepassings gereed sal wees op dieselfde tyd as wat die nuwe Apple TV te koop gaan.

Om 'n inheemse toepassing te skryf of 'n speletjie van iOS na tvOS oor te dra, sal meer uitdagend wees, maar nie veel nie. Die grootste struikelblok sal verskillende kontroles en 'n limiet van 200 MB per toepassing wees. 'n Inheemse toepassing kan slegs 'n beperkte deel van die data van die winkel aflaai, en alles anders moet addisioneel afgelaai word, en daar is geen waarborg dat die stelsel nie hierdie data sal uitvee nie. Ontwikkelaars sal egter beslis vinnig hierdie beperking hanteer, ook danksy die beskikbaarheid van 'n stel nutsmiddels genaamd "App Thinning", wat ook deel is van iOS 9.

Onderwerpe: , ,
.