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

Mastering in Fragments


Ne kadar çok fragment kullandığınız ya da kaç yıldır Android developer olarak çalıştığınızdan bağımsız olarak, her Fragment kullandığınızda Fragmentle ilgili şaşırtıcı şeyler öğrenebilirsiniz. En azından benim için öyle 🙂 Bazılarınız yazıyı tamamladığınız yaa bunları bilmiyor muydun diyeceksiniz, bazıları ben de çektim evet diyecek ama benim amacım bir gün bunu yaşarsanız yol gösterici olması.

Bugünün konusu ise setUserVisibilityHint methodu. Aslında bakıldığında çok faydalı görünüyor. Fragment’in bize ne zaman visible olduğu/olmadığı bilgisini veriyor. Buna göre sayfanın çizilmesinde aksiyon alabiliriz, bir task başlatıp örneğin data çekeceksek burada yapabiliriz. Böylece optimizasyon sağlayabiliriz. Ama tutorial’da da belirtmiş ki lifecycle’a bağlı olarak Fragment yaratıldıktan sonra çağrılmayabilir. Fragment göründüğü an çağrılacak ancak, önce setUserVisibilityHint methodu sonra onCreate çağrılabilir. Okumaya devam et

Android Instant Apps’e Genel Bakış


Native Android apps that run instantly without installation

Android Instant App’leri ilk duyduğumda tam beklenen şey gelmiş, çok iyi fikir diye düşünmüştüm. Biraz daha derinine inip araştırmamı, merak eden diğer Android Developer’larla da paylamanın zamanı geldi geçiyordu. Yukarıda gördüğünüz gif early adopter’lerden biri olan vimeo’nun Android Instant App’i nasıl kullandığını gösteriyor. Nasıl bir süreç yaşadıklarını detaylı olarak anlatan medium’daki yazılarından aldım. Okumaya devam et

Son Retrospective nasıl olmalı?


Scrum master’ın görevlerinden biri de retro spective’leri facilitate etmek. Retrospective nedir dersek 🙂 aslında sadece scrum team’in katılımıyla o sprint’in nasıl geçtiğinin değerlendirilmesidir diyebiliriz, kısaca. Scrum master olmanın en zor yanlarından biri de belki retrospective’leri her sprint sonunda bir nebze de olsa eğlenceli hale getirmek. Ya bu hafta da yapmasak olmaz mıyı 😀 ilk duyan sanırım ben değilimdir. Ancak tabi her yöntem her takım ya da hafta için uygun olmuyor, bazen biraz evirip çevirmek gerekiyor. Arada scrum.org’un blogunda yazan deneyimli scrum masterlardan biraz kopya çektiğim doğrudur. Konu en sonuncu retro’ya gelince ise işler biraz daha zorlaşıyor.

Yani mevcut takım artık beraber çalışmayacaksa. Belki çok fazla rastlanan bir durum olmayabilir ancak şirketten şirkete değişmekle eminim sık yaşanan durumlar da oluyordur. Alınacak feedbackler bu durumda ekstra değerli oluyor. Bir diğer taraftan takımda yer alan kişilerin burada yer almaktan duyduğu mutluluk/mutsuzluk/kazancı duymak da ayrı değerli.

Peki son retroda neler almak istediklerimizi artık biliyoruz. Ancak konu biraz dağıldı. Bu kadar farklı şeyi bir arada yönetmek zor olabilir. Bir de eğer bir ayrılma durumu olacaksa bu da biraz duygusal bir ortam oluşturacak. Çünkü uzunca bir süre bir arada beraber çalışan bir takım aslında büyük bir aile de olmuş oluyor. Birinin sevinciyle sevinip, diğerinin üzüntüsüyle üzülüyorsunuz. Biri birşey isteyince hepiniz onun için istiyorsunuz falan filan 🙂 Bu durumda yine son retrolarda neler yapılabilir scrum.org’da biraz arıştırıp biraz da kendi takımımızın ihtiyaçlarını göz önünde bulundurarak şöyle bir yol haritası izledim. Sondan 3. retroda takımın tüm süreci ve şirketi değerlendirmesini istedim. Çok faydalı feedbackler aldık. Biz neyi iyi, neyi kötü yaptık, neyi daha iyi yapabilirdik, bu süreçte şirketin neleri nasıl değerlendirdiği uzun uzun tartışıldı. Sondan 2. retroda biraz daha kişisel olarak süreci değerlendirme üzerine gittik. Bir birey olarak takımın her üyesinin bu takıma ne kattığını ve neler alarak ayrılacağını konuştuk. Hepimizin enerjisi çok yükseldi. Özellikle kişinin kendini değerlendirmesi her ne kadar çok zor birşey olsa da bir yandan da moralini arttıran, daha iyi, daha değerli hissettiren bir yaklaşım. Ve ne aldığımızsa tabi herkesin değişir ama bir scrum takımında yer almanın en büyük artısı sanırım aileden kadar yakın hissedebileceğiniz yeni arkadaşlar kazanmak. Şimdi son sprinti koşarken duygusal bir son kapanış retrosu bizi bekliyor. Retrosu yapılmayan sprint bitmezmiş. Artık yemek yerken mi, rakı içerken mi yapılır bilinmez 🙂 Zor bir retro olacağı kesin. İyi hafta sonları!