Compose mini updates


Bu sene Google IO için fiziksel bir event covid-19 sebebiyle olamıyor, stüdyo kaydı için de ofise gitmemek adına dijital kayıt da olmayacağı açıklandı ama bir diğer yandan yine aynı tarihlerde bu yıl yapılan çalışmaların da duyurulacağını tahmin ediyoruz. Bu anlamda benim en çok merak ettiğim konulardan biri de Compose.

UI developmentla ilgili her sene çeşitli update’ler oluyor ama geçen sene Compose’la biraz şaşırtıcı bir giriş yapmış oldular. Android Summit sonrası artık Android Studio’ya gradle dependecy’si olarak ekleyip deneyebilir duruma gelmiştik. Ben ilk inceleme yazımı yaklaşık 1.5 ay önce yazdığımdaysa güncel versiyon dev03’tü. Bu sene wtm sezonunda birkaç chapter’da bu konuda sunum yapma fırsatım da oldu, sunumlarla paralel de aslında gelişmeleri takip edip kendim için yaptığım sample projeyi güncel tutmaya çalıştım. Bir diğer değişiklikleri güncel olarak takip edebileceğiniz repo ise Google’ın compose’la geliştirdiği sample app Jetnews‘in reposu. Api referanslarında tam olarak nasıl yapacağımı bulamadığım ya da anlamadığım durumlarda çok faydalı olduğunu söylemeliyim. Çünkü developer.android de çok uzunca bir süre anlatımını dev03’e yapmıştı.

Continue reading

Building UI with Compose


Geçen sene Google IO‘da duyurulduğundan beri Compose‘u deneyimlemek to-do listimde bekleyen maddelerden biriydi. Yıllar boyunca hep dinamik olarak view’i kodda yaratmak yerine xml’den inflate etmenin daha performanslı olduğunu duyduk, ölçümledik, uyguladık, paylaştık. UI’la ilgili konuştuğumuz konu genelde ConstraintLayout da öncesine gidecek olursak, ne zaman LinearLayout ne zaman RelativeLayout kullanacağımızdı. Ne kadar iç içe hiyararşi olursa eşit, ne noktada RelativeLayout daha performanslı çalışır gibi konulardı. Ama işin açıkçası da UI geliştirmek her Android geliştiricisi tarafından uygulamanın en keyifle geliştirilen tarafı değildi. Kendi adıma görsel olarak çıktıyı o an görmek beni çok etkilediği için UI’dan hep keyif aldım. Biraz xml’in sevilmemesinden biraz da hep optimal bir performans çıktısı olan UI geliştirebilmek için ConstraintLayout ve UI Editor‘le tanıştık. Her ne kadar başlarda UI Editor mükemmel çalışmasa da zamanla çok daha iyi bir noktaya geldi ve kolay bir şekilde performanslı çalışacak UI’ımızı geliştirmeye başladık. Compose’daysa Google şimdiye kadar olan patternlardan çok daha farklı bir şekilde karşımıza çıktı. Sadece Kotlin’le ve koddan geliştirilen bir UI. İlk anons edildiğinde Anko‘ya benzetildi, ancak Anko’yu da denemediğim için performans olarak xml’le karşılatırıdğımda nasıl bir sonuç elde ederiz bilmiyorum. O da ayrı bir blog, inceleme konusu olabilir.

Continue reading

Almanak 2019


Her sene Almanak hazırlamak nedense daha zor bir hal alıyor, bir yandan da geriye dönüp bakabilmek ve yeni yıla başlayabilmek için eskisinin üzerinden geçmek lazım. O zaman her zamanki gibi bir önceki yılı 2019’u nasıl karşılamaya karar verdiğime bakarak başlıyorum 😀

Önümüzdeki yıl için hedefim, çok büyük hedefler koymamak. Küçük hedeflerle minik adımlarla ilerlemek.  Ve herşeyi akışına bırakmak, günümü güzel ve mutlu geçirmeye çalışmak. Bu yılın bana öğrettiği buydu. Bakalım ne kadar kalıcı olacak.

