Apple javën e kaluar prezantoi ndër të tjera Apple TV i ri me sistemin operativ tvOS. Fakti që aplikacionet nga App Store mund të instalohen në kutinë e re të zezë, sigurisht që i bëri më të lumtur zhvilluesit.
Zhvilluesit kanë dy mundësi. Ata mund të shkruajnë një aplikacion vendas që ka akses të plotë në harduerin e Apple TV. SDK-ja e disponueshme (bashkësia e bibliotekave për zhvilluesit) është shumë e ngjashme me atë që zhvilluesit tashmë dinë nga iPhone, iPad dhe gjuhët e programimit janë të njëjta - Objective-C dhe Swift më i ri.
Por për aplikacione më të thjeshta, Apple u ofroi zhvilluesve një opsion të dytë në formën e TVML - Television Markup Language. Nëse mendoni se emri TVML duket në mënyrë të dyshimtë si HTML, keni të drejtë. Është me të vërtetë një gjuhë shënjimi e bazuar në XML dhe shumë e ngjashme me HTML, vetëm se është shumë më e thjeshtë dhe ka një sintaksë më të rreptë. Por është absolutisht i përsosur për aplikacione si Netflix. Dhe përdoruesit do të përfitojnë gjithashtu, sepse rreptësia e TVML do të bëjë që aplikacionet multimediale të duken dhe të funksionojnë pothuajse njësoj.
Rruga drejt aplikimit të parë
Kështu që gjëja e parë që duhej të bëja ishte të shkarkoja versionin e ri beta të mjedisit të zhvillimit Xcode (versioni 7.1 është i disponueshëm këtu). Kjo më dha akses në tvOS SDK dhe isha në gjendje të filloja një projekt të ri që synonte posaçërisht gjeneratën e katërt Apple TV. Aplikacioni mund të jetë vetëm për tvOS, ose kodi mund të shtohet në një aplikacion ekzistues iOS për të krijuar një aplikacion "universal" - një model i ngjashëm me aplikacionet e iPhone dhe iPad sot.
Problemi i parë: Xcode ofron vetëm mundësinë për të krijuar një aplikacion vendas. Por shumë shpejt gjeta një seksion në dokumentacion që do t'i ndihmojë zhvilluesit të ndryshojnë këtë skelet dhe ta përgatisin atë për TVML. Në thelb, janë disa rreshta kodi në Swift që, vetëm në Apple TV, krijojnë një objekt në ekran të plotë dhe ngarkojnë pjesën kryesore të aplikacionit, i cili tashmë është shkruar në JavaScript.
Problemi i dytë: Aplikacionet TVML janë me të vërtetë shumë si një faqe interneti, dhe për këtë arsye i gjithë kodi ngarkohet nga interneti. Vetë aplikacioni është në të vërtetë vetëm një "bootloader", ai përmban vetëm një minimum kodi dhe elementët më themelorë grafikë (ikona e aplikacionit dhe të ngjashme). Në fund, vendosa me sukses kodin kryesor JavaScript direkt në aplikacion dhe pata mundësinë për të shfaqur të paktën një mesazh gabimi personal kur Apple TV nuk është i lidhur me internetin.
Problemi i tretë i vogël: iOS 9 dhe bashkë me të tvOS kërkon rreptësisht që i gjithë komunikimi drejt internetit të bëhet i koduar nëpërmjet HTTPS. Ky është një veçori e prezantuar në iOS 9 për të gjitha aplikacionet dhe arsyeja është presioni mbi privatësinë e përdoruesit dhe sigurinë e të dhënave. Pra, do të jetë e nevojshme të vendosni një certifikatë SSL në serverin e internetit. Mund të blihet për vetëm 5 dollarë (120 korona) në vit, ose mund të përdorni, për shembull, shërbimin CloudFlare, i cili do të kujdeset vetë për HTTPS, automatikisht dhe pa investim. Mundësia e dytë është të çaktivizoni këtë kufizim për aplikacionin, gjë që është e mundur për momentin, por definitivisht nuk do ta rekomandoja.
Pas disa orësh leximi të dokumentacionit, ku ka ende herë pas here gabime të vogla, përpunova një aplikacion shumë bazë, por funksional. Ai shfaqi tekstin popullor "Hello World" dhe dy butona. Kalova rreth dy orë duke u përpjekur të bëja butonin për të qenë aktiv dhe në fakt të bëj diçka. Por duke marrë parasysh orët e para të mëngjesit, preferova të flija… dhe kjo ishte një gjë e mirë.
Një ditë tjetër, pata idenë e shkëlqyeshme për të shkarkuar një mostër të gatshme aplikacioni TVML direkt nga Apple. E gjeta atë që kërkoja shumë shpejt në kod dhe butoni ishte drejtpërdrejt dhe funksiononte. Ndër të tjera zbulova edhe dy pjesët e para të tutorialit tvOS në internet. Të dy burimet ndihmuan shumë, kështu që fillova një projekt të ri dhe fillova aplikimin tim të parë real.
Aplikimi i parë real
Fillova plotësisht nga e para, faqja e parë TVML. Avantazhi është se Apple ka përgatitur 18 shabllone të gatshme TVML për zhvilluesit që thjesht duhet të kopjohen nga dokumentacioni. Redaktimi i një modeli zgjati rreth një orë, kryesisht sepse po përgatisja API-në tonë për të dërguar TVML-në e përfunduar me të gjitha të dhënat e nevojshme në Apple TV.
Modeli i dytë zgjati vetëm rreth 10 minuta. Unë kam shtuar dy JavaScript - shumica e kodit në to vjen direkt nga Apple, kështu që pse të rishpikni timonin. Apple ka përgatitur skriptet që kujdesen për ngarkimin dhe shfaqjen e shablloneve TVML, duke përfshirë treguesin e rekomanduar të ngarkimit të përmbajtjes dhe shfaqjen e mundshme të gabimeve.
Në më pak se dy orë, arrita të krijoj një aplikacion PLAY.CZ shumë të zhveshur, por funksional. Mund të shfaqë një listë të stacioneve radiofonike, mund ta filtojë sipas zhanrit dhe mund të nisë radion. Po, shumë gjëra nuk janë në aplikacion, por bazat funksionojnë.
[youtube id=”kLKvWC-rj7Q” gjerësi=”620″ lartësi=”360″]
Avantazhi është se aplikacioni në thelb nuk është asgjë më shumë se një version i veçantë i faqes në internet, i cili mundësohet nga JavaScript dhe gjithashtu mund të përdorni CSS për të modifikuar pamjen.
Apple kërkon ende disa gjëra të tjera për t'u përgatitur. Ikona e aplikacionit nuk është një, por dy - më e vogël dhe më e madhe. Risia është se ikona nuk është një imazh i thjeshtë, por përmban një efekt paralaks dhe përbëhet nga 2 deri në 5 shtresa (sfondi, objektet në mes dhe në plan të parë). Të gjitha imazhet aktive në aplikacion mund të përmbajnë të njëjtin efekt.
Çdo shtresë është në fakt vetëm një imazh në një sfond transparent. Apple ka përgatitur aplikacionin e vet për përpilimin e këtyre imazheve me shtresa dhe premton të lëshojë së shpejti një shtojcë eksporti për Adobe Photoshop.
Një kërkesë tjetër është një imazh "Top Raft". Nëse përdoruesi e vendos aplikacionin në një pozicion të dukshëm në rreshtin e sipërm (në raftin e sipërm), aplikacioni duhet të sigurojë gjithashtu përmbajtje për desktopin mbi listën e aplikacioneve. Mund të ketë ose thjesht një foto të thjeshtë ose mund të jetë një zonë aktive, për shembull me një listë filmash të preferuar ose, në rastin tonë, stacione radiofonike.
Shumë zhvillues sapo kanë filluar të eksplorojnë mundësitë e tvOS-it të ri. Lajmi i mirë është se shkrimi i një aplikacioni të përmbajtjes është shumë i lehtë dhe Apple ka bërë një rrugë të gjatë për zhvilluesit me TVML. Ndërtimi i një aplikacioni (për shembull PLAY.CZ ose iVyszílő) duhet të jetë i lehtë dhe i shpejtë. Ka shumë mundësi që një numër i madh aplikacionesh të jenë gati në të njëjtën kohë me daljen në shitje të Apple TV të ri.
Shkrimi i një aplikacioni vendas ose transferimi i një loje nga iOS në tvOS do të jetë më sfidues, por jo shumë. Pengesa më e madhe do të jenë kontrollet e ndryshme dhe një kufi prej 200 MB për aplikacion. Një aplikacion vendas mund të shkarkojë vetëm një pjesë të kufizuar të të dhënave nga dyqani, dhe gjithçka tjetër duhet të shkarkohet shtesë dhe nuk ka asnjë garanci që sistemi nuk do t'i fshijë këto të dhëna. Sidoqoftë, zhvilluesit sigurisht që do ta përballojnë shpejt këtë kufizim, edhe falë disponueshmërisë së një grupi mjetesh të quajtura "App Thinning", të cilat janë gjithashtu pjesë e iOS 9.
Artikull i bukur. Faleminderit. Ndoshta me kalimin e kohës do të shohim nga Apple edhe një zgjidhje përdoruesi për përgatitjen e aplikacioneve (zgjidhjeve) më të thjeshta, siç është e mundur me FileMaker për iOS, pa qenë unë zhvillues.
Në teori… ngarkuesi Swift është disa rreshta që janë ende të njëjta, ndryshon vetëm URL-ja për skedarin e parë TVML. Nëse dikush dëshiron, ai ndoshta mund të shkruajë një skript që mund të ekzekutojë në distancë një ndërtim me URL-në tuaj dhe të dërgojë një skedar IPA. Ose nëse keni një mac, nuk është problem të dërgoni projektin, ku thjesht vendosni URL-në dhe filloni ndërtimin. Avantazhi është se nëse TVML është jashtë aplikacionit, në fakt ju nevojitet vetëm një ndërtim publik dhe ndoshta një ndërtim privat (zhvillues), dhe mund të ndryshoni vetëm TVML në server dhe kështu funksionimin e aplikacionit.
"Aplikacioni mund të jetë vetëm për tvOS, ose kodi mund të shtohet në një aplikacion ekzistues iOS për të krijuar një aplikacion "një madhësie që i përshtatet të gjithëve" - një model i ngjashëm me aplikacionet e iPhone dhe iPad sot."
Pyes veten se çfarë do të thuash? Personalisht, nuk kam gjetur askund një mënyrë për të bërë 1 ndërtim që do të përfshijë iPhone, iPad dhe Apple TV universal.. meqenëse ato janë SDK të veçanta (të ngjashme me OSX), ju duhet një objektiv shtesë për tvOS dhe si rrjedhim edhe një ndërtim i veçantë. Po më mungon diçka?
në Xcode 7.1 aplikacionet tvOS mund të shtohen si një objektiv tjetër për një projekt tashmë ekzistues - të ngjashëm me aplikacionet për Apple Watch ose ndoshta një widget për qendrën e njoftimeve. Megjithatë, nuk e di ende se si do të ngarkohet në dyqan... Unë supozoj se Xcode do të dërgojë një paketë dhe App Store më pas do ta ndajë atë... Ndoshta e ngjashme me atë që bëjnë me Watch tani
jo.. per mendimin tim keto jane 2 gjera krejt te ndryshme.. ora eshte nje zgjatim.. ose te pakten ka qene deri ne watchOS 2.0.. eshte dhene bashke me objektivin ios dhe nuk ka funksionuar as pa iphone.. ATV është një entitet më vete.. për këtë e kam fjalën, nëse ndërtimi për ATV do të jetë i veçantë (duhet të paguash për 2 $) dhe përveç kësaj iOS paguhet për 2 $, apo do të jetë e mundur të jepet një universal 2$ ndertim si per iOS ashtu edhe per ATV.. atehere mendoj jo, sepse edhe iOS target nuk ofron familje pajisjesh per ATV..
kështu që nisja e vërtetë do të tregohet, por me të vërtetë sillet njësoj si kodi i Apple Watch, për shembull. Përndryshe, dokumentacioni thotë se do të jetë e mundur të shtohet kodi për tvOS në aplikacionin ekzistues dhe kështu do të jetë e mundur të shitet një aplikacion (një subjekt në App Store) për iOS dhe tvOS në të njëjtën kohë - një blerje për klienti, ose si një ent i veçantë - një blerje e veçantë për iOS dhe për tvOS.
Sa për të sqaruar, nuk janë 200 MB për aplikacion, por 200 MB të ruajtura në nivel lokal dhe pjesa tjetër shkarkohet nga rrjeti kur nevojitet.
Faleminderit, ashtu kam menduar, por ndoshta e kam shprehur gabim. Çdo gjë mbi 200 MB (ose gjithçka e shkarkuar shtesë) ruhet si një memorie dhe nëse sistemi vendos që po i mbaron hapësira, ai fillon ta fshijë atë - gjë që ndoshta nuk do të ndodhë derisa të ketë hapësirë të mjaftueshme të lirë dhe më pas përmbajtjen më pak të përdorur do të fshihet, kështu që në praktikë ndoshta nuk do të jetë shumë problem.
Çfarë tjetër duhet të zbuloj, gjoja ky kufi nuk do të zbatohet për lojërat, ose loja mund të jetë më e madhe se 200 MB pikërisht në bazë. Por ende nuk e di saktësisht se si nënkuptohet saktësisht kjo. Është mjaft e mundur që Apple është ende duke e përshtatur këtë politikë sipas reagimeve nga zhvilluesit.
hehe Pokemon TCG – 4 GB, Porosit kaos online – 1,6 GB Hearthstone 1,3 GB Jam vërtet kurioz për këtë.
kishte informacione se lojërat kanë një modalitet të veçantë. Tani po i bashkoj detajet dhe do ta plotësojmë artikullin.
Nuk e bëj dot dhe kërkoj falje paraprakisht nëse ofendoj dikë, por kam vetëm një gëzim të madh, të sinqertë dhe të patrazuar që doja ta ndaja me ju...
Një ditë pas shpalljes së Apple TV të ri, nuk isha dembel dhe u regjistrova në lotarinë e Apple (a të zgjedh?) me mundësinë e marrjes së një Developer Kit edhe para se të dalë në shitje.
Dje në mbrëmje, Apple më shkroi se më përzgjodhi për grupin e parë :)
Pra, nuk jam i njëjtë me autorin e këtij artikulli dhe sinqerisht po punoj në Preschool Brasnicce për Apple TV - i disponueshëm në App Store gjatë tetorit :)
kështu që kam një ndjenjë që të gjithë ata që janë regjistruar me siguri e kanë marrë :) Edhe unë e kam porositur dje dhe mezi po e pres me padurim... Dhe njoh edhe një person që po pret gjithashtu dorëzimin e tij...
Gjithsesi, deri më tani duket se ndoshta do të ketë shumë aplikacione kur të fillojnë shitjet :)
Të gjithë ndoshta jo - nuk ma dhanë mua :(
:( Më vjen keq për ju.
Nëse dikush dëshiron, unë kam tetë ngjitëse të bardha të Apple… Unë mund t'i dërgoj ato me postë…