Android vs iOS Development


Sektöre adım atmaya yaklaşan öğrencilerin kafalarında yer alan nereden, nasıl başlamalıyım sorularına MondayHero kurucu ortağı Burcu Geneci ile beraber kendi hikayelerimiz üzerinden cevap vermeye çalıştık.

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

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


*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