Tutup iklan

Apple minggu lalu menyajikan antara lain Apple TV baru dengan sistem operasi tvOS. Fakta bahwa aplikasi dari App Store dapat diinstal di kotak hitam baru tentu membuat para pengembang sangat senang.

Pengembang memiliki dua opsi. Mereka dapat membuat aplikasi asli yang memiliki akses penuh ke perangkat keras Apple TV. SDK (kumpulan perpustakaan untuk pengembang) yang tersedia sangat mirip dengan apa yang sudah diketahui pengembang dari iPhone, iPad, dan bahasa pemrogramannya sama - Objective-C dan Swift yang lebih muda.

Namun untuk aplikasi yang lebih sederhana, Apple menawarkan pengembang opsi kedua berupa TVML - Television Markup Language. Jika Anda merasa nama TVML mencurigakan seperti HTML, Anda benar. Ini sebenarnya bahasa markup berdasarkan XML dan sangat mirip dengan HTML, hanya saja lebih sederhana dan memiliki sintaks yang lebih ketat. Tapi itu benar-benar sempurna untuk aplikasi seperti Netflix. Dan pengguna juga akan mendapatkan keuntungan, karena ketatnya TVML akan membuat aplikasi multimedia terlihat dan bekerja dengan cara yang hampir sama.

Jalur ke aplikasi pertama

Jadi hal pertama yang harus saya lakukan adalah mengunduh versi beta baru dari lingkungan pengembangan Xcode (tersedia versi 7.1 di sini). Ini memberi saya akses ke tvOS SDK dan dapat memulai proyek baru yang secara khusus menargetkan Apple TV generasi keempat. Aplikasinya bisa hanya untuk tvOS, atau kodenya bisa ditambahkan ke aplikasi iOS yang sudah ada untuk membuat aplikasi “universal” – model yang mirip dengan aplikasi iPhone dan iPad saat ini.

Masalah pertama: Xcode hanya menawarkan kemampuan untuk membuat aplikasi asli. Namun saya segera menemukan bagian dalam dokumentasi yang akan membantu pengembang mengubah kerangka ini dan mempersiapkannya untuk TVML. Pada dasarnya, ini adalah beberapa baris kode di Swift yang, di Apple TV, membuat objek layar penuh dan memuat bagian utama aplikasi, yang sudah ditulis dalam JavaScript.

Masalah kedua: Aplikasi TVML sangat mirip dengan halaman web, dan oleh karena itu semua kode juga diambil dari Internet. Aplikasi itu sendiri sebenarnya hanyalah sebuah "bootloader", hanya berisi kode minimum dan elemen grafis paling dasar (ikon aplikasi dan sejenisnya). Pada akhirnya, saya berhasil memasukkan kode JavaScript utama langsung ke dalam aplikasi dan mendapatkan kemampuan untuk setidaknya menampilkan pesan kesalahan khusus saat Apple TV tidak terhubung ke Internet.

Masalah kecil ketiga: iOS 9 dan tvOS secara ketat mengharuskan semua komunikasi menuju Internet dienkripsi melalui HTTPS. Ini adalah fitur yang diperkenalkan di iOS 9 untuk semua aplikasi dan alasannya adalah tekanan pada privasi pengguna dan keamanan data. Jadi, perlu untuk menerapkan sertifikat SSL di server web. Itu dapat dibeli hanya dengan 5 dolar (120 mahkota) per tahun, atau Anda dapat menggunakan, misalnya, layanan CloudFlare, yang akan menangani HTTPS dengan sendirinya, secara otomatis dan tanpa investasi. Opsi kedua adalah menonaktifkan batasan ini untuk aplikasi, yang mungkin dilakukan saat ini, tetapi saya pasti tidak akan merekomendasikannya.

Setelah beberapa jam membaca dokumentasi, yang terkadang masih terdapat kesalahan kecil, saya membuat aplikasi yang sangat mendasar namun berfungsi. Ini menampilkan teks populer "Halo Dunia" dan dua tombol. Saya menghabiskan sekitar dua jam mencoba mengaktifkan tombol dan benar-benar melakukan sesuatu. Tapi mengingat dini hari, saya lebih memilih untuk tidur… dan itu adalah hal yang baik.

