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

Kadın Yazılımcı Toplulukları Neden var?


IWD’18 konferans sezonu resmi olarak açıldı. Bilmeyenler için Google’ın büyük bir desteğiyle varlıklarını sürdüren dünya üzerindeki belli sayıda Women Techmakers toplulukları her yıl 8 Mart dünya kadınlar gününe ithafen Mart ve Nisan aylarında meetuplar/konferanslar düzenliyorlar. Yine sınırlı sayıda Google ofisinde de Google’ın düzenlediği summitler oluyor ve bizler de bunlara katılıp, kendimizi geliştirebiliyoruz. İlgilenenler şu linkten bi inceleyebilir 🙂

Peki benim asıl bu yazıyı yazma amacıma gelirsek 🙂 Aslında sürekli sorulan ve benim de başlarda kendime sorduğum bir soru women techmakers toplulukları neden var? Sonuçta men techmakers yok 😀 Okumaya devam et

Almanak 2017


Artık benim için geleneksel hale gelen almanağı yazıp yılımı değerlendirme zamanı geldi. Hatta önceki yıllara oranla bu sene biraz geç kalmışım bile diyebilirim 🙂

İlk önce 2016’yı kapatırken 2017 hedefim neymiş ona baktım, demişim ki:

Geçtiğim yıla şöyle bir baktığımda en çok yaptığım şey sanırım konferanslara katılmak, hem konuşmacı hem de katılımcı olarak. Her ne şekilde katılmış olursak olalım hem paylaşmak için, hem öğrenmek için hem de farklı farklı insanlarla  tanışmak için mükemmel bir fırsat. Geriye dönüp baktığımda bu senenin en büyük kazancı olarak bunu görüyorum ve devam ettireceğimi biliyorum.

Bir diğer taraftan yeni yıl çok heyecan verici. Herkes için dileğim, isteklerinde net olmaları, istediklerinin peşinden koşmaları ve geçekleştirmek için çabalamaları. O zaman mutlu olacaklar.

Aslında 2016 yılı public speaking konusunda 2015’e oranla biraz daha uzmanlığa doğru ilerlediğim bir yıldı diyebiliriz. Bu sene ise bunu daha da geliştirmeyi ve de biraz daha kaynak üretmeyi hedeflemiştim. Olgunlaşma yılı diyebiliriz. Bir diğer yandan 2016’nın sonunda yeni kurulan takımda yazılım geliştirme görevime ek olarak, scrum master olarak da yer almaya başlamıştım ki o sıralar ne kadar çok şey öğreneceğimden habersizdim. 🙂 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

Android Lifecycle-Aware components


Google I/O’da tanıtılan ve aslında biz Android geliştiricileri oldukça heyecanlandıran en önemli gelişmelerden biri de Lifecyle-Aware Component’lerdi. Ben de yeni hakkında detaylı bir yazma fırsatı bulabiliyorum. 22 Temmuz’da Google Dome’da GDG Istanbul olarak gerçekleştireceğimiz codelab’in konularından biri de bu componentler. Merak edenlerle hep beraber inceleyebiliriz.

Componentlerin detaylarını konuşmaya başlamadan Android Activity Lifecycle’ı bir hatırlamakta fayda var. Aşağıdaki imaj aslında bize tüm akışı özetlemiş oluyor. Activity launch edildiğinde sırasıyla onCreate(Activity’nin yaratıldığı state), onStart(Activity’nin kullanıcıya visible olduğu state), onResume methodları trigger ediliyor ve Activity run edilmiş oluyor. Eğer üzerinde başka bir activity açılırsa, başka bir app’e giderse vs onPause methodu çağrılıyor. Activity sistem tarafından sonlanıyorsa ise onPause ardından, onStop(Activity tamamen görünmez olur) ve onDestroy methodları da tetikleniyor. Okumaya devam et

Google I/O’17 Developer Festival & 1 week with GDGs at SF :)


Uzun ve eğlenceli geçen bir haftanın ardından biraz dinlenip, festival notlarını paylaşmanın zamanı geldi. Ama biraz daha öne gidip, konferans öncesinde Türkiye’deki tüm GDG’ler olarak bir haftayı nasıl geçirdiğimizi de paylaşıyorum (plus) 🙂 Benim için bu yazının en zor yanı, anlatacak fotoğrafları seçmek oldu.

Herkesin bildiği gibi Google I/O 17-18-19 Mayıs tarihlerindeydi. Ama biz GDG’ler için program biraz daha doluydu 🙂

  • 15 Mayıs Pazartesi Akşamı: GDG Dinner Party
  • 16 Mayıs: GDG Summit + WTM Dinner Party
  • 17 Mayıs: I/O 1.gün + I/O Party
  • 18 Mayıs: I/O 2. gün + I/O Konser
  • 19 Mayıs: I/O 3. gün

Okumaya devam et