Photo by Apple

iOS Developer Gözünden WWDC ‘16

WWDC’de neler oldu ? Bu gelişmeler bize ne ifade ediyor…

iOS geliştiriciler olarak bizler için yılın en önemli haftasını geride bıraktık. Uzun zamandır beklediğimiz WWDC ve bize getirdikleri açıklandı. Yeni özellikleri araştırmaya, beta sürümleri denemeye başladık. Bu özellikleri ve hayatımızda nelerin değişeceğini bir developer gözünden madde madde anlatmaya çalışacağım.

Bu yazı try! log() isimli haftalık gelişmeleri değerlendirdiğim serinin WWDC özel yazısıdır.

Keynote

Pazartesi günü WWDC’nin en önemli günüdür ve özellikle Keynote için herkes nefeslerini tutup ekran başına geçer. Biz de planımızı yaptık ve ING Bank’ın yeni açılan Digital Inovasyon Merkezi (OrangeLab)’de hep beraber izlemek için ekran başına geçtik. Geçen sene WWDC’yi ön sıralardan izlemişken bu sene ekran başında izlemek biraz içimizi burksa da yine heyecan üst seviyedeydi. Bizi dev ekran ve bol bol pizza ile karşıladıkları için de ayrıca OrangeLab ekibine çok teşekkür ediyorum 👏 Keynote’u tek başına izlemektense farklı görüşlerden insanlarla izlemek ve farklı yorumlar duymak çok daha faydalı oluyor.

Keynote Tim Cook’un sahneye çıkması ile başladı. Sunuma klasik olarak istatistikler ile başlayan Tim, daha sonra aşama aşama yenilikleri tanıttı. Tüm dünyanın izlemekte olduğu Keynote daha çok son kullanıcıya ilgilendiren ve Apple ürünleri tanıtımı şeklinde devam etti. Bu kısımda geliştiriciler biraz hayal kırıklığına uğradı diyebiliriz. Özellikle Apple Music ve Messenger tanıtımı bizleri biraz olaydan soğuttu diyebilirim. 2 saat süren Keynote’tan sonra ee bizler ne yapacağız diye düşündüm diyebilirim. macOS, watchOS, tvOS ve iOS’a gelen yenilikler güzeldi fakat bizi tam tatmin etti diyemeyeceğim. Messenger’ın Android’e gelmemesi ise bizim için tam bir hayal kırıklığı oldu. Bunların dışında Siri SDK, Messenger SDK, Apple Pay ve Swift Playgrounds on iPad biraz da olsa yüzleri güldüren özellikler oldu.

Bizim saatimize göre 20:00–22:00 arası süren Keynote böyle geçmiş olsa da bir sonraki seans olan Platforms State of the Union sunumu için beklemeye başladım.

Platforms State of the Union

Bu sunum aslında developer’ları daha çok ilgilendiren bir sunum. Keynote’un biraz daha detaylı ve biraz daha Nerd dilinde olanı diyebilirim. Saat biraz geç de olsa 00:30 da ekran başına tekrar geçip bu sunumu izlemeye başladım. Bütün platformlarda yeni gelen özellikleri ve bu özelliklerin bizlere nasıl yansıyacağını anlatan çok güzel bir sunum oldu. Beklemeye ve uykusuzluğa değdi diyebilirim.

Bu sunumdan sonra Apple Design Awards ile ilk gün tamamlandı. Salı’dan Cuma’ya kadar ise gelişmeler özelinde detaylı sunumlar ile WWDC devam etti.

WWDC’nin tüm videolarını online olarak bu adresten izleyebilirsiniz.

Gelelim yeniliklere..

Apple; Siri, iMessage, Phone(CallKit) ve Maps’i geliştiricilere açtığını duyurdu. Yani artık uygulamalarımızı bunlara entegre çalışacak şekilde yazabileceğiz. Detaylara gelirsek:

Siri