Suatu hari, saya mendapat ide cemerlang untuk mengunduh contoh aplikasi TVML yang sudah jadi langsung dari Apple. Saya menemukan apa yang saya cari dengan sangat cepat dalam kode dan tombolnya aktif dan berfungsi. Antara lain, saya juga menemukan dua bagian pertama tutorial tvOS di Internet. Kedua sumber daya tersebut sangat membantu, jadi saya memulai proyek baru dan memulai aplikasi nyata pertama saya.

Aplikasi nyata pertama

Saya memulai sepenuhnya dari awal, halaman TVML pertama. Keunggulannya adalah Apple telah menyiapkan 18 template TVML siap pakai untuk pengembang yang tinggal disalin dari dokumentasinya. Mengedit satu template memakan waktu sekitar satu jam, terutama karena saya sedang mempersiapkan API untuk mengirim TVML yang sudah selesai dengan semua data yang diperlukan ke Apple TV.

Template kedua hanya memakan waktu sekitar 10 menit. Saya telah menambahkan dua JavaScript - sebagian besar kode di dalamnya berasal langsung dari Apple, jadi mengapa perlu menciptakan kembali rodanya. Apple telah menyiapkan skrip yang menangani pemuatan dan tampilan template TVML, termasuk indikator pemuatan konten yang disarankan dan kemungkinan tampilan kesalahan.

Dalam waktu kurang dari dua jam, saya dapat membuat aplikasi PLAY.CZ yang sangat sederhana namun berfungsi. Itu dapat menampilkan daftar stasiun radio, dapat memfilternya berdasarkan genre dan dapat memulai radio. Ya, banyak hal yang tidak ada di aplikasi, tetapi dasar-dasarnya berfungsi.

[youtube id=”kLKvWC-rj7Q” lebar=”620″ tinggi=”360″]

Kelebihannya adalah aplikasi ini pada dasarnya tidak lebih dari versi khusus website yang didukung oleh JavaScript dan Anda juga dapat menggunakan CSS untuk memodifikasi tampilannya.

Apple masih memerlukan beberapa hal lagi untuk dipersiapkan. Ikon aplikasi bukan hanya satu, tetapi dua - lebih kecil dan lebih besar. Kebaruannya, ikon tersebut bukanlah gambar sederhana, melainkan mengandung efek paralaks dan terdiri dari 2 hingga 5 lapisan (latar belakang, objek di tengah, dan latar depan). Semua gambar aktif di seluruh aplikasi dapat mengandung efek yang sama.

Setiap lapisan sebenarnya hanyalah sebuah gambar dengan latar belakang transparan. Apple telah menyiapkan aplikasinya sendiri untuk mengkompilasi gambar berlapis ini dan berjanji akan segera merilis plugin ekspor untuk Adobe Photoshop.

Persyaratan lainnya adalah gambar "Rak Paling Atas". Jika pengguna menempatkan aplikasi di posisi menonjol di baris paling atas (di rak paling atas), aplikasi juga harus menyediakan konten untuk desktop di atas daftar aplikasi. Bisa berupa gambar sederhana atau bisa berupa area aktif, misalnya dengan daftar film favorit atau, dalam kasus kami, stasiun radio.

Banyak pengembang yang baru mulai menjajaki kemungkinan tvOS baru. Kabar baiknya adalah menulis aplikasi konten sangatlah mudah, dan Apple telah melakukan banyak hal bagi pengembang dengan TVML. Membangun aplikasi (misalnya PLAY.CZ atau iVyszílő) seharusnya mudah dan cepat. Ada kemungkinan besar bahwa sejumlah besar aplikasi akan siap bersamaan dengan mulai dijualnya Apple TV baru.

Menulis aplikasi asli atau mem-porting game dari iOS ke tvOS akan lebih menantang, namun tidak terlalu sulit. Rintangan terbesarnya adalah kontrol yang berbeda dan batas 200MB per aplikasi. Aplikasi asli hanya dapat mengunduh sebagian data dari penyimpanan, dan sisanya harus diunduh tambahan, dan tidak ada jaminan bahwa sistem tidak akan menghapus data ini. Namun, pengembang pasti akan mengatasi keterbatasan ini dengan cepat, juga berkat tersedianya seperangkat alat yang disebut "App Thinning", yang juga merupakan bagian dari iOS 9.

Tema: , ,
.