Reklamani yopish

O'tgan hafta Apple boshqa narsalar qatorida taqdim etdi yangi Apple TV tvOS operatsion tizimi bilan. App Store’dan ilovalarni yangi qora qutiga o‘rnatish mumkinligi, albatta, ishlab chiquvchilarni juda xursand qildi.

Ishlab chiquvchilar ikkita variantga ega. Ular Apple TV uskunasiga to'liq kirish huquqiga ega mahalliy ilovani yozishlari mumkin. Mavjud SDK (ishlab chiquvchilar uchun kutubxonalar to'plami) ishlab chiquvchilar iPhone, iPad-dan biladigan narsalarga juda o'xshash va dasturlash tillari bir xil - Objective-C va yosh Swift.

Ammo oddiyroq ilovalar uchun Apple ishlab chiquvchilarga TVML ko'rinishidagi ikkinchi variantni taklif qildi - Television Markup Language. Agar siz TVML nomi shubhali tarzda HTMLga o'xshaydi deb hisoblasangiz, siz haqsiz. Bu, albatta, XML-ga asoslangan va HTMLga juda o'xshash belgilash tili, faqat u ancha sodda va qattiqroq sintaksisga ega. Ammo bu Netflix kabi ilovalar uchun mutlaqo mukammaldir. Bundan foydalanuvchilar ham foyda ko'radi, chunki TVML ning qat'iyligi multimedia ilovalarini bir xil ko'rinishga va ishlashga imkon beradi.

Birinchi dasturga yo'l

Shunday qilib, men qilishim kerak bo'lgan birinchi narsa Xcode ishlab chiqish muhitining yangi beta versiyasini yuklab olish edi (versiya 7.1 mavjud) Bu yerga). Bu menga tvOS SDK-ga kirish imkonini berdi va to'rtinchi avlod Apple TV-ga qaratilgan yangi loyihani boshlashga muvaffaq bo'ldi. Ilova faqat tvOS bo'lishi mumkin yoki "universal" ilovani yaratish uchun kod mavjud iOS ilovasiga qo'shilishi mumkin - bugungi kunda iPhone va iPad ilovalariga o'xshash model.

Birinchi muammo: Xcode faqat mahalliy ilovani yaratish imkoniyatini taklif qiladi. Lekin men juda tez hujjatlarda ishlab chiquvchilarga ushbu skeletni o'zgartirishga va uni TVML uchun tayyorlashga yordam beradigan bo'limni topdim. Asosan, bu Swift-dagi bir necha qator kodlar bo'lib, ular faqat Apple TV-da to'liq ekranli ob'ektni yaratadi va JavaScript-da yozilgan dasturning asosiy qismini yuklaydi.

Ikkinchi muammo: TVML ilovalari haqiqatan ham veb-sahifaga o'xshaydi va shuning uchun barcha kodlar internetdan yuklanadi. Ilovaning o'zi aslida "yuklovchi" bo'lib, u faqat minimal kod va eng asosiy grafik elementlarni (ilova belgisi va shunga o'xshash) o'z ichiga oladi. Oxir-oqibat, men asosiy JavaScript kodini to'g'ridan-to'g'ri ilovaga muvaffaqiyatli joylashtirdim va Apple TV Internetga ulanmaganida hech bo'lmaganda maxsus xato xabarini ko'rsatish imkoniyatiga ega bo'ldim.

Uchinchi kichik muammo: iOS 9 va u bilan tvOS Internetdagi barcha aloqa HTTPS orqali shifrlangan holda amalga oshirilishini qat'iy talab qiladi. Bu iOS 9 da barcha ilovalar uchun joriy qilingan xususiyat bo'lib, sabab foydalanuvchi maxfiyligi va ma'lumotlar xavfsizligiga bosimdir. Shunday qilib, veb-serverda SSL sertifikatini o'rnatish kerak bo'ladi. Uni yiliga kamida 5 dollarga (120 kron) sotib olish mumkin yoki siz, masalan, avtomatik ravishda va investitsiyasiz HTTPS-ga g'amxo'rlik qiladigan CloudFlare xizmatidan foydalanishingiz mumkin. Ikkinchi variant - dastur uchun ushbu cheklovni o'chirib qo'yish, bu hozircha mumkin, lekin men buni aniq tavsiya qilmayman.

Hujjatlarni bir necha soat o'qib chiqqandan so'ng, hali ham vaqti-vaqti bilan kichik xatolar mavjud bo'lib, men juda oddiy, ammo ishlaydigan dasturni ishlab chiqdim. Unda mashhur "Salom dunyo" matni va ikkita tugma ko'rsatilgan. Men tugmachani faol bo'lish va aslida biror narsa qilish uchun ikki soat vaqt sarfladim. Ammo erta tongni hisobga olib, men uxlashni afzal ko'rdim ... va bu yaxshi narsa edi.