Sirinin third-party geliştiricilere açılması aslında WWDC’de yapılması öngörülen bir duyuruydu. Apple’da sağolsun bizleri kırmadı. Siri hali hazırda bir çok dilde sorulara cevap verebiliyordu. Artık gelen sorulara biz de yeni cevaplar hazırlayabileceğiz. Bu ne demek oluyor ? Mesela X uygulamamız var ve Siri ile entegre olacak bir sistem yaptık. Kullanıcı Siri’ye

“X uygulaması ile Y işlemini yap“

dediğinizde artık Siri bizim uygulamamıza bu bilgiler ile gelecek ve bizden göstermemizi istediğimiz sonucu alıp kullanıcıya gösterecek.

Burdan sonrası uygulamanızın fonksiyonuna ve sizin hayal gücünüze kalmış. Kullanıcıya işe yarar bilgiler sağlayabilirseniz, Siri uygulamanız için etkileşim sağlayacı bir araç olabilir.

Benim kullanmak isteyebileceğim bazı örnekler:

“Amazon’da iOS Kitaplarını ara”

“imdb’de 7 ve üzeri almış Komedi filmlerini listele”

“ProductHunt’ta günün en iyilerini göster”

“LigTv bugünün maç sonuçlarını göster”

Siz de aklınıza gelen örneği buraya not yazarak insanlara ilham verebilirsiniz.

Bir diğer duyuru ise Siri’nin macOS işletim sistemlerine gelmesi oldu. Üstte konuştuğumuz özellikler mac uygulamaları için de geçerli.

ve son olarak bu özellikler Siri’nin yayında olduğu tüm dillerde (36 dil) geçerli olacak.

iMessage

Apple bu sene iMessage üzerine çok düşmüş. Mesajlaşmanın geleceği üzerine kafa yoran Apple, iMessage ile bunu başarmaya çalışmış. Resim ve video gönderme konusunda üst düzey işler yapmışlar. Biraz SnapChat’ten biraz Line’dan biraz Facebook Messenger’dan esinlenip yeni özellikler geliştirmişler. Büyüyen, küçülen, patlayan, kaybolan efektli yazılar, Sticker’lar, resimler her ne kadar güzel özellikler olsa da bizleri çok ilgilendirmeyen özellikler :D

Asıl önemli konumuz ise Apple’ın iMessage’ı bir platform haline getirmesi ve third-party developer’lara açması. Bu platform sayesinde siz de uygulamanıza iMessage etkileşimli özellikler ekleyebilecek ve iMessage’ı daha güzel hale getirebileceksiniz. Bu yaptığınız uygulamaların listelenmesi için bir de iMessage için App Store tanıtıldı. Facebook Messenger’ın önceden uygulama mağazası açması ve gelişmeler Apple’a ilham vermiş olacak ki, Apple’da çok geçmeden App Store hamlesini yaptı.

Gelelim iMessage ile neler yapabileceğimize:

Apps -Artık uygulamalarımızı iMessage ile entegre çalışacak hale getirebileceğiz. Kullanıcılar iMessage’dan çıkmak zorunda kalmadan bizim uygulamamızla etkileşime geçebilecek ve işlem yapabilecekler. Apple’ın verdiği örneklere göre artık iMessage’dan içerik paylaşabilir, resim editleyebilir, oyun oynayabilir, ödeme yapabilirsiniz. Bunların olması için uygulamanızı iMessage ile çalışabilecek bir arayüz sunmanız gerekiyor.

Benim kullanmak isteyebileceğim bazı örnekler:

Kelime ile Caps arayıp, ona uygun Caps’i karşıya gönderme

Anlık resim ve yazı girerek Caps oluşturma (Beni tanıyanlar Caps olayına düşkünlüğümü ve Caps uygulamalırımı bilir 😉)

Her ne kadar ben kullanmayı tercih etmeyecek olsam da Para gönder, Para iste gibi finansal olaylar

Konuşmada geçen adresler ile beraber ortak bir gezi planı yapma

Klasik olarak Uber çağır, rezervasyon yap, gif ve resim ara, müzik gönder

