Затвори ја рекламата

Apple минатата недела претстави, меѓу другото новиот Apple TV со оперативниот систем tvOS. Фактот дека апликациите од App Store можат да се инсталираат во новата црна кутија секако најмногу ги израдува програмерите.

Програмерите имаат две опции. Тие можат да напишат мајчин апликација која има целосен пристап до хардверот на Apple TV. Достапниот SDK (збир на библиотеки за програмери) е многу сличен на она што програмерите веќе го знаат од iPhone, iPad, а програмските јазици се исти - Objective-C и помладиот Swift.

Но, за поедноставни апликации, Apple им понуди на програмерите втора опција во форма на TVML - Television Markup Language. Ако сметате дека името TVML изгледа сомнително како HTML, во право сте. Навистина е јазик за означување базиран на XML и многу сличен на HTML, само што е многу поедноставен и има построга синтакса. Но, тој е апсолутно совршен за апликации како Netflix. И корисниците ќе имаат корист, бидејќи строгоста на TVML ќе направи мултимедијалните апликации да изгледаат и да работат многу исто.

Патека до првата апликација

Така, првото нешто што морав да направам е да ја преземам новата бета верзија на развојната околина Xcode (достапна е верзијата 7.1 овде). Ова ми даде пристап до tvOS SDK и можев да започнам нов проект конкретно насочен кон четвртата генерација на Apple TV. Апликацијата може да биде само tvOS или кодот може да се додаде на постоечка апликација за iOS за да се создаде „универзална“ апликација - модел сличен на апликациите за iPhone и iPad денес.

Проблем еден: Xcode нуди само можност за создавање мајчин апликација. Но, многу брзо најдов дел во документацијата што ќе им помогне на програмерите да го променат овој скелет и да го подготват за TVML. Во основа, тоа се неколку линии код во Swift кои, само на Apple TV, создаваат објект на цел екран и го вчитуваат главниот дел од апликацијата, кој веќе е напишан во JavaScript.

Втор проблем: TVML апликациите се навистина многу слични на веб-страница, и затоа целиот код е исто така вчитан од Интернет. Самата апликација е всушност само „подигач“, содржи само минимум код и најосновните графички елементи (икона за апликација и слично). На крајот, успешно го ставив главниот код на JavaScript директно во апликацијата и добив можност барем да прикажам приспособена порака за грешка кога Apple TV не е поврзан на Интернет.

Третиот мал проблем: iOS 9 и со него tvOS строго бараат целата комуникација кон Интернет да се одвива шифрирана преку HTTPS. Ова е функција воведена во iOS 9 за сите апликации и причината е притисокот врз приватноста на корисниците и безбедноста на податоците. Значи, ќе биде неопходно да се распореди SSL сертификат на веб-серверот. Може да се купи за само 5 долари (120 круни) годишно, или можете да ја користите, на пример, услугата CloudFlare, која ќе се грижи за HTTPS сама по себе, автоматски и без инвестиции. Втората опција е да се исклучи ова ограничување за апликацијата, што засега е можно, но дефинитивно не би го препорачал.

По неколку часа читање на документацијата, каде што сè уште има повремени ситни грешки, разработив една многу основна, но работна апликација. Го прикажуваше популарниот текст „Здраво свет“ и две копчиња. Поминав околу два часа обидувајќи се да го натерам копчето да биде активно и всушност да направам нешто. Но, со оглед на раните утрински часови, претпочитав да спијам... и тоа беше добра работа.

Пред некој ден, имав светла идеја да преземам готов примерок TVML апликација директно од Apple. Го најдов тоа што го барав многу брзо во кодот и копчето беше во живо и работеше. Меѓу другото, на Интернет ги открив и првите два дела од туторијалот за tvOS. Двата ресурси помогнаа многу, па започнав нов проект и ја започнав мојата прва вистинска апликација.

Првата вистинска апликација

Почнав целосно од нула, првата ТВМЛ страница. Предноста е што Apple подготви 18 готови TVML шаблони за програмери кои само треба да се копираат од документацијата. Уредувањето на еден шаблон траеше околу еден час, првенствено затоа што го подготвував нашето API за испраќање на готовиот TVML со сите потребни податоци до Apple TV.

Вториот шаблон траеше само 10 минути. Додадов два JavaScript-и - најголемиот дел од кодот во нив доаѓа директно од Apple, па зошто повторно да го измислиме тркалото. Apple подготви скрипти кои се грижат за вчитување и прикажување на TVML шаблони, вклучувајќи го препорачаниот индикатор за вчитување на содржината и можниот приказ на грешки.

За помалку од два часа, успеав да составам многу гола, но функционална апликација PLAY.CZ. Може да прикаже список на радио станици, може да го филтрира по жанр и може да го стартува радиото. Да, многу работи не се во апликацијата, но основите функционираат.

[YouTube id=”kLKvWC-rj7Q” ширина=”620″ висина=”360″]

Предноста е што апликацијата во основа не е ништо повеќе од специјална верзија на веб-локацијата, која се напојува со JavaScript и исто така можете да користите CSS за да го измените изгледот.

На Apple сè уште му требаат уште неколку работи за подготовка. Иконата на апликацијата не е една, туку две - помала и поголема. Новина е што иконата не е едноставна слика, туку содржи ефект на паралакса и е составена од 2 до 5 слоеви (позадина, предмети во средина и преден план). Сите активни слики низ апликацијата може да го содржат истиот ефект.

Секој слој е всушност само слика на проѕирна позадина. Apple подготви сопствена апликација за компајлирање на овие слоевити слики и ветува дека наскоро ќе објави приклучок за извоз за Adobe Photoshop.

Друг услов е слика „Горна полица“. Ако корисникот ја постави апликацијата на видно место во горниот ред (на горната полица), апликацијата мора да обезбеди и содржина за работната површина над списокот со апликации. Може да има или само едноставна слика или може да биде активна област, на пример со листа на омилени филмови или, во нашиот случај, радио станици.

Многу програмери штотуку почнуваат да ги истражуваат можностите на новиот tvOS. Добрата вест е дека пишувањето апликација за содржина е многу лесно, а Apple направи долг пат за програмерите со TVML. Градењето апликација (на пример PLAY.CZ или iVyszílő) треба да биде лесно и брзо. Има добри шанси голем број апликации да бидат готови во исто време кога новиот Apple TV излегува во продажба.

Пишувањето домашна апликација или пренесувањето игра од iOS на tvOS ќе биде поголем предизвик, но не многу. Најголемата пречка ќе бидат различните контроли и ограничувањето од 200 MB по апликација. Народна апликација може да преземе само ограничен дел од податоците од продавницата, а сè друго мора дополнително да се преземе и нема гаранција дека системот нема да ги избрише овие податоци. Сепак, програмерите сигурно брзо ќе се справат со ова ограничување, исто така благодарение на достапноста на сетот алатки наречени „App Thinning“, кои исто така се дел од iOS 9.

.