Apple kynnti í síðustu viku m.a nýja Apple TV með tvOS stýrikerfinu. Sú staðreynd að hægt er að setja upp forrit frá App Store í nýja svarta kassanum gladdi hönnuði vissulega mest.
Hönnuðir hafa tvo valkosti. Þeir geta skrifað innfædd forrit sem hefur fullan aðgang að Apple TV vélbúnaði. Tiltækt SDK (sett af bókasöfnum fyrir forritara) er mjög svipað því sem forritarar þekkja nú þegar frá iPhone, iPad og forritunarmálin eru þau sömu - Objective-C og yngri Swift.
En fyrir einfaldari forrit bauð Apple forriturum annan valmöguleika í formi TVML - Television Markup Language. Ef þér finnst nafnið TVML líta grunsamlega út eins og HTML, þá hefurðu rétt fyrir þér. Það er í raun álagningarmál byggt á XML og mjög svipað HTML, aðeins það er miklu einfaldara og hefur strangari setningafræði. En það er algjörlega fullkomið fyrir forrit eins og Netflix. Og notendur munu einnig njóta góðs af því að strangleiki TVML mun láta margmiðlunarforrit líta út og virka að miklu leyti eins.
Leið að fyrstu umsókn
Svo það fyrsta sem ég þurfti að gera var að hlaða niður nýju beta útgáfunni af Xcode þróunarumhverfinu (útgáfa 7.1 er fáanleg hérna). Þetta gaf mér aðgang að tvOS SDK og gat hafið nýtt verkefni sem var sérstaklega beint að fjórðu kynslóð Apple TV. Forritið getur verið tvOS-aðeins, eða hægt er að bæta kóðanum við núverandi iOS app til að búa til „alhliða“ app - líkan svipað og iPhone og iPad öpp í dag.
Vandamál eitt: Xcode býður aðeins upp á möguleikann á að búa til innbyggt forrit. En ég fann mjög fljótt hluta í skjölunum sem mun hjálpa forriturum að breyta þessari beinagrind og undirbúa hana fyrir TVML. Í grundvallaratriðum eru það nokkrar línur af kóða í Swift sem, bara á Apple TV, búa til hlut á öllum skjánum og hlaða meginhluta appsins, sem er þegar skrifaður í JavaScript.
Vandamál tvö: TVML forrit eru í raun mjög lík vefsíðum og því er allur kóði einnig hlaðinn af internetinu. Forritið sjálft er í raun bara "bootloader", það inniheldur aðeins lágmarks kóða og helstu grafísku þættina (application icon og þess háttar). Að lokum setti ég aðal JavaScript kóðann beint inn í appið og fékk að minnsta kosti möguleika á að birta sérsniðin villuboð þegar Apple TV er ekki tengt við internetið.
Þriðja litla vandamálið: iOS 9 og þar með tvOS krefst þess að öll samskipti við internetið fari fram dulkóðuð í gegnum HTTPS. Þetta er eiginleiki kynntur í iOS 9 fyrir öll forrit og ástæðan er þrýstingur á friðhelgi notenda og gagnaöryggi. Svo það verður nauðsynlegt að setja upp SSL vottorð á vefþjóninum. Það er hægt að kaupa það fyrir allt að $5 (120 krónur) á ári, eða þú getur notað til dæmis CloudFlare þjónustuna, sem sér um HTTPS af sjálfu sér, sjálfkrafa og án fjárfestingar. Annar kosturinn er að slökkva á þessari takmörkun fyrir forritið, sem er mögulegt í bili, en ég myndi örugglega ekki mæla með því.
Eftir nokkurra klukkustunda lestur á skjölunum, þar sem enn eru einstaka smávillur, vann ég mjög einfalt en virka forrit. Það sýndi vinsæla textann „Hello World“ og tvo hnappa. Ég eyddi um tveimur tímum í að reyna að fá hnappinn til að vera virkur og raunverulega gera eitthvað. En miðað við eldsnemma morguns valdi ég að fara að sofa... og það var gott.
Um daginn datt mér í hug að hlaða niður tilbúnu TVML forriti beint frá Apple. Ég fann það sem ég var að leita að mjög fljótt í kóðanum og hnappurinn var lifandi og virkaði. Meðal annars uppgötvaði ég líka fyrstu tvo hlutana af tvOS kennslunni á netinu. Bæði úrræðin hjálpuðu mikið, svo ég byrjaði á nýju verkefni og byrjaði á fyrstu alvöru umsókninni minni.
Fyrsta alvöru umsóknin
Ég byrjaði alveg frá grunni, fyrsta TVML síðan. Kosturinn er sá að Apple hefur útbúið 18 tilbúin TVML sniðmát fyrir forritara sem þarf bara að afrita úr skjölunum. Að breyta einu sniðmáti tók um klukkutíma, fyrst og fremst vegna þess að ég var að undirbúa API okkar til að senda fullbúið TVML með öllum nauðsynlegum gögnum til Apple TV.
Annað sniðmátið tók aðeins um 10 mínútur. Ég hef bætt við tveimur JavaScript-skjölum - megnið af kóðanum í þeim kemur beint frá Apple, svo hvers vegna að finna upp hjólið aftur. Apple hefur útbúið forskriftir sem sjá um að hlaða og birta TVML sniðmát, þar á meðal ráðlagðan efnishleðsluvísi og hugsanlega villuskjá.
Á innan við tveimur klukkustundum tókst mér að setja saman mjög bert en virka PLAY.CZ forrit. Það getur birt lista yfir útvarpsstöðvar, það getur síað það eftir tegund og það getur ræst útvarpið. Já, margt er ekki í appinu, en grunnatriðin virka.
[youtube id=”kLKvWC-rj7Q” width=”620″ hæð=”360″]
Kosturinn er sá að forritið er í rauninni ekkert annað en sérstök útgáfa af vefsíðunni sem er knúin af JavaScript og einnig er hægt að nota CSS til að breyta útlitinu.
Apple þarf samt nokkra hluti til að undirbúa. Forritstáknið er ekki eitt, heldur tvö - minna og stærra. Nýjungin er sú að táknið er ekki einföld mynd heldur inniheldur parallax áhrif og er samsett úr 2 til 5 lögum (bakgrunnur, hlutir í miðju og forgrunni). Allar virkar myndir í forritinu geta innihaldið sömu áhrif.
Hvert lag er í raun bara mynd á gagnsæjum bakgrunni. Apple hefur útbúið sitt eigið forrit til að setja saman þessar lagskiptu myndir og lofar að gefa út útflutningsforrit fyrir Adobe Photoshop fljótlega.
Önnur krafa er "Top Shelf" mynd. Ef notandinn setur appið á áberandi stað í efstu röðinni (á efstu hillunni) verður appið einnig að útvega efni fyrir skjáborðið fyrir ofan applistann. Það getur annað hvort verið bara einföld mynd eða það getur verið virkt svæði, til dæmis með lista yfir uppáhalds kvikmyndir eða, í okkar tilviki, útvarpsstöðvar.
Margir verktaki eru rétt að byrja að kanna möguleika nýja tvOS. Góðu fréttirnar eru þær að það er mjög auðvelt að skrifa efnisforrit og Apple hefur farið langt fyrir þróunaraðila með TVML. Að byggja upp forrit (til dæmis PLAY.CZ eða iVyszílő) ætti að vera auðvelt og hratt. Allar líkur eru á því að mikill fjöldi forrita verði tilbúinn á sama tíma og nýja Apple TV fer í sölu.
Það verður meira krefjandi að skrifa innfædd forrit eða flytja leik frá iOS til tvOS, en ekki mikið. Stærsta hindrunin verður mismunandi stjórntæki og hámark 200MB fyrir hvert forrit. Innbyggt forrit getur aðeins hlaðið niður takmörkuðum hluta gagna úr versluninni og allt annað verður að hlaða niður til viðbótar og það er engin trygging fyrir því að kerfið eyði ekki þessum gögnum. Hins vegar munu forritarar örugglega takast á við þessa takmörkun fljótt, einnig þökk sé framboði á setti af verkfærum sem kallast "App Thinning", sem eru einnig hluti af iOS 9.
Fín grein. Takk. Kannski munum við með tímanum sjá frá Apple einnig notendalausn til að útbúa einfaldari forrit (lausnir), eins og hægt er með FileMaker fyrir iOS, án þess að ég sé verktaki.
Í orði... Swift hleðslutæki er nokkrar línur sem eru enn þær sömu, aðeins slóðin fyrir fyrstu TVML skrána breytist. Ef einhver vill geta þeir sennilega skrifað handrit sem gæti keyrt smíði með slóðinni þinni og sent til baka IPA skrá. Eða ef þú ert með mac er ekkert mál að senda verkefnið þar sem þú setur bara slóðina og byrjar smíðina. Kosturinn er sá að ef TVML er utan forritsins þarftu í raun aðeins eina public build og hugsanlega eina private (þróunar) build og þú getur aðeins breytt TVML á þjóninum og þar með virkni forritsins.
„Appið getur verið tvOS-aðeins, eða hægt er að bæta kóðanum við núverandi iOS app til að búa til „ein-stærð-passar-alla“ app - líkan svipað og iPhone og iPad öpp í dag.“
Ég velti því fyrir mér hvað þú átt við? Persónulega hef ég hvergi fundið leið til að búa til 1 byggingu sem mun innihalda alhliða iPhone, iPad og Apple TV.. þar sem þeir eru aðskilin SDK (svipað og OSX), þá þarftu auka skotmark fyrir tvOS og þar með einnig sérstaka byggingu. Ég er að missa af einhverju?
í Xcode 7.1 er hægt að bæta tvOS forritum sem öðru markmiði við verkefni sem þegar er fyrir hendi - svipað og forrit fyrir Apple Watch eða kannski græju fyrir tilkynningamiðstöðina. Hins vegar veit ég ekki enn hvernig það verður hlaðið inn í búðina... geri ráð fyrir að Xcode sendi einn pakka og App Store skipti honum svo... Líklega svipað og þeir gera með úrið núna
nei.. að mínu mati eru þetta 2 gjörólíkir hlutir.. úrið er framlenging.. eða var það allavega þangað til watchOS 2.0.. það var gefið ásamt iOS markinu og virkaði ekki einu sinni án iPhone.. ATV er aðskilin eining.. það er það sem ég er að tala um , hvort byggingin fyrir fjórhjól verði aðskilin (þú þarft að borga fyrir 2$) og að auki borgaði iOS fyrir 2$, eða verður hægt að gefa alhliða 2$ build fyrir bæði iOS og ATV.. þá held ég nei, því jafnvel iOS target býður ekki upp á tæki fjölskyldu fyrir fjórhjól..
þannig að raunverulegt sjósetja mun birtast, en það hegðar sér í raun eins og Apple Watch kóðann, til dæmis. Að öðrum kosti kemur fram í gögnunum að hægt verði að bæta kóða fyrir tvOS við núverandi forrit og þannig verði hægt að selja eitt app (ein eining í App Store) fyrir bæði iOS og tvOS á sama tíma - eitt kaup fyrir viðskiptavinurinn, eða sem aðskilin eining - aðskilin kaup fyrir iOS og fyrir tvOS.
Bara til að skýra það, það er ekki 200MB fyrir hvert app, heldur 200MB geymt á staðnum og restin hlaðið niður af netinu þegar þörf krefur
Takk, það var það sem ég hélt, en ég orðaði það líklega vitlaust. Allt sem er yfir 200MB (eða allt sem er hlaðið niður í viðbót) er geymt sem skyndiminni og ef kerfið ákveður að það sé að verða uppiskroppa með pláss byrjar það að eyða því - sem líklega gerist ekki fyrr en það er nóg pláss og þá er minnst notaða efni verður eytt, þannig að það verður líklega ekki mikið vandamál í reynd.
Hvað annað þarf ég að komast að, að sögn munu þessi mörk ekki gilda um leiki, eða leikurinn gæti verið stærri en 200MB rétt við grunninn. En ég veit samt ekki alveg hvernig þetta er nákvæmlega meint. Það er vel mögulegt að Apple sé enn að aðlaga þessa stefnu í samræmi við endurgjöf frá þróunaraðilum.
hehe Pokemon TCG – 4 GB, Panta ringulreið á netinu – 1,6 GB Hearthstone 1,3 GB Ég er mjög forvitinn um þetta.
það voru upplýsingar um að leikirnir væru með sérstakan ham. Ég er að setja saman smáatriðin núna og við munum klára greinina.
Ég get það ekki, og ég biðst fyrirfram afsökunar ef ég móðga einhvern, en ég hef bara mikla, einlæga og ósvikna gleði sem ég vildi deila með ykkur...
Daginn eftir tilkynningu um nýja Apple TV var ég ekki latur og skráði mig í Apple lottóið (á ég að velja?) með möguleika á að fá þróunarsett jafnvel áður en það fer í sölu.
Í gærkvöldi skrifaði Apple mér að það hafi valið mig í fyrstu lotuna :)
Svo, ég er ekki sá sami og höfundur þessarar greinar, og ég er heiðarlega að vinna að Preschool Brasnicce fyrir Apple TV - fáanlegt í App Store þínum í október :)
þannig að ég hef það á tilfinningunni að allir sem skráðu sig hafi líklegast fengið það :) Ég pantaði líka í gær og hlakka rosalega til... Og ég þekki eina manneskju í viðbót sem bíður líka eftir sendingu...
Allavega, enn sem komið er virðist það líklega verða fullt af öppum þegar salan hefst :)
Það gera það líklega ekki allir - þeir gáfu mér það ekki :(
:( Ég vorkenni þér.
Ef einhver vill, þá á ég átta hvíta Apple límmiða… ég get sent þá…