Stickers -Yeni gelen Stickers özelliği ile uygulamanıza Sticker paketi oluşturup bunu iMessage App Store’da yayınlayabilirsiniz. Daha sonra uygulamanızı indiren kullanıcılar iMessage’da sizin stickerlarınızı tek dokunuşla karşıya gönderebilecekler. Uygulamanıza Sticker özelliği eklemek çok kolay. Tek yapmanız gereken oluşturduğunuz Sticker’ları Apple’ın sağlamış olduğu klasöre eklemek (fotoğraf ya da gif olabilir) ve uygulamanız hazır 👻 Gerçekten çok kolay, tebrikler Apple 👏

Benim kullanmak isteyebileceğim bazı örnekler:

Euro 2016 uygulaması ülke bayraklarını ve futbolcu sticker’ları sağlayabilir

Dizi uygulamaları popüler karakterleri sağlayabilir. (Game of Thrones HODOR gibi 😶)

Kim Kardashian’ın Kimoji uygulaması ve taklitleri yapılabilir 🤔

Maps

Lokasyon bazlı servis sağlayan uygulamalar Apple Maps ile entegre kullanılabilecekler. Bu sayede Map üzerinden rezervasyon, ödeme ve takip işlemleri kolayca yapılabilecek. Yani Maps üzerinden Uber ya da taksi çağırabilecek, yakındaki restoranları inceleyip rezervasyon yapabileceğiz. Hatta Apple Maps bize bulunduğumuz lokasyona göre kullanabileceğimiz uygulamalar önerecek. Lokasyon bazlı uygulamalar bu sayede kullanıcılar ile etkileşimini çok arttırabilir. Türkiye’de pek yaygın kullanıldığını düşünmesem de Amerika’da Apple Maps kullanımı çok yaygın. Bu kullanıcılara harita üzerinden güzel bir özellik ve deneyim sunarak, uygulamanıza yeni değerler katabilirsiniz.

Phone (CallKit)

Phone aslında bir çoğumuzu geliştirici olarak ilgilendirmese de son kullanıcı olarak güzel bir özellik. Bu özellik sayesinde WhatsApp, Skype, Viber gibi internet üzerinden(VoIP destekli) karşılıklı konuşma sağlayan uygulamalar, yapacakları geliştirme ile arama deneyimini iPhone’un arama deneyimi ile aynı hale getirebilecekler. Yani sizi WhatsApp’tan biri aradığında kapalı ekranda(lock screen) bile olsan normal telefon gelmiş gibi tam ekran resim ve cevapla tuşlarını göreceksin. En son aramalarda ve favorilerde işlemler görüntülenebilecek, gelen arama sessize alınabilecek gibi özellikleri kullanabileceğiz. Eski deneyimde WhatsApp araması geldiğinde bildirim ile gösteriliyordu ve bu pek güzel bir kullanıcı deneyimi oluşturmuyordu. iOS 10 ile birlikte bu günler geride kalacak diye umuyoruz 😀

Bu 4 büyük özelliğin ardından platformlara gelen diğer özellikler ile devam edelim.

Apple Pay

Safari 10 ile birlikte Apple Pay artık webde de desteklenecek. Bu özellik en çok e-ticaret sitelerinin önünü açacağa benziyor. Apple bazı ortaklıklar ile Groupon gibi sitelerde Apple Pay entegrasyonu yapmış görünüyor. İleride bir çok sitede Apple Pay ile öde göreceğiz gibi. watchOS için de Apple Pay ile öde entegrasyonu geliştiricilere açılmış durumda.

watchOS

  • Uygulama açılış hızları iyileştirilmiş. watchOS 1 ve 2'nin en büyük sorunlarından biri de uygulamaların çok yavaş açılmasıydı. Beta sürümde gördüğüm kadarıyla gerçekten iyileştirmeler işe yaramış.
  • SpriteKit ve SceneKit desteği geldi. Bu sayede oyun ve animasyon olayları watchOS üzerinde eskisinden daha iyi duruma gelecektir. Önceki sürümlerde animasyon oluşturmak için görselleri arka arkaya koyup oynattığımızı düşünürsek bu gelişme baya iyi oldu 😀
  • Glances denen widget benzeri yapı kaldırıldı.
  • iOS benzeri uygulamaların arka planda çalışması ve uygulama arası geçiş eklendi.
  • Digital Crown denen kenardaki tuşa, gyroscope sensörüne ve kullanıcı dokunuşlarına(touch events) e geliştiricilerin erişimi sağlandı.

Xcode

  • Beni en çok heyecanlandı özellik Memory graph debugging oldu. Uygulamanızı geliştirirken memory’de neler döndüğünü aşama aşama inceleyebileceğiz. Bu sayede memory’de gereksiz bulunan elemanlara ve bunları gereksiz tutan kod satırına artık ulaşabileceğiz. Memory üzerine problem yaşayan uygulamalar bunun değerini zamanla anlayacaktır 😀
  • Xcode Source Editor Extension özelliği ile artık Xcode için yeni eklentiler yazabileceğiz. Bu eklentiler sayesinde Xcode daha güzel bir IDE olma yolunda sürekli gelişecektir.
  • Interface Builder’a gelen yeni özellik ile yaptığını tasarımı farklı ekranlarda anlık olarak görebileceksiniz. Farklı ekranlar için farklı tasarımları tek ekranda oluşturabileceksiniz. (Bu daha önceden de yapılabiliyordu ama yeni yapı daha hoş olmuş)

Diğer Gelişmeler

  • Swift ile birlikte tanıtılan ve proje açmadan kod denemeleri yapabileceğiniz ve anlık olarak sonuçlara görebildiğimiz Playground’lar artık iPad’lerde de çalışacak. Özellikle çocukların kod öğrenmesi üzerinden tanıtılan Swift Playgrounds on iPad, kod öğrenimini kolaylaştırması açısından çok yerinde bir hamle. Aynı zamanda geliştiriciler açısından da iPad üzerinden hızlıca denemeler yapmak gayet güzel olacak. Twitter’dan gelen tepkilere bakılırsa, şimdiden herkesin severek kullandığı bir uygulama olmuş görünüyor.
  • Apple ses analizi ve sesi yazıya çevirme gibi özellikleri bulunan SFSpeechRecognizer API’sini duyurdu. Bu ses tanıma ile uğraşan uygulamaların işini kolaylaştırabilir. Bu geliştirme ile sesi yazıya döküp sonra o yazı üzerinden işlemler yapıp kullanıcıya sunan yeni servisler görebiliriz.
  • Bildirimlere gelen yeni özellik ile artık bildirimlerde resim ve gif gösterilebilecek. Kullanıcı bildirimi kapatırsa uygulama bunu anlayabilecek.
  • Bir Apple cihazınızda kopyaladığınız bir şeyi başka bir cihazdan görebileceksiniz. (Telefondan kopyalayıp Mac’den yapıştırmak 👏)

Apple WWDC’16 da yukarıdaki özelliklerden çok daha fazlasını yayınladı. Bu yazının amacı tek tek hepsini değerlendirmek değil, içlerinden benim ilgimi çeken özellikleri kendimce yorumlarımı katarak yazmak istedim. Atlamış olduğum ve önemli olduğunu düşündüğünüz yenilikleri yoruma eklerseniz, hep birlikte faydalanmış oluruz.

Bu yazıya ve try! log() serisine gösterdiğiniz ilgiden dolayı teşekkür ediyorum. Yazıyı beğendiyseniz aşağıda bulunan kalbe tıklayarak yayılmasına yardımcı olabilirsiniz. Sosyal medyada paylaşarak yazının daha fazla kişiye faydalı olmasını sağlayabilirsiniz 👈

Daha fazlası için beni Twitter’dan takip edin 🚶🏻

Like what you read? Give ahmet yalcinkaya a round of applause.

From a quick cheer to a standing ovation, clap to show how much you enjoyed this story.