Building UI with Compose


To read the article in Turkish you can use the link1 or link2.

Over the years, we have implemented, measured and shared that it is better to inflate view from XML instead of dynamically creating the widgets in code part. If we go back before ConstraintLayout what we talked about UI was that, when we will use LinearLayout and when RelativeLayout, at which point using RelativeLayout or LinearLayout is more suitable for UI performance. But frankly, developing UI wasn’t the most enjoyable part of the app development for every Android developer(I still like it).

We met with ConstraintLayout and UI Editor to develop UI easier, faster and at a stabil UI performance. Although the UI Editor did not work perfectly at the beginning, it has come to a much better point over time and we have begun to develop our UI easily with it. On the other hand, Compose appeared with a very different perspective, can be developed only by Kotlin.

Continue reading

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

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


*Makaleyi Türkçe olarak okuyabilmek için linke tıklayabilirsiniz.

I had the opportunity to participate Google I / O for the 4th time this year and if I’m not wrong, it was the 12th I/O conference. It is a developer festival, which is organized by Google once a year in May, sharing new updates for developers. This year’s I/O was held on 7-8-9 May at the Shoreline Amphitheater as usual. The area is about 2 hours away by train from SF. Both SF and also San Jose airport can be used to land. Mountain View, SunnyVale cities will be easy for transportation to stay during the conference.

Let’s go to the announcements of this year’s. The conference starts with keynote, followed by the Developer keynote and What’s new in Android session as well as parallel sessions in specific areas. If a person like me is more interested in the Android part, then the first 3 sessions will actually tell you the summary of the entire conference, which sessions you want to enter. Keynote is more soft and slightly more user-centric updates. But of course it’s important for developers, too because we can see in which direction we should go and what we should use while developing. Nevertheless, I would like to state that this article contains more announcements that are of interest to the end user and I will write a more technical second article.

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