Boshqa kuni menda TVML-ning tayyor namunasini to'g'ridan-to'g'ri Apple-dan yuklab olish g'oyasi paydo bo'ldi. Men qidirayotgan narsani kodda juda tez topdim va tugma jonli va ishladi. Boshqa narsalar qatorida, men Internetda tvOS qo'llanmasining dastlabki ikki qismini ham topdim. Ikkala manba ham juda ko'p yordam berdi, shuning uchun men yangi loyihani boshladim va birinchi haqiqiy dasturimni boshladim.

Birinchi haqiqiy dastur

Men butunlay noldan boshladim, birinchi TVML sahifasi. Afzalligi shundaki, Apple ishlab chiquvchilar uchun 18 ta tayyor TVML shablonlarini tayyorladi, ularni faqat hujjatlardan ko'chirib olish kerak. Bitta shablonni tahrirlash taxminan bir soat davom etdi, chunki men tayyor TVML-ni barcha kerakli ma'lumotlar bilan Apple TV-ga yuborish uchun API-ni tayyorlagan edim.

Ikkinchi shablon atigi 10 daqiqa davom etdi. Men ikkita JavaScript qo'shdim - ulardagi kodlarning aksariyati to'g'ridan-to'g'ri Apple'dan keladi, shuning uchun nima uchun g'ildirakni qaytadan ixtiro qilish kerak. Apple TVML shablonlarini yuklash va ko'rsatish bilan shug'ullanadigan skriptlarni tayyorladi, shu jumladan tavsiya etilgan kontentni yuklash ko'rsatkichi va mumkin bo'lgan xato ko'rsatkichi.

Ikki soatdan kamroq vaqt ichida men juda yalang'och, lekin ishlaydigan PLAY.CZ ilovasini yig'ishga muvaffaq bo'ldim. U radiostantsiyalar ro'yxatini ko'rsatishi, uni janr bo'yicha filtrlashi va radioni ishga tushirishi mumkin. Ha, ko'p narsa ilovada emas, lekin asosiy narsa ishlaydi.

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

Afzalligi shundaki, ilova aslida veb-saytning JavaScript tomonidan ta'minlangan maxsus versiyasidan boshqa narsa emas va siz tashqi ko'rinishini o'zgartirish uchun CSS dan ham foydalanishingiz mumkin.

Apple hali ham tayyorlash uchun yana bir nechta narsalarni talab qiladi. Ilova belgisi bitta emas, ikkitasi - kichikroq va kattaroq. Yangilik shundaki, piktogramma oddiy tasvir emas, balki parallaks effektini o'z ichiga oladi va 2 dan 5 gacha qatlamlardan iborat (fon, o'rtadagi va oldingi fondagi narsalar). Ilovadagi barcha faol tasvirlar bir xil effektni o'z ichiga olishi mumkin.

Har bir qatlam aslida shaffof fondagi tasvirdir. Apple ushbu qatlamli tasvirlarni kompilyatsiya qilish uchun o'z ilovasini tayyorladi va tez orada Adobe Photoshop uchun eksport plaginini chiqarishni va'da qilmoqda.

Yana bir talab - "Yuqori raf" tasviri. Agar foydalanuvchi ilovani yuqori qatorda (yuqori javonda) ko‘zga ko‘ringan joyga joylashtirsa, ilova ilovalar ro‘yxati ustidagi ish stoli uchun kontent ham taqdim etishi kerak. Oddiy rasm bo'lishi mumkin yoki u faol maydon bo'lishi mumkin, masalan, sevimli filmlar ro'yxati yoki bizning holatlarimizda radiostansiyalar.

Ko'pgina ishlab chiquvchilar yangi tvOS imkoniyatlarini endigina o'rganishni boshladilar. Yaxshi xabar shundaki, kontent ilovasini yozish juda oson va Apple TVML bilan ishlab chiquvchilar uchun uzoq yo'lni bosib o'tdi. Ilova yaratish (masalan, PLAY.CZ yoki iVyszílő) oson va tez bo'lishi kerak. Yangi Apple TV sotuvga chiqishi bilan bir vaqtning o'zida ko'plab ilovalar tayyor bo'lishi uchun yaxshi imkoniyat mavjud.

Mahalliy dasturni yozish yoki o'yinni iOS-dan tvOS-ga ko'chirish qiyinroq bo'ladi, lekin unchalik emas. Eng katta to'siq turli boshqaruvlar va har bir ilova uchun 200 MB chegara bo'ladi. Mahalliy dastur do'kondan ma'lumotlarning faqat cheklangan qismini yuklab olishi mumkin, qolgan hamma narsa qo'shimcha ravishda yuklab olinishi kerak va tizim bu ma'lumotlarni o'chirmasligiga kafolat yo'q. Biroq, ishlab chiquvchilar, albatta, iOS 9 ning bir qismi bo'lgan "Ilovalarni yupqalash" deb nomlangan vositalar to'plamining mavjudligi tufayli ushbu cheklovni tezda hal qilishadi.

Mavzular: , ,
.