Luk annoncen

Apple præsenterede i sidste uge bl.a det nye Apple TV med tvOS-operativsystemet. Det faktum, at applikationer fra App Store kan installeres i den nye sorte boks, gjorde bestemt udviklerne mest glade.

Udviklere har to muligheder. De kan skrive en indbygget app, der har fuld adgang til Apple TV-hardwaren. Det tilgængelige SDK (sæt af biblioteker for udviklere) ligner meget, hvad udviklere allerede kender fra iPhone, iPad, og programmeringssprogene er de samme - Objective-C og den yngre Swift.

Men for enklere applikationer tilbød Apple udviklere en anden mulighed i form af TVML - Television Markup Language. Hvis du føler, at navnet TVML ser mistænkeligt ud som HTML, har du ret. Det er virkelig et markup-sprog baseret på XML og meget lig HTML, men det er meget enklere og har en strengere syntaks. Men det er helt perfekt til applikationer som Netflix. Og det vil brugerne også drage fordel af, fordi TVML's strenghed vil få multimedieapplikationer til at se ud og fungere meget ens.

Sti til den første ansøgning

Så det første jeg skulle gøre var at downloade den nye betaversion af Xcode-udviklingsmiljøet (version 7.1 er tilgængelig zde). Dette gav mig adgang til tvOS SDK og var i stand til at starte et nyt projekt specifikt målrettet den fjerde generation af Apple TV. Appen kan være tvOS-only, eller koden kan føjes til en eksisterende iOS-app for at skabe en "universel" app - en model, der ligner iPhone og iPad apps i dag.

Problem et: Xcode tilbyder kun muligheden for at oprette en indbygget app. Men jeg fandt meget hurtigt et afsnit i dokumentationen, der vil hjælpe udviklere med at ændre dette skelet og forberede det til TVML. Grundlæggende er det et par linjer kode i Swift, der bare på Apple TV'et skaber et fuldskærmsobjekt og indlæser hoveddelen af ​​appen, som allerede er skrevet i JavaScript.

Problem to: TVML-applikationer minder egentlig meget om en webside, og derfor indlæses al koden også fra internettet. Selve applikationen er faktisk bare en "bootloader", den indeholder kun et minimum af kode og de mest basale grafiske elementer (applikationsikon og lignende). I sidste ende lykkedes det mig at sætte den primære JavaScript-kode direkte ind i appen og fik i det mindste mulighed for at vise en brugerdefineret fejlmeddelelse, når Apple TV ikke er forbundet til internettet.

Det tredje lille problem: iOS 9 og dermed tvOS kræver strengt, at al kommunikation mod internettet foregår krypteret via HTTPS. Dette er en funktion introduceret i iOS 9 til alle apps, og årsagen er pres på brugernes privatliv og datasikkerhed. Så det vil være nødvendigt at installere et SSL-certifikat på webserveren. Den kan købes for helt ned til $5 (120 crowns) om året, eller du kan f.eks. bruge CloudFlare-tjenesten, som sørger for HTTPS af sig selv, automatisk og uden investering. Den anden mulighed er at slå denne begrænsning fra for applikationen, hvilket er muligt indtil videre, men jeg vil bestemt ikke anbefale det.

Efter et par timers læsning af dokumentationen, hvor der stadig lejlighedsvis er mindre fejl, udarbejdede jeg en meget grundlæggende, men fungerende applikation. Den viste den populære tekst "Hello World" og to knapper. Jeg brugte omkring to timer på at få knappen til at være aktiv og faktisk gøre noget. Men i betragtning af de tidlige morgentimer foretrak jeg at gå i seng... og det var en god ting.

Forleden dag fik jeg den lyse idé at downloade en færdiglavet prøve-TVML-applikation direkte fra Apple. Jeg fandt meget hurtigt, hvad jeg ledte efter i koden, og knappen virkede og virkede. Jeg opdagede blandt andet også de to første dele af tvOS-tutorialen på internettet. Begge ressourcer hjalp meget, så jeg startede et nyt projekt og startede min første rigtige ansøgning.

Første rigtige ansøgning

Jeg startede helt fra bunden, den første TVML-side. Fordelen er, at Apple har udarbejdet 18 færdige TVML-skabeloner til udviklere, der blot skal kopieres fra dokumentationen. Det tog omkring en time at redigere en skabelon, primært fordi jeg forberedte vores API til at sende den færdige TVML med alle de nødvendige data til Apple TV.

Den anden skabelon tog kun omkring 10 minutter. Jeg har tilføjet to JavaScripts - det meste af koden i dem kommer direkte fra Apple, så hvorfor genopfinde hjulet. Apple har udarbejdet scripts, der tager sig af indlæsning og visning af TVML-skabeloner, inklusive den anbefalede indholdsindlæsningsindikator og mulig fejlvisning.

På mindre end to timer var jeg i stand til at sammensætte en meget blottet, men fungerende PLAY.CZ-applikation. Den kan vise en liste over radiostationer, den kan filtrere den efter genre, og den kan starte radioen. Ja, mange ting er ikke i appen, men det grundlæggende fungerer.

[youtube id=”kLKvWC-rj7Q” width=”620″ højde=”360″]

Fordelen er, at applikationen stort set ikke er andet end en speciel version af hjemmesiden, som er drevet af JavaScript og du kan også bruge CSS til at ændre udseendet.

Apple kræver stadig et par ting mere at forberede. Applikationsikonet er ikke et, men to - mindre og større. Det nye er, at ikonet ikke er et simpelt billede, men indeholder en parallakseeffekt og er sammensat af 2 til 5 lag (baggrund, objekter i midten og forgrunden). Alle aktive billeder på tværs af applikationen kan indeholde den samme effekt.

Hvert lag er faktisk kun et billede på en gennemsigtig baggrund. Apple har forberedt sin egen applikation til kompilering af disse lagdelte billeder og lover snart at frigive et eksportplugin til Adobe Photoshop.

Et andet krav er et "øverste hylde"-billede. Hvis brugeren placerer appen i en fremtrædende position i den øverste række (på øverste hylde), skal appen også levere indhold til skrivebordet over applisten. Der kan enten være et simpelt billede, eller det kan være et aktivt område, for eksempel med en liste over yndlingsfilm eller, i vores tilfælde, radiostationer.

Mange udviklere er lige begyndt at udforske mulighederne i det nye tvOS. Den gode nyhed er, at det er meget nemt at skrive en indholdsapp, og Apple er gået langt for udviklere med TVML. Det skal være nemt og hurtigt at bygge en applikation (for eksempel PLAY.CZ eller iVyszílő). Der er en god chance for, at en lang række applikationer er klar samtidig med, at det nye Apple TV kommer til salg.

At skrive en indbygget app eller overføre et spil fra iOS til tvOS vil være mere udfordrende, men ikke meget. Den største hindring vil være forskellige kontroller og en grænse på 200 MB pr. app. En native applikation kan kun downloade en begrænset del af dataene fra butikken, og alt andet skal downloades yderligere, og der er ingen garanti for, at systemet ikke sletter disse data. Udviklere vil dog helt sikkert håndtere denne begrænsning hurtigt, også takket være tilgængeligheden af ​​et sæt værktøjer kaldet "App Thinning", som også er en del af iOS 9.

Emner: , ,
.