Android Dev Summit 2018 Wrap-up


Herkese selam,

Android Dev Summit nasıl geçti henüz bakmamış olanlar için, ben de kısa bir özet geçmek istedim. Keyifli okumalar 🙂

Bildiğim kadarıyla Android Dev Summit 2. ye düzenleniyor ama bir önceki geçen sene değil 3- Okumaya devam et

What’s new in Android @IO’18: Android App Bundle


Merhaba,

IO sonrası bir dizi detaylı teknik yazılar yazacağımı söylemiştim. Geçen hafta IO’da tanıtılan Instant App’lerdeki farklıkları ve yenilikleri içeren bir yazı yazmıştım. Şimdi sıra App Bundle‘da. Bu yazı developer.android, Google Developers kanalındaki videolar ve codelablerin birleştirilmesiyle oluşturulmuş özet bir yazıdır. Daha detaylı bilgi için orjinal kaynakları inceleyebilirsiniz. App Bundle’ı detaylarda kaybolmadan bir kere daha özetlersek, uygulamanın abi, resource bazlı farklı olarak publishing formatın çeşitlenmesi, sadece ilgili kısmın download edilip download size’ın düşmesi diyebiliriz. App Bundle, bir publish format. App Bundle kullanımı sonucu IO’da söylendiğine göre %30 oranında size’da azalma olan app’ler olmuş. Temel faydası ise farklı cihazları desteklemek için bizim değil Google Play’in görevi üstlenmesi ve optimized apk’lar üretilmesi. Yine cihaza inen, apk olmuş olacak.

Bir diğer önemli nokta da App Bundle’dan Google Play’in uygulama üretmesini sağlayan teknoloji open source. Yani App Bundle’ımız ileride başka store’lar tarafından da uygulama üretmek için kullanılabilir.

Bundles tüm cihazlar için çalışmakla beraber Lolipop ve sonrası cihazlarda optimizasyon daha fazlayken, Lolipop öncesinde multi-apk style apk’i yine Google Play tarafından generate edilerek alabilecekmiş.

Okumaya devam et

Build Your First Instant App


Merhaba,

Bu yazımda Google’ın Build Your First Instant App Codelab‘i üzerinden gidip, adım adım labı uygulayacağım. Amacım codelabi uygularken sorun yaşarsanız, 2. bir kaynak yaratmış olmak 🙂 Eğer daha önce yazdığım, Android Instant App’e Genel Bakış ve Google Play Instant yazılarını okuyup basitçe bir instant app support eden uygulama create etmeye çalıştıysanız şu an ortamınız hazır olmalı. Değilse adım adım giderek ilk önce ortamınızı hazırlamamız gerekmekte.

Geliştirme ortamı hazır olduktan sonra https://git@github.com/googlecodelabs/android-topeka.git adresinden bu codelab için gerekli sample’ı indirmemiz gerekmekte. Sample app’in adı Topeka. Eğlenceli bir quiz uygulaması.

Topeka, Smart Lock API’ı kullandığı için, eğer emülatörde uygulamayı run edecek Google Play’li bir emülatör başlatmamız gerekli. Şimdi uygulamızı run edip, inceleyebiliriz.

Okumaya devam et

Google Play Instant


Geçtiğimiz yıl Google IO’da Instant App’ler tanıtılmıştı. Kendi adıma web ve native arasında yeni bir köprü inşa edilmesini sağladığı için çok heyecan verici bulmuştum. Geçtiğimiz yıl içerisinde de  nasıl instant app’ler yapabileceğimizle ilgili birkaç konuşma yapmıştım.

Bu seneki Google IO’da ise aynı platform tüm oyun geliştiricilere açıldı ve platformun çatı adı Google Play Instant adını almış oldu.

Google Play Instant’la nasıl başarı yakalanabileceğine dair olan linkteki konuşmadan daha detaylı olarak da inceleyebilirsiniz. Video’daki rakamlardan alıntılıyorum, kullanıcılar mobilde geçirdikleri zamanlarının %87’sini aslında app’lerde geçiriyormuş. Ancak yine videodaki rakamlara göre bu kullanıcıların yarısı bir ay içerisinde hiç yeni uygulama da kurmuyorlarmış. Bu noktada ise uygulamamızın ne kadar erişilebilir, ulaşılabilir olduğu önem kazanıyor.

Okumaya devam et

Google I/O’18 Highlights Devam..


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. Okumaya devam et

Google I/O’18 Highlights


Merhabalar,

IO sonrası hemen, hatta IO sırasında bu yazıyı çok istemiştim ancak jetlag vs. derken anca kendime gelebilmiş bulunuyorum 😀 Umarım keyifli bir yazı olur. Hem konferansta konuşulan başlıkları hem de San Francisco gezimi bir arada paylaşmaya çalışacağım.

SF macerası bir kısmımız için artık GDG‘ler için gelenekselleşmiş olan SF turuyla başladı. İkinci bir gelenekselleşmiş etkinlikte kapanışta yapılan sevgili Yener çiftinin(Nilay & Murat) evinde yapılan GDG BBQ parti. Şimdiye kadarki gidişlerimde (3. I/O’m 🙂 ) kapanış partisini hep kaçırmıştım. Bu sefer katılabilmek tatlı olsa da I/O öncesi SF turunu kaçırmanın biraz hüznü oldu 🙂 Okumaya devam et

MVC, MVP, MVVM


Daha önce Android architecture component hakkında genel bir bilgi toplamaya çalışmıştım. Aslında belki de öncesinde bugünlere nasıl gelindiğiyle ilgili biraz düşünmekte, konuşmakta fayda var.

Android’in tarihi çok eski olmamakla beraber aslında ilk yazmaya başladığımız, henüz herhangi bir library vs kullanmadığımız dönemde her birimiz kendi çözümlerimizi geliştiriyorduk ve paylaşıyorduk. Çoğumuz MVC(Model View Controller) kullanarak başladık. Bu yüzden de MVC’nin nasıl bir pattern olduğunu anlatarak başlamak istiyorum 🙂

MVC‘de; Model data’nın, state’in ve business logic’in tutulduğu yerdir. Controller ve View’e bağlı değildir, böylece tekrar tekrar kullanılabilir. View, ui’ın render edildiği parçadır. Herhangi bir akla sahip değildir. Controller ise view ve model arasında bağlantıyı kuran parçacıktır. Örneğin bir butona tıklandığında ne aksiyon alınacağı bilgisi Controller’dadır. Burada tıklandıldığı bilgisi veren View, yapılacak işi içeren kısım ise Model’dir. Android’de ise Activity ve Fragment’ler Controller’a denk gelir. Okumaya devam et