Geliştiriciler açısından #WWDC14 özeti:
- Paket (bundle) uygulama satabilme, ekran görüntüsünün yanında kısa video ekleyebilme, istenen kullanıcıların test sürecine dahil edilebileceği #TestFlight, App Store'da geliştiricileri etkileyen yenilikler.
- Genel olarak #iOS8'in artık daha çok şeye izin verdiği söylenebilir. Geliştiricilere sunulan 4000 yeni API'den bahsediliyor. Böylece bazı yenilikleri #Apple tarafından değil geliştiriciler eliyle görebileceğiz. Devrimsel fikir ve uygulamalara hazır olun.
- Uygulama uzantıları (#AppExtensions) ile iOS8'in izin verilen alanlarını sağlanan uzantılarla genişletmeye izin verilmiş. Geliştiriciler olarak, örneğin; fotoğraf/video paylaşımı menüsüne uygulamamızın simgesini koyabilecek, fotoğraf makinesine kendi uygulamamızın efektlerini ekleyebilecek, kendi uygulama alanımız dışındaki dosyalara (kullanıcının da onayıyla) erişim sağlayabilecek, sistem genelinde kullanılabilecek yeni klavyeler ekleyebilecek ya da bildirim merkezine yeni bileşenler (widget) ekleyebileceğiz.
- Uygulamalar artık #TouchID ile kullanıcıyı tanıma işlemlerini yapabilecek.
- #PhotoKit sayesinde uygulamalar, fotoğraf ve videoları (önce kopyalarını almaya ihtiyaç duymaksızın) doğrudan film rulosu üzerinde düzenleyebilecekler.
- #AVFoundation çatısı ile kamera üzerinde gelişmiş kontroller de uygulamaların yetki alanında artık. Örneğin bir uygulama kamera odaklanması, beyaz dengesi ya da pozlama üzerinde doğrudan kontrole sahip olabilecek.
- #HealthKit ile sağlık cihazları, sağlık uygulamaları ve kullanıcının sağlığıyla ilgili veriler işletim sistemi tarafından merkezi olarak koordine edilecek. Bir uygulama kullanıcının izniyle onun daha önceden kaydedilmiş herhangi bir sağlık verisine ulaşabilecek.
- #HomeKit çatısı ise kullanıcının yaşadığı çevredeki akıllı cihazlara (örneğin evindeki akıllı ampul) bağlanıp iletişim kurabilmesini sağlıyor olacak. Böylece bu cihazlarla iletişim işletim sistemi tarafından koordine edilerek standart hale getirilecek, uygulamaların da bu koordinasyondan faydalanmaları sağlanacak.
- Bir başka yeni API #CloudKit . Uygulamalar artık kullanıcının iCloud'una erişerek (herhangi bir kişisel bilgisine ulaşmaksızın) veri depolayabilecek ya da çekebilecek, yüksek limitler dahilinde ücretsiz olarak, iCloud üzerindeki veritabanı ve dosya servislerini kullanabilecek. Böylece yazılım geliştiricilerin sunucu tarafında bu servislerin gerçeklenmesi için çaba harcamasına gerek kalmayacak, kullanıcı tarafına daha çok vakit ayırabilecekler.
- #Handoff isimli bir #API ile kullanıcıların bir cihaz üzerinde başlattıkları bir etkinlik, sorunsuzca başka bir cihazda devam ettirilebilecek. Örneğin kullanıcı Mac'inde açtığı uzun bir dokümanı #iPad'inde kaldığı yerden okumaya devam edebilecek. Safari, Mail, Haritalar, Kişiler, Notlar, Hatırlatıcılar gibi temel Apple uygulamaları iOS 8 üzerinde bunu kullanacak, diğer uygulamalar da kullanabilecek.
- #SceneKit çatısı ile oyun ya da benzeri uygulamalar geliştirecek olan geliştiriciler için 3 boyutlu hareketli sahneler oluşturmak kolaylaşıyor. Bu çatı, içerisinde bir fizik motoru, parçacık üretici ve #3D nesnelerin derin detaylara girilmeden (sadece şekli, maddesi, ışıklar, kameralar vb üzerinden) kodlanmasını sağlayan çeşitli araçlar sağlıyor.
- #SpriteKit ise 2 boyutlu oyun geliştiricileri için bazı kolaylıklar sağlıyor. Yüksek performanslı ve pil dostu #2D oyunlar bu yeni API'nin desteği ile daha kolay yapılabilecek. Ayrıca SceneKit ile SpriteKit beraber kullanılabilecek. #Xcode6 'daki geliştirmeler ile oyun yapımcıları gölge ve sahne editörlerini kullanarak oyunlarını tasarlayabilecek, efektler ekleyebilecek ve bu tasarımı uygulamanın kolaylıkla yükleyebileceği şekilde bir dosyaya aktarabilecekler. Başka bir deyişle 2D sahneler bir nevi #storyboard gibi tasarlanabilecek artık.
- #Metal adı verilen çatıyla, grafik işlemciye fazla ek yük bindirmeden, yüksek performanslı ve karmaşık grafik işlemleri yaptırılabilecek. Geleneksel grafik API'lerinin düşük performans gösterdiği bazı işler böylece darboğaz olmaktan kurtulacak. Bu çatı ile ilgili bazı araçlar da Xcode'da olacak, böylece bazı sorunlar derleme zamanında çözülecek.
- #Swift adı verilen yeni bir programlama dili de tanıtıldı. Daha önceden iOS programlama için #C dilini nesne tabanlı yeni kurallarla genişleterek oluşturulan #Objective-C adlı bir programlama dili tek seçenekti. Bu da C'den kaynaklanan bazı kısıtlamalar ve zorluklar getiriyordu. Şimdi Apple tarafından daha performanslı olduğu iddia edilen bu yeni #programlama dili, iOS için uygulama geliştirmeyi daha sade bir hale getiriyor. Daha modern, eskisi kadar güvenli, daha hızlı ve güçlü, #test ve ölçümler daha kolay olduğu için de daha verimli kodlar yazılabiliyor.
Yeni tanıtılan özellikleri https://developer.apple.com/ios8/ sayfasından da yararlanarak özetlemeye çalıştım. Tüm bunlarla ilgili dokümantasyon ve öğretici içerik Apple tarafından kullanıma sunulmuş durumda. Örneğin #Swift ile ilgili 1120 sayfalık bir e-kitap iBooks üzerinden ücretsiz indirilebiliyor. Ayrıca iOS 8 #beta ve yine Xcode 6 beta sürümleri geliştiricilere açılmış durumda. iOS 8 tüm kullanıcılara açılana kadar geçecek olan (yaklaşık 3 aylık) sürede geliştiricilerin bu yeni özellikleri öğrenmeleri ve uygulamalarını da uyum sağlayacak şekilde geliştirmeleri bekleniyor.
Son olarak yorumlarıma gelirsek, Apple'ın bu yeni iOS ile son kullanıcılar için doğrudan etkilenecekleri değişikliklerden çok, geliştiricileri etkileyecek değişikliklere önem verdiği gözleniyor. İşletim sisteminden kaynaklanan sınırlamalar gevşetilerek ve yeni hareket alanları açılarak, değişimi uygulama geliştiricilerin hayal gücüne bırakmış oluyorlar. Yine de App Store tek elden yönetilen bir sistem olduğu sürece bu gevşetmenin herhangi bir olumsuz etkisi olmayacak gibi gözüküyor. Yeni tanıtılan bu özelliklerin uygulama geliştiricilerde şimdiden bir heyecana yol açtığı söylenebilir 🙂
Diğer yandan HealthKit ya da HomeKit gibi API'ler öyle sanıyorum ki, buna yönelik fikirleri olan cihaz üreticilerinin de bu fikirlerini bir an önce hayata geçirmesini sağlayacak, bu da akıllı (veya bunlarla entegre olabilen) cihaz nüfusunun ivmeli şekilde artmasını getirecek. Doğal bir sonuç olarak akıllı cihazlar artık insan hayatında daha fazla yer tutacak.
Videoyu izlememe gerek kalmadı 🙂