Merhabalar,
Eğer okumadıysanız ilk önce I/O’yla ilgili yazdığım daha çok kullanıcıları etkileyen yenilikleri içeren yazımı okumanızı tavsiye ederim. Okudunuz bitti mi güzel 😀 o zaman biz developerları ilgilendiren yeniliklerle devam edebiliriz. Burada tüm yeniliklerin madde madde üzerinden geçeceğim ancak, bir kısmıyla ilgili ayrıca daha detaylı yazılar da önümüzdeki haftalarda paylaşacağım.
- Geçtiğimiz sene I/O’da Kotlin’in de artık Android geliştirme için official dil olduğu açıklanmıştı. Bu senenin Developer Keynote‘u Kotlin kullanım ve memnuniyet rakamlarıyla başladı. Özellikle son dönemde twitter Android Developers kanalından yapılan 31 days of Kotlin, giderek Google code sample’larının daha çok Kotlin’e dönmesi, IO’da neredeyse tüm session’lardaki snippetların Kotlin olması ve I/O devam ederken Udacity‘ye Kotlin bootcamp de eklenmesiyle gidişatı net bir şekilde görmüş olduk.
- Android için şüphesiz bu sene en çok ses getiren gelişme Android App Bundle (publishing format) oldu. Android’in kullanılmasının artması, zamanın ilerlemesi ve daha çok ülkeden uygulamaların desteklenmesiyle beraber uygulamaların size’ı artmaya bununla beraber de aslında download rakamlarında düşüş oluyor. Android App Bundle’la uygulamamızı publish ettiğimizde sadece bizim cihazımız için gerekli olan resource’lar cihaza inmiş oluyor. Ve piyasadaki cihazların %99’uyla uyumlu.
App Bundle üretmek ise gayet basit, aynı bir signed apk üretmeye benzer şekilde. Aşağıda stepleri görsellerle paylaşıyorum.
- Google Play Instant: Google Play Instant playde bir oyunu indirmeden demo versiyonunu, küçük bir parçasını indirip inceleme fırsatı sunan bir featuredı. IO itibariyle tüm oyun geliştiricilere açılmış.
- Android Jetpack: Android geliştirmeye hız kazandırmak için Android API’ların gruplanması gibi düşünebiliriz kısaca. Şimdiye kadar x bir çözüm için herkes kendi geliştirdiği yöntemleri deniyordu. Geçen sene Architecture Components’in çıkışıyla beraber Android de IOS gibi belli bir standartla ilerlemeye başladı. Tabi konferansda da birkaç kere belirtildiği üzere Architecture components kullanımı zorunlu değil, her şirketin farklı case’leri ve bunlara yönelik çözümleri olabilir.
- JetPack API’ların ise güzel tarafı IDE’yle entegre olmaları. Developer keynote’u izleyen çoğu kişi gibi tabi ki benim de favorim Navigation Editor.
- Sıradan devam edelim. Emulatorun run edilmesi hızlandırılmış. Hız derken background’daki birşeyi foregrounda almak kadar hızlı diyebiliriz.
- Keynote’da belirtildiği gibi Developer Keynote’da da Android Slices üzerinde duruldu ayrıca ilgilenenler için Action’s on Android üzerine de bir session vardı. Slices’ı daha kolay ve hızlı bir şekilde geliştirebilmek için hazır templateler bulunmakta. Slices jetpack sayesinde cihazların %95’inde desteklenecekmiş ve search sonucunda ise P’nin launch edilmesiyle beraber bu yaz içerisinde, asistanda ise bu sene içerisinde görebilecekmişiz. Özellikle asistana entegre olacağı noktada çok farklı yerlere gidebilir. Slices widget’ların yeni ve basitleştirilmiş hali gibi düşünebilir ama template mantığında olması herkesin aynı formatta hazırlaması sadece developer için değil kullanıcı açısından da güzel. Developer açısından bakıldığında ise halen bu şekilde yapmıyorsak, kendi applerimizin de benzeri şekilde, standart templatelerle tasarlanması ve geliştirilmesi taraftarıyım. Bunun için de bu template’ler geliştiricilere fikir verebilir.
- Bir diğer önemli haber de Android Things‘in artık preview’den çıkıp mezun olmasıydı. Tüm IO katılımcılarına da Android Things kiti hediye edildi.
- Action Links: Action on Google altındaki gelişmelerle devam ediyorum. Action Links geliştirdiğimiz actionların paylaşılabilir linkleri aslında. Belki biraz daha erken bile olabilmeliydi ama actionlara ulaşmayı ve kullanmayı kolaylaştırıyor. Developer Keynote’daki örnekte meditaston uygulaması Headspace’in yayınladığı blogpostdan action’ına yönlendirmesi paylaşıldı. Yalnız geliştirilen action’ların da kullanıcıyla iletişime geçecek şekilde olması taraftarıyım. Headspace beni direk app’ine attı 🙂 Şimdiye kadar geliştirilmiş actionlara da linkten bakabilirsiniz.
- Action Notifications: Uygulama yüklü olmasa bile kullanıcılara bildirim gönderilme olarak özetlenebilir.
- Routine Suggestions: Temel olarak asistanın, actionları olan uygulamaların günlük rutinlerimize girmesi ve öneriler sunması. Actions’ı asistanı, kullanıcımızı rahatsız etmeden ve doğru senaryolarla appimize entegre ettiğimizde engagement’ın ve kazanımın artabileceği yönünde düşünüyorum.
- PWA: Daha çok mobil alanda geliştirdiğim için web’le ilgili yenilikler bana biraz uzak olsa da PWA’yle beraber mobile engagement’da %20’lik bir artış olmuş. Starbuck’ın mobile ve web app’i eşit sayıda sipariş alıyormuş gibi bilgilerden sonra firma sahipleri açısından bakıldığında aynı uygulamanın hem mobiline hem webine eşit yatırım yapmamız gerektiğini düşünebiliriz. WebAssembly kullanarak browserda low-level dillerde yazılmış kodları derleyebiliyormuşuz.
- Lighthouse: Chrome’un performans için websitesini analiz eden built-in feature’ı. IO’yla beraber lighthouse’un 3.0 versiyonu geldi. Genel iyileştirmeler.
- AMP: AMP websitelar google.com/amp/www.example.com ‘dan http://www.example.com’a dönüşmüş.
- Chrome OS: Linux app’ler artık run edilebiliyor, yani Pixel Book’larda geliştirme yapılabilir.
- Material Theming: Material Design’ın 2014’de çıktığından beri olan serüveni incelenerek ihtiyaçlar doğrultusunda çıkmış. Material Design’ı customize edebiliyoruz. Ama asıl güzel yanı bununla beraber gelen araçlar. Popüler design uygulamalarından biri olan Sketch’e Material Theme Editor plugin olarak gelmiş. Bu plugin kullanılarak Material Design’ı customize ederek kendi tasarımımızı yaratabiliyormuşuz. Designer olmasam da bir tur ben de denemek istiyorum açıkçası 😀 Sonrasında ise tasarımlar Material Gallery kullanılarak paylaşılabilecekmiş. Tabi şu an herkes farklı birşey kullanıyordur. Bu tool şimdiye kadar Google içerisinde paylaşmak, yorum yapmak vs için kullanılan bir internal toolmuş. Artık hepimizin kullanımına açık.
- AI: Cloud TPU’ları herkese açılmış. İlgilenenler linkten inceleyebilir. Yine Cloud sayesinde Machine Learning Api’larının herkesin kullanımına sunulabildiği üzerinde de duruldu. Bunlardan en sonuncusu Cloud Text-To-Speech api. Bir önceki yazımda da bahsettiğim asistan’da kullanılanla aynı teknoloji kullanılıyor. Farklı dillerde 32 farklı seste konuşma üretebiliyor.
- Firebase: Her ay 1.2 milyon aktif app Firebase’i kullanım rakamına ulaşılmış. Fabric satın alındıktan sonra beklenen haber de geldi. Crashlytics Firebase’e entegre olmuş. Birden bire Fabric kapatılır mı bilinmez ama tüm platformların gücüyle Firebase’in çok daha fazla katkı sağlayacı kesin. En heyecan verici anons ise şüphesiz MLKit olmuştu. IO’nun ardından gelen çok fazla sayıda yazı da bu heyecanı kanıtlar nitelikte.
Genel olarak benim highlight’larım bu şekildeydi. Tabi yaz içerisinde çok daha detaylı yazılar da paylaşmaya çalışacağım. İyi hafta sonları 🙂
Leave a Reply