Өткен аптада 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 жүйесінің бөлігі болып табылатын «Қолданбаларды жұқарту» деп аталатын құралдар жиынтығының болуының арқасында бұл шектеуді тез шешеді.
Жақсы мақала. рахмет. Мүмкін, уақыт өте келе біз Apple компаниясынан iOS жүйесіне арналған FileMaker мүмкіндігінше, мен әзірлеуші болмай-ақ қарапайым қосымшаларды (шешімдерді) дайындауға арналған пайдаланушы шешімін көретін шығармыз.
Теорияда… Swift жүктеушісі әлі де бірдей бірнеше жолдар, тек бірінші TVML файлының URL мекенжайы өзгереді. Егер біреу қаласа, олар сіздің URL мекенжайыңызбен құрастыруды қашықтан іске қосатын және IPA файлын кері жіберетін сценарий жаза алады. Немесе сізде Mac болса, URL мекенжайын қойып, құрастыруды бастайтын жобаны жіберу қиын емес. Артықшылығы мынада, егер TVML қолданбадан тыс болса, сізге шын мәнінде тек бір жалпы құрастыру және мүмкін бір жеке (әзірлеу) құрастыру қажет және тек сервердегі TVML және осылайша қолданбаның жұмысын өзгертуге болады.
«Қолданба тек tvOS үшін болуы мүмкін немесе кодты «барлығына сәйкес келетін» қолданба жасау үшін бар iOS қолданбасына қосуға болады – бүгінгі iPhone және iPad қолданбаларына ұқсас үлгі».
Қызық, не айтқыңыз келеді? Өз басым, әмбебап iPhone, iPad және Apple TV кіретін 1 құрылымды жасаудың жолын еш жерден таппадым. Олар бөлек SDK болғандықтан (OSX-ке ұқсас), сізге tvOS үшін қосымша мақсат және осылайша бөлек құрастыру қажет. Маған бірдеңе жетпей жатыр ма?
Xcode 7.1 tvOS қолданбаларын бұрыннан бар жобаға басқа мақсат ретінде қосуға болады - Apple Watch қолданбаларына немесе хабарландыру орталығына арналған виджетке ұқсас. Дегенмен, мен оның дүкенге қалай жүктелетінін әлі білмеймін... Менің ойымша, Xcode бір пакетті жібереді, содан кейін App Store оны бөледі... Мүмкін олардың қазір Watch арқылы жасайтын әрекетіне ұқсас болуы мүмкін.
noo.. менің ойымша, бұл екі мүлдем басқа нәрсе.. сағат - бұл кеңейтім.. немесе, кем дегенде, watchOS 2 дейін болды.. ол iOS мақсатымен бірге берілді және тіпті iPhoneсыз жұмыс істемеді.. ATV - бұл жеке құрылым.. мен бұл туралы айтып отырмын, ATV үшін құрастыру бөлек бола ма (2.0$ төлеу керек) және оған қосымша iOS 2$ төледі ме, әлде әмбебап беруге бола ма? 2$ iOS және ATV үшін құрастырылған. ATV үшін отбасы..
сондықтан нақты іске қосу көрсетіледі, бірақ ол шын мәнінде Apple Watch коды сияқты әрекет етеді, мысалы. Әйтпесе, құжаттамада бар қолданбаға tvOS кодын қосуға болатынын және осылайша iOS және tvOS үшін бір қолданбаны (App Store дүкеніндегі бір нысанды) бір уақытта сатуға болатынын айтады - бір сатып алу тұтынушы немесе бөлек ұйым ретінде - iOS және tvOS үшін бөлек сатып алу.
Түсіндіру үшін, бұл бір қолданбаға 200 МБ емес, 200 МБ жергілікті жерде сақталады, ал қалғаны қажет болғанда желіден жүктеледі.
Рахмет, мен солай ойладым, бірақ мен қате айтқан шығармын. 200 МБ-тан жоғары (немесе қосымша жүктелгендердің барлығы) кэш ретінде сақталады және жүйеде бос орын таусылды деп шешсе, ол оны жоя бастайды - бұл бос орын жеткілікті, содан кейін ең аз пайдаланылған мазмұн болғанша орындалмауы мүмкін. жойылады, сондықтан іс жүзінде бұл көп қиындық тудырмауы мүмкін.
Тағы не білуім керек, бұл шектеу ойындарға қолданылмайды немесе ойын дәл базада 200 МБ-тан үлкен болуы мүмкін. Бірақ мен мұның нақты нені білдіретінін әлі білмеймін. Apple әлі де әзірлеушілердің пікірлеріне сәйкес бұл саясатты түзетуі әбден мүмкін.
hehe Pokemon TCG – 4 ГБ, Хаосқа онлайн тапсырыс беру – 1,6 ГБ Hearthstone 1,3 ГБ Мен бұл туралы өте қызықтымын.
ойындардың ерекше режимі бар екендігі туралы ақпарат болды. Мен қазір егжей-тегжейлерді біріктіріп жатырмын және біз мақаланы аяқтаймыз.
Мен мұны істей алмаймын, егер біреуді ренжіткен болсам, алдын ала кешірім сұраймын, бірақ менде үлкен, шынайы және шынайы қуаныш бар, оны сіздермен бөліскім келді...
Жаңа Apple TV туралы хабарландырудан кейінгі күні мен жалқау емеспін және Apple лотереясына жазылдым (таңдаймын ба?) Әзірлеуші жиынтығын сатылымға шығар алдында алу мүмкіндігімен.
Кеше кешке Apple мені бірінші партияға таңдағанын жазды :)
Сонымен, мен осы мақаланың авторымен бірдей емеспін және мен Apple TV үшін мектепке дейінгі Brasnicce бағдарламасында шынымды айтсам жұмыс істеймін - қазан айында App Store дүкенінде қолжетімді :)
Тіркелгендердің бәрі алған шығар деген ой бар :) Мен де кеше тапсырыс бердім, шынында да күтемін... Және оның жеткізілуін күтіп жүрген тағы бір адамды білемін...
Қалай болғанда да, әзірге сатылымдар басталған кезде көптеген қолданбалар болатын сияқты :)
Барлығы бермеуі мүмкін - олар маған бермеді :(
:( Мен сені аяймын.
Кімде-кім қаласа, менде сегіз ақ Apple стикері бар… Мен оларды пошта арқылы жібере аламын…