Tam olarak böyleydi diyemem ama hayatı daha çok akışına bıraktığım, kendimi şiddetle yavaşlatmaya çalıştığım bir sene oldu. Durağanlık insanın gerçekten zamanını nasıl geçirmek istediğini karar vermesini sağlıyor, sıkışık planlarda sürekli koşturduğumuzda ise durup düşünecek vakit kalmıyor. Bunu ne kadar başardım şüpheli ama önceki yıllara göre çok daha sakin geçen bir yılım oldu, öyle ki bi noktada ne kadar uzun bir sene olduğunu düşündüğüm oldu 😀 Zaten yeni yıla şirketin lokasyon değiştirmesi sebebiyle harala gürele evimi taşıyarak girmiştim ki bir de birikmiş yorgunluklarımı sayarsak sakin bir seneye ihtiyacım vardı. O zaman google photos ve instagram aracılığıyla bakalım nasıl bir seneymiş. Neyseki fotoğraf çekmeyi çok seviyorum 😀

Yeni yılı karşılıyoruz :))
Continue reading

Introduction to Kotlin Coroutines


Geliştirme yaptığımız platform hangisi olursa olsun ister backend, desktop, mobile applications etc her zaman istediğimiz aslında istediğimiz şey hep kullanıcımıza kesintisiz bir akış sunmak, uygulamamızı düzgün scale etmek. Bunu birçok farklı dilde farklı şekillerde yapabiliriz. Kotlin’in bize sunduğu çözüm ise Coroutine’ler.

Continue reading

Android Slices


https://developer.android.com/guide/slices

Slices, Google search app’inde ve umarız ki ileride de daha fazla yerde uygulamadan içerik sunan ui templateleridir. UI templateleridir diyoruz çünkü belli formatda, belli templateler kullanılarak sunulabiliyor. Basitçe widget’lara benzer de denilebilir. Şimdi App Action‘ların da developerlara açılmasıyla beraber daha fazla senaryo sağlanabilir. Slices Android 4.4’e kadar uyumlu. Bu da Android Studio’da uygulamayı create ederken görebileceğimiz gibi piyasadaki cihazların ortalama %95’i anlamına geliyor. Slices live-data, scroll edebilen içerik, inline actions, ve uygulamamıza deep link sağlamış oluyor.

Continue reading

Google I/O 2019 for Android Developers


You can access the article I shared about user centric latest Google I / O updates.

2 years ago in Google I / O, after the announcement of Kotlin’s being to support as a second language, as the time passed it became much more popular. Seeing more Kotlin specific speeches at conferences, mostly Kotlin code samples in blog posts, when we search how to do anything on the Internet, first examples’ always being Kotlin, Google’s developer.android examples’ giving Kotlin in the first tab, increasing in Kotlin codelabs, free courses at Udacity and a separate category of GDE for Kotlin… Considering all these, in Developer Keynote this year, announcement of Kotlin’s being now the first language of Android’s didn’t surprised, at least me. Of course, both the ability to see where we would go further at the point of progress and development as an individual, and the question of how can I convince my company to write Kotlin at least once asked at each conference, was answered with certainty. And I think it’s worth saying that Kotlin had already won the sympathy of the developers before the announcement that it would actually be like this, with its simplicity, boilerplate code shortening, easy learning, rapid development, and 100% compatibility with Java.

Continue reading

Google I/O 2019 for Android Developers


*You can read the article in English from here.

Daha çok son kullanıcıyı ilgilendiren Google I/O güncellemeleriyle ilgili paylaştığım yazıya linkten erişebilirsiniz. Bu yazıda yazılımcılara ilgilendiren başlıkları paylaşacağım.

2 yıl önce Google I/O’da Kotlin‘in artık 2. dil olarak destekleneceğinin açıklanmasının ardından Kotlin’den zaman geçtikçe daha da çok söz edilir oldu. Konferanslarda daha çok Kotlin spesifik konuşmalar görmeye, blog yazılarındaki kod örnekleri, internetde herhangi bir şeyi nasıl yapacağımızı aratırken önümüze ilk çıkan örneklerin Kotlin olması, Google’ın developer.android’deki örneklerinde ilk tabda Kotlin’in çıkması, Kotlin codelab’lerin sayısının artması, Udacity’deki free kurslar ve Kotlin için ayrı bir expert’lik kategorisinin olması gibi örnekleri rahatça sayabiliriz sanırım. Tüm bunları düşününce de bu sene Developer Keynote‘da ise artık Android’in yeni çıkacak Jetpack API’larında tanıtılacak ilk dil olacağının ve Android’in Kotlin – First ilerleyecek olmasının açıklanması en azından beni şaşırtmadı. Tabi şaşırtmamasının ardında açıklanması da bir bakıma iyi oldu. Hem bireysel olarak ilerleme-gelişim noktasında nereye daha fazla yönleneceğimizi görebilmemiz hem de her konferansta en az bir kere sorulan şirketimi Kotlin yazmaya nasıl ikna edebilirim soruları kesin bir şekilde cevap almış oldu. Bir de sanırım şunu söylemekte fayda var ki Kotlin aslında artık böyle olacak açıklaması yapılmadan önce de yazılıcıların sempatisini basitliği, boilerplate kodu kısaltması, kolay öğrenebilirliği, hızlı gelişimi, Java’yla %100 uyumu gibi özellikleriyle çoktan kazanmıştı.

Continue reading

Google I/O 2019


*To be able to read the post in English, please click the link.

Bu yıl 4.’ye katılma fırsatı bulduğum ve karıştırmıyorsam 12. kere düzenlenen Google I/O; Google tarafından yılda bi kere Mayıs ayında düzenlenen, yazılımcılar için yeni updateleri paylaştıkları bir Developer festivalidir. Bu sene 7-8-9 Mayıs tarihlerinde Shoreline Amfi Tiyatrosu‘nda gerçekleşti. Bölge trenle SF’e yaklaşık 2 saat mesafededir. Havaalanı olarak SF’e de San Jose’ye de inen uçaklarla gidilebilir. Konferans süresince Mountain View, SunnyVale şehirlerinde kalmak ulaşım için kolay olacaktır.

Gelelim bu seneki konferansın duyurularına. Konferans keynote’la başlıyor, ardından Developer keynote ve What’s new in Android session’ı ve de spesifik alanlardaki paralel oturumlarla devam ediyor. Benim gibi daha çok Android kısmıyla ilgilenen bir kişiyse bu ilk 3 oturum aslında tüm konferansın özetini, hangi konuşmalara girmek istediğinizi aktarıyor olacak. Keynote diğer tüm oturumlara göre daha soft ve biraz da kullanıcı açısından değerli olan özelliklerin tanıtıldığı kısım. Ama tabi biz developerlar için de önemli, çünkü geliştirme yaparken hangi yöne gideceğimizi, neleri kullanmamız gerektiğiniz görmüş oluyoruz. Yine de bu yazının daha çok son kullanıcıyı ilgilendiren duyuruları içerdiğini ve daha teknik bir ikinci yazı yazacağımı belirtmek isterim.

Continue reading

Kotlin Cheat-Sheet


Sonunda benim de Kotlin üzerine konuşmamın zamanı geldi 🙂 Kotlin son birkaç yıldır inanılmaz popüler olmuş durumda, benim içinse yazılan kodları okumaktan aktif olarak kotlin yazmaya geçişim biraz daha yeni. Bu yüzden üzerine bir de konuşma hazırladım. Slaytlara linkten erişebilirsiniz.
Şimdi eğer hala Java ve Kotlin arasında seçim noktasındaysanız ki olabilir çünkü Java çok eski bir dil. Genelde herkesin en iyi bildiği dil 😀 Kotlin’e geçmeli mi yoksa bildiğimiz gibi devam mı etmeli. Tabi burada farklı stratejilerle ilerlenebilir. Tamamen Kotlin’e geçme, Java ve Kotlin’i beraber destekleme ya da hiç geçmeme gibi 😀
Aslında Kotlin’in official dil olarak kabul edilmesinin sebebi popüler olması değil, komunitenin Kotlin’in avantajlarından dolayı Kotlin’e geçmesi sonucuydu. Hepsinin değil ama en çok kullanılan özelliklerin yazıda üzerinden geçeceğim. Umarım güzel bir cheat-sheet olmuş olur herkes için. Continue reading

Android Fundamentals Codelabs Part – 2


Hi all,

You can reach the Turkish version of this post from here and the first post from here.

After reviewing codelabs, maybe the first post was meaningful but for the following posts, I think only the code samples will be enough. If you noticed my blog post while preparing to codelabs and have questions, please do not hesitate to ask. The the projects below include samples for Unit 1.

Projects:

Android fundamentals 01.2 Part A: Your first interactive UI

Android fundamentals 01.2 Part B: The layout editor

Continue reading