Almanak 2020


2021 Mayıs ayının ortalarındayız, 2020 almanağı da neyin nesi, bir 6 ay daha beklesen 2021 almanağını yazabilirdin diyebilirsiniz 🙂 Netflix’in de geçtiğimiz hafta sosyal medya hesaplarında paylaştığı gibi “Öznel zamanda sadece birkaç ay. Ama Dünya’da yüzyıllar geçti.” Bugün yine yılları karıştırıyorken, kaç yaşında olduğumu düşündüm ve aslında herkese yaşımı 32 dediğimi ama çoktan 33 olduğumu farketmemle beraber beynimde açık bir process kalmış gibi, “almanağı yazmadın, almanağı yazmadın”‘ı artık gerçekleştirme zamanı geldiğini farkettim.

Her yıl yaptığım gibi bir önceki yılı hangi cümlelerle kapatmışım diyerek 2019 almanağına dönerek başlıyorum.


2019 tabi ki sadece bu anlardan bu fotoğraflardan ibaret değil. İlk defa bu yıl çok uzun geldi, bitsin istedim. Nasıl mı geçti, sadece blog yazısı değil yeniden kitap okumaya döndüğüm, netflixi hatmettiğim, bazıları için az kendim için çok fazla spor yaptığım, gezdiğim, ailemle, arkadaşlarımla vakit geçirdiğim, hatta arada birşeyler pişirdiğim bir yıl oldu. Kendimi dinlenmeye, her anı planlamamaya zorladım olabildiği kadar tabi benim için zor bir eylem. Kahkalara boğulduğum anlar da oldu, nasıl ilerleyeceğimi bilemediğim, kendimi sorguladığım anlar da. Her zaman her istediğimizi gerçekleştiremeyebiliyoruz. Kendi davranışlarımızdan, yaptıklarımızdan sorumluyuz, başkalarına etki edemeyiz. O yüzden elimizden gelenin en iyisini yapmaktan başka çaremiz yok. Ama bazen elimizden gelenin en iyisinin de yeterli olmadığı, motivasyonumuzu kaybettiğimiz anlarda durup bir nefes alıp sonra devam etmekten başka yapabileceğimiz birşey de yok. En azından benim bildiğim.

2019 dinlenme yılı olarak misyonunu tamamladı. Bu sene koşmaya devam!

2019 biraz daha zamanı ölçülü kullanmaya çalıştığım, kendi iş-yaşam dengemi yeniden kurmaya çalıştığım bir yıl olmuştu. 2019’un hiç bitmemesi ve koşmaya devam dileği mi yanlış olmuş acaba diye bir düşünmeden edemedim. 2020 hem çok hızlı hem de çok yavaş geçti.

Bir önceki yılın benim için önemli anılarını toparlamaya çalışırken hep fotoğraflardan yardım alırım. Bu sefer çoğunlukla evlerde olduğumuz için tabi fotoğraflar da dönem dönem çok az, belki mesajlara/maillere bakmak daha doğru olabilirdi bu yıl için, ama rutinimi bozmuyorum. 🙂

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

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