Apple өнгөрсөн долоо хоногт бусад зүйлсээс гадна танилцуулсан шинэ Apple TV tvOS үйлдлийн системтэй. Шинэ хар хайрцагт App Store-ын программуудыг суулгаж болох нь хөгжүүлэгчдийг хамгийн их баярлуулсан нь гарцаагүй.
Хөгжүүлэгчид хоёр сонголттой. Тэд Apple TV-ийн техник хангамжид бүрэн хандах боломжтой уугуул програм бичих боломжтой. Боломжтой SDK (хөгжүүлэгчдэд зориулсан номын сангийн багц) нь iPhone, iPad-аас хөгжүүлэгчид мэддэг зүйлтэй маш төстэй бөгөөд програмчлалын хэл нь ижил байдаг - Objective-C ба залуу Swift.
Гэхдээ илүү хялбар програмуудын хувьд Apple хөгжүүлэгчдэд TVML хэлбэрээр хоёр дахь сонголтыг санал болгосон - Телевизийн тэмдэглэгээний хэл. Хэрэв та 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 титэм) худалдаж авах боломжтой, эсвэл та жишээлбэл, HTTPS-ийг автоматаар, хөрөнгө оруулалтгүйгээр хариуцах CloudFlare үйлчилгээг ашиглаж болно. Хоёрдахь сонголт бол програмын хувьд энэ хязгаарлалтыг идэвхгүй болгох явдал юм, гэхдээ энэ нь одоогоор боломжтой, гэхдээ би үүнийг зөвлөхгүй.
Хааяа бага зэргийн алдаа гарсаар байгаа баримт бичгийг хэдхэн цагийн турш уншсаны дараа би маш энгийн боловч ажил хэрэгч програм боловсруулсан. Энэ нь алдартай "Hello World" текст болон хоёр товчлуурыг харуулсан. Би товчлуурыг идэвхтэй болгож, ямар нэг зүйл хийх гэж хоёр цаг орчим оролдсон. Гэхдээ өглөөний цагийг бодоод би унтахыг илүүд үзсэн ... энэ нь сайн хэрэг байсан.
Нөгөө өдөр надад TVML програмын бэлэн жишээг Apple-аас шууд татаж авах сайхан санаа төрсөн. Би хайж байсан зүйлээ кодноос маш хурдан олсон бөгөөд товчлуур нь ажиллаж, ажиллаж байна. Бусад зүйлсээс гадна би интернетээс tvOS зааварчилгааны эхний хоёр хэсгийг олж мэдсэн. Хоёр эх үүсвэр хоёулаа маш их тусалсан тул би шинэ төсөл эхлүүлж, анхны бодит хэрэглээгээ эхлүүлсэн.
Анхны бодит хэрэглээ
Би бүрэн эхнээс нь эхэлсэн, анхны TVML хуудас. Давуу тал нь Apple нь хөгжүүлэгчдэд зориулж 18 бэлэн TVML загварыг бэлтгэсэн бөгөөд үүнийг баримтаас хуулбарлахад л хангалттай. Нэг загварыг засварлахад нэг цаг орчим хугацаа зарцуулагдсан бөгөөд энэ нь юуны түрүүнд би бэлэн TVML-ийг Apple TV руу шаардлагатай бүх өгөгдөлтэй илгээх API-г бэлтгэж байсантай холбоотой юм.
Хоёр дахь загвар нь ердөө 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 руу тоглоом шилжүүлэх нь илүү хэцүү байх болно, гэхдээ тийм ч их биш. Хамгийн том саад бэрхшээл нь өөр өөр удирдлага, нэг програмын 200MB хязгаар байх болно. Төрөлх програм нь зөвхөн дэлгүүрээс өгөгдлийн хязгаарлагдмал хэсгийг татаж авах боломжтой бөгөөд бусад бүх зүйлийг нэмж татаж авах шаардлагатай бөгөөд систем энэ өгөгдлийг устгахгүй гэсэн баталгаа байхгүй. Гэсэн хэдий ч iOS 9-ийн нэг хэсэг болох "App Thinning" нэртэй хэрэгслүүд байгаа тул хөгжүүлэгчид энэ хязгаарлалтыг хурдан шийдвэрлэх нь гарцаагүй.
Сайхан нийтлэл байна. Баярлалаа. Магадгүй цаг хугацаа өнгөрөхөд бид 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.. миний бодлоор энэ бол шал өөр 2 зүйл.. цаг бол өргөтгөл юм.. эсвэл ядаж watchOS 2.0 хүртэл байсан.. iOS зорилттой хамт өгөгдөөд iPhone-гүйгээр ч ажиллаагүй.. ATV бол тусдаа байгууллага.. би үүнийг л ярьж байна, ATV-ийн угсралт тусдаа байх уу (та 2 доллар төлөх шаардлагатай) мөн iOS нь 2 доллар төлсөн байх уу, эсвэл бүх нийтийн үйлчилгээ үзүүлэх боломжтой юу? 2$ iOS болон ATV-д зориулагдсан. ATV-д зориулсан гэр бүл..
Тиймээс жинхэнэ хөөргөх нь харагдах болно, гэхдээ энэ нь жишээлбэл, Apple Watch-ийн кодтой адилхан ажилладаг. Үгүй бол баримт бичигт одоо байгаа програм дээр tvOS-ийн код нэмэх боломжтой бөгөөд ингэснээр iOS болон tvOS-д зориулсан нэг програмыг (App Store дахь нэг аж ахуйн нэгж) нэгэн зэрэг зарах боломжтой болно - нэг худалдан авалт. үйлчлүүлэгч, эсвэл тусдаа байгууллага болгон - iOS болон tvOS-д зориулсан тусдаа худалдан авалт.
Тодруулж хэлэхэд, энэ нь нэг програмд 200 МБ биш, харин 200 МБ-ыг дотооддоо хадгалдаг бөгөөд үлдсэнийг нь шаардлагатай үед сүлжээнээс татаж авдаг.
Баярлалаа, би тэгж бодсон ч буруу бичсэн байх. 200 МБ-аас дээш хэмжээтэй (эсвэл нэмэлт татаж авсан бүх зүйл) кэш хэлбэрээр хадгалагддаг бөгөөд хэрэв систем зай дуусч байгаа гэж үзвэл түүнийг устгаж эхэлдэг - энэ нь хангалттай зай, дараа нь хамгийн бага ашигласан контент үүсэх хүртэл тохиолдохгүй байх магадлалтай. устгагдах тул практик дээр энэ нь тийм ч их асуудал үүсгэхгүй байх магадлалтай.
Би өөр юу олж мэдэх ёстой вэ, энэ хязгаарлалт нь тоглоомуудад хамаарахгүй гэж бодож байна, эсвэл Тоглоом нь үндсэндээ 200MB-аас том хэмжээтэй байж болно. Гэхдээ энэ нь яг ямар утгатай болохыг би одоо болтол мэдэхгүй байна. Apple нь хөгжүүлэгчдийн санал хүсэлтийн дагуу энэхүү бодлогыг тохируулсаар байгаа байх магадлалтай.
хэхэ Pokemon TCG – 4 GB, Захиалга хаос онлайн – 1,6 GB Hearthstone 1,3 GB Би үүнийг үнэхээр сонирхож байна.
Тоглоомууд нь тусгай горимтой гэсэн мэдээлэл байсан. Би одоо дэлгэрэнгүй мэдээллийг нэгтгэж байна, бид нийтлэлийг дуусгах болно.
Би үүнийг хийж чадахгүй, хэн нэгнийг гомдоосон бол урьдчилж уучлалт гуйж байна, гэхдээ надад чамтай хуваалцахыг хүссэн асар том, чин сэтгэлээсээ, ямар ч хольцгүй баяр баясгалан байна...
Шинэ Apple TV зарласны маргааш нь би залхуурсангүй Apple-ийн сугалаанд бүртгүүлсэн (би сонгох уу?) Хөгжүүлэгчийн багцыг худалдаанд гарахаас нь өмнө авах боломжтой.
Өчигдөр орой Apple намайг эхний багцад сонгосон гэж бичсэн байна :)
Тиймээс, би энэ нийтлэлийн зохиогчтой адилгүй бөгөөд би Apple TV-д зориулсан Сургуулийн өмнөх боловсролын Brasnicce дээр үнэнчээр ажиллаж байна - 10-р сард таны App Store-оос авах боломжтой :)
тэгэхээр бүртгүүлсэн хүн бүр авсан байх шиг санагдаад байна :) Би ч бас өчигдөр захиалсан, үнэхээр их тэсэн ядан хүлээж байна... Бас хүргэлтийг нь хүлээж байгаа бас нэг хүнийг мэднэ...
Ямартай ч одоохондоо хямдрал эхлэхээр маш олон програм гарч ирэх бололтой :)
Хүн бүр өгөхгүй байх - тэд надад өгөөгүй :(
:( Би чамайг өрөвдөж байна.
Хэрэв хэн нэгэн хүсвэл надад Apple-ийн найман цагаан наалт байгаа... Би шуудангаар илгээж болно...