Жарнаманы жабу

Өткен аптада Apple басқа нәрселермен қатар ұсынылды жаңа Apple TV tvOS операциялық жүйесімен. Қолданбалар дүкенінен қосымшаларды жаңа қара жәшікке орнатуға болатыны әзірлеушілерді қатты қуантты.

Әзірлеушілердің екі нұсқасы бар. Олар 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-ге дайындауға көмектесетін бөлімді тез таптым. Негізінде, бұл Apple TV-де толық экранды нысанды жасайтын және JavaScript-те жазылған қолданбаның негізгі бөлігін жүктейтін Swift-тегі бірнеше код жолы.

Екінші мәселе: TVML қолданбалары шынымен веб-бетке өте ұқсас, сондықтан барлық код Интернеттен жүктеледі. Қолданбаның өзі шын мәнінде жай ғана «жүктеуші», ол тек ең аз кодты және ең негізгі графикалық элементтерді (қолданба белгішесі және т.б.) қамтиды. Соңында мен негізгі JavaScript кодын тікелей қолданбаға сәтті енгіздім және Apple TV интернетке қосылмаған кезде кем дегенде реттелетін қате туралы хабарды көрсету мүмкіндігін алдым.

Үшінші шағын мәселе: iOS 9 және онымен tvOS Интернетке қатысты барлық байланыс HTTPS арқылы шифрланған болуын қатаң талап етеді. Бұл iOS 9 жүйесінде барлық қолданбалар үшін енгізілген мүмкіндік және себебі пайдаланушының құпиялылығы мен деректер қауіпсіздігіне қысым жасау. Сондықтан веб-серверде SSL сертификатын орналастыру қажет болады. Оны жылына 5 долларға (120 крон) сатып алуға болады немесе сіз, мысалы, автоматты түрде және инвестициясыз HTTPS-ке қамқорлық жасайтын CloudFlare қызметін пайдалана аласыз. Екінші нұсқа - қолданба үшін бұл шектеуді өшіру, бұл қазір мүмкін, бірақ мен оны ұсынбаймын.

Құжаттаманы оқып шыққаннан кейін бірнеше сағат өткен соң, әлі де анда-санда болмашы қателер бар, мен өте қарапайым, бірақ жұмыс істейтін қосымшаны әзірледім. Онда танымал «Hello World» мәтіні және екі түйме көрсетілген. Мен екі сағаттай түймені белсенді етіп, бірдеңе істеуге тырыстым. Бірақ таңның ерте сағаттарын ескере отырып, мен ұйықтауды жөн көрдім ... және бұл жақсы нәрсе болды.

Келесі күні менде Apple-ден дайын TVML қосымшасын жүктеп алу туралы жарқын идея болды. Мен кодта іздегенімді тез таптым және түйме тірі және жұмыс істеп тұрды. Басқа нәрселермен қатар, мен Интернетте tvOS оқулығының алғашқы екі бөлігін де таптым. Екі ресурс көп көмектесті, сондықтан мен жаңа жобаны бастадым және алғашқы нақты қолданбамды бастадым.

Алғашқы нақты қолданба

Мен толығымен нөлден бастадым, бірінші TVML беті. Артықшылығы - Apple әзірлеушілер үшін құжаттамадан көшіру қажет 18 дайын TVML үлгісін дайындады. Бір үлгіні өңдеуге бір сағаттай уақыт кетті, ең алдымен мен дайын TVML-ді Apple TV-ге барлық қажетті деректермен жіберу үшін API дайындадым.

Екінші үлгі бар болғаны 10 минутты алды. Мен екі JavaScript қостым - олардағы кодтың көпшілігі тікелей Apple-ден келеді, сондықтан дөңгелекті қайта ойлап табудың қажеті жоқ. Apple ұсынылатын мазмұнды жүктеу индикаторын және ықтимал қате дисплейін қоса, TVML үлгілерін жүктеу және көрсету туралы қамқорлық жасайтын сценарийлерді дайындады.

Екі сағаттан аз уақыт ішінде мен өте жалаңаш, бірақ жұмыс істейтін PLAY.CZ қосымшасын құрастыра алдым. Ол радиостанциялар тізімін көрсете алады, оны жанр бойынша сүзеді және радионы іске қоса алады. Иә, көп нәрсе қолданбада жоқ, бірақ негіздері жұмыс істейді.

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

Артықшылығы мынада, бұл қолданба JavaScript арқылы жұмыс істейтін веб-сайттың арнайы нұсқасынан басқа ештеңе емес және сыртқы түрін өзгерту үшін CSS-ті де пайдалана аласыз.

Apple әлі де дайындау үшін бірнеше нәрсені қажет етеді. Қолданба белгішесі бір емес, екі - кішірек және үлкенірек. Жаңалық - белгіше қарапайым сурет емес, оның құрамында параллакс эффектісі бар және 2-ден 5-ке дейін қабаттан тұрады (фон, ортаңғы және алдыңғы қатардағы нысандар). Қолданбадағы барлық белсенді кескіндер бірдей әсерді қамтуы мүмкін.

Әрбір қабат шын мәнінде мөлдір фондағы кескін ғана. Apple осы қабатты кескіндерді құрастыру үшін өзінің қосымшасын дайындады және жақын арада Adobe Photoshop үшін экспорттық плагин шығаруға уәде берді.

Тағы бір талап - «Жоғарғы сөре» суреті. Пайдаланушы қолданбаны жоғарғы қатардағы (жоғарғы сөреде) көрнекті орынға орналастырса, қолданба сонымен қатар қолданбалар тізімінің үстіндегі жұмыс үстелі үшін мазмұнды қамтамасыз етуі керек. Қарапайым сурет болуы мүмкін немесе ол белсенді аймақ болуы мүмкін, мысалы, сүйікті фильмдер тізімі немесе біздің жағдайда радиостанциялар.

Көптеген әзірлеушілер жаңа tvOS мүмкіндіктерін зерттей бастады. Жақсы жаңалық мынада, мазмұн қолданбасын жазу өте оңай және Apple TVML бар әзірлеушілер үшін ұзақ жолдан өтті. Қолданбаны құру (мысалы, PLAY.CZ немесе iVyszílő) оңай және жылдам болуы керек. Жаңа Apple TV сатылымға шыққан кезде көптеген қосымшалардың бір уақытта дайын болуының жақсы мүмкіндігі бар.

Жергілікті қолданбаны жазу немесе ойынды iOS жүйесінен tvOS жүйесіне көшіру қиынырақ болады, бірақ көп емес. Ең үлкен кедергі әртүрлі басқару элементтері және әр қолданбаға 200 МБ шектеу болады. Жергілікті қолданба дүкеннен деректердің шектеулі бөлігін ғана жүктей алады, ал қалғандарының барлығын қосымша жүктеп алу керек және жүйе бұл деректерді жоймайтынына кепілдік жоқ. Дегенмен, әзірлеушілер iOS 9 жүйесінің бөлігі болып табылатын «Қолданбаларды жұқарту» деп аталатын құралдар жиынтығының болуының арқасында бұл шектеуді тез шешеді.

Тақырыптар: , ,
.