Reklamı Kapat

Apple geçen hafta diğer şeylerin yanı sıra sundu yeni Apple TV tvOS işletim sistemi ile. Yeni kara kutuya App Store'daki uygulamaların yüklenebiliyor olması elbette geliştiricileri çok mutlu etti.

Geliştiricilerin iki seçeneği var. Apple TV donanımına tam erişime sahip yerel bir uygulama yazabilirler. Mevcut SDK (geliştiriciler için kitaplıklar seti), geliştiricilerin iPhone, iPad'den zaten bildiklerine çok benzer ve programlama dilleri aynıdır - Objective-C ve daha genç Swift.

Ancak daha basit uygulamalar için Apple, geliştiricilere TVML - Televizyon İşaretleme Dili biçiminde ikinci bir seçenek sundu. TVML adının şüpheli bir şekilde HTML'ye benzediğini düşünüyorsanız haklısınız. Gerçekten XML tabanlı bir biçimlendirme dilidir ve HTML'ye çok benzer, ancak çok daha basit ve daha katı bir sözdizimine sahiptir. Ancak Netflix gibi uygulamalar için kesinlikle mükemmel. Kullanıcılar da bundan faydalanacaktır çünkü TVML'nin katılığı, multimedya uygulamalarının hemen hemen aynı görünmesini ve çalışmasını sağlayacaktır.

İlk uygulamaya giden yol

Bu yüzden yapmam gereken ilk şey, Xcode geliştirme ortamının yeni beta sürümünü indirmekti (sürüm 7.1 mevcut) burada). Bu bana tvOS SDK'sına erişim sağladı ve özellikle dördüncü nesil Apple TV'yi hedef alan yeni bir proje başlatabilmemi sağladı. Uygulama yalnızca tvOS'e özel olabilir veya kod mevcut bir iOS uygulamasına eklenerek "evrensel" bir uygulama (bugünkü iPhone ve iPad uygulamalarına benzer bir model) oluşturulabilir.

Birinci sorun: Xcode yalnızca yerel uygulama oluşturma olanağı sunuyor. Ancak belgelerde geliştiricilerin bu iskeleti değiştirip TVML'ye hazırlamasına yardımcı olacak bir bölümü çok hızlı buldum. Temel olarak Swift'de, yalnızca Apple TV'de tam ekran bir nesne oluşturan ve uygulamanın zaten JavaScript ile yazılmış olan ana bölümünü yükleyen birkaç satırlık koddur.

İkinci sorun: TVML uygulamaları gerçekten bir web sayfasına çok benziyor ve bu nedenle tüm kodlar da İnternet'ten yükleniyor. Uygulamanın kendisi aslında sadece bir "önyükleyicidir", yalnızca minimum miktarda kod ve en temel grafik öğelerini (uygulama simgesi ve benzeri) içerir. Sonunda, ana JavaScript kodunu doğrudan uygulamaya başarıyla yerleştirdim ve Apple TV internete bağlı olmadığında en azından özel bir hata mesajı görüntüleme yeteneğine sahip oldum.

Üçüncü küçük sorun: iOS 9 ve onunla birlikte tvOS, İnternet'e yönelik tüm iletişimin HTTPS aracılığıyla şifrelenmiş olarak gerçekleşmesini kesinlikle gerektirir. Bu, iOS 9'da tüm uygulamalar için sunulan bir özelliktir ve bunun nedeni, kullanıcı gizliliği ve veri güvenliği üzerindeki baskıdır. Bu nedenle web sunucusuna bir SSL sertifikası dağıtmak gerekli olacaktır. Yılda 5 $ (120 kron) kadar düşük bir ücret karşılığında satın alınabilir veya örneğin, HTTPS'yi otomatik olarak ve yatırım yapmadan kendisi halledecek CloudFlare hizmetini kullanabilirsiniz. İkinci seçenek ise uygulama için bu kısıtlamayı kapatmak şu an için mümkün ancak kesinlikle tavsiye etmem.

Hala ara sıra küçük hataların olduğu belgeleri birkaç saat okuduktan sonra, çok basit ama çalışan bir uygulama geliştirdim. Popüler metin "Merhaba Dünya" ve iki düğmeyi gösteriyordu. Düğmeyi aktif hale getirmek ve gerçekten bir şeyler yapmak için yaklaşık iki saat harcadım. Ama sabahın erken saatlerini düşününce uyumayı tercih ettim... ve bu iyi bir şeydi.

Geçen gün, hazır bir örnek TVML uygulamasını doğrudan Apple'dan indirmek gibi parlak bir fikrim vardı. Kodda aradığımı çok hızlı bir şekilde buldum ve düğme yayındaydı ve çalışıyordu. Diğer şeylerin yanı sıra internette tvOS eğitiminin ilk iki bölümünü de keşfettim. Her iki kaynak da çok yardımcı oldu, ben de yeni bir projeye başladım ve ilk gerçek uygulamamı başlattım.

İlk gerçek uygulama

Tamamen sıfırdan başladım, ilk TVML sayfasıyla. Bunun avantajı, Apple'ın geliştiriciler için yalnızca belgelerden kopyalanması gereken 18 hazır TVML şablonu hazırlamış olmasıdır. Bir şablonu düzenlemek yaklaşık bir saat sürdü; bunun başlıca nedeni, bitmiş TVML'yi gerekli tüm verilerle birlikte Apple TV'ye göndermek için API'mizi hazırlamamdı.

İkinci şablon yalnızca yaklaşık 10 dakika sürdü. İki JavaScript ekledim; içlerindeki kodun çoğu doğrudan Apple'dan geliyor, o halde neden tekerleği yeniden icat edelim? Apple, önerilen içerik yükleme göstergesi ve olası hata gösterimi de dahil olmak üzere, TVML şablonlarının yüklenmesi ve görüntülenmesiyle ilgilenen komut dosyaları hazırlamıştır.

İki saatten kısa bir sürede çok basit ama işlevsel bir PLAY.CZ uygulaması oluşturmayı başardım. Radyo istasyonlarının bir listesini görüntüleyebilir, türe göre filtreleyebilir ve radyoyu başlatabilir. Evet, pek çok şey uygulamada yok ama temel bilgiler işe yarıyor.

[youtube id=”kLKvWC-rj7Q” genişlik=”620″ yükseklik=”360″]

Avantajı, uygulamanın temelde web sitesinin JavaScript tarafından desteklenen özel bir sürümünden başka bir şey olmaması ve görünümü değiştirmek için CSS'yi de kullanabilmenizdir.

Apple'ın hazırlanması için hâlâ birkaç şeye daha ihtiyacı var. Uygulama simgesi bir değil ikidir; daha küçük ve daha büyüktür. Yenilik, simgenin basit bir görüntü olmaması, paralaks efekti içermesi ve 2 ila 5 katmandan (arka plan, ortadaki nesneler ve ön plan) oluşmasıdır. Uygulamadaki tüm aktif görseller aynı etkiyi içerebilir.

Her katman aslında şeffaf bir arka plan üzerinde sadece bir görüntüdür. Apple, bu katmanlı görüntüleri derlemek için kendi uygulamasını hazırladı ve yakında Adobe Photoshop için bir dışa aktarma eklentisi yayınlayacağını vaat ediyor.

Diğer bir gereksinim ise "Üst Raf" görselidir. Kullanıcı, uygulamayı üst satırda (üst rafta) belirgin bir konuma yerleştirirse uygulamanın, uygulama listesinin yukarısındaki masaüstü için de içerik sağlaması gerekir. Basit bir resim olabileceği gibi, örneğin favori filmlerin listesi veya bizim durumumuzda radyo istasyonları gibi aktif bir alan da olabilir.

Birçok geliştirici yeni tvOS'in olanaklarını keşfetmeye yeni başlıyor. İyi haber şu ki, içerik uygulaması yazmak çok kolay ve Apple, TVML ile geliştiriciler için uzun bir yol kat etti. Bir uygulama oluşturmak (örneğin PLAY.CZ veya iVyszílő) kolay ve hızlı olmalıdır. Yeni Apple TV'nin satışa çıkmasıyla aynı anda çok sayıda uygulamanın da hazır olması ihtimali yüksek.

Yerel bir uygulama yazmak veya bir oyunu iOS'tan tvOS'e taşımak daha zorlayıcı olacaktır, ancak çok fazla değil. En büyük engel farklı kontroller ve uygulama başına 200 MB sınırı olacaktır. Yerel bir uygulama mağazadan verilerin yalnızca sınırlı bir kısmını indirebilir ve geri kalan her şeyin ek olarak indirilmesi gerekir ve sistemin bu verileri silmeyeceğine dair hiçbir garanti yoktur. Ancak geliştiriciler, yine iOS 9'un bir parçası olan "Uygulama İnceltme" adı verilen bir dizi aracın da mevcut olması sayesinde, bu sınırlamayı kesinlikle hızlı bir şekilde aşacaktır.

Konular: , ,
.