Öğrenmenin yaşı varmış galiba?
Bu flutter işlerini gençken daha kolay kavrar mıydım acaba?
Günlüğün ana sayfasına gittiğinizde tepede Flutter diye bir sekme var. Bu sekme altındaki sayfaları posta ile göndermiyorum çünkü benim gibi Flutter öğrenmeye çalışanlar dışında kimsenin ilgisini çekecek şeyler değil. Merak ederseniz tıklayın.
Emekli olduktan sonra bir meşgale olarak cep telefonları için oyun yazılımını öğrenmeye niyet ettim. En basiti olduğu için Löve-Lua ile başladım. Öğrenmesi kolay olduğu için, ilkokul ortaokul öğrencilerinin çok kullandığı bir paket bu. Çocukların yazdığı oyunlara roblox sayfasında bakabilirsiniz. Bazıları gerçekten güzel ama çoğu çocukça.
Lua lisanını çabuk belledim ama roblox sitesi için oyun yazma dışında bir kullanım şekli bulamadım. Ben bilgisayar oyunlarını sevmem1. Bilgisayar oyunu oynamasını sevmeyen birisi nasıl oyun yazacak derseniz haklısınız. O yüzden bilgisayar ya da cep telefonları için oyun yazmanın bana uyan bir meşgale olmadığına karar verdim aslında.
Yine de öğrenmeye devam ediyorum. Kafamda oyun dışı planlar var ama önce işin tekniğini öğrenmem lazım. Bir kaç ay, ‘işin tekniği’ tanımlamasının içini doldurmaya çalıştım. Değişik cihazlar için değişik programlama dilleri var. Mesela:
Objective-C ve Swift — iOS app yazmak için, yani Apple cihazları için kullanılan en popüler diller ama C#, HTML5, ve Java kullananlar da var.
Kotlin, Java, C++, C# — Android cihazlar için. Bunların dışında Python, HTML5, JavaScript de kullanılıyor.
Bunların dışında bir de ‘game engine’ dedikleri, cihazın içindeki sistemlerle iletişimi kolaylaştıran şeyler var. Bir anlamda bir library gibi, diğer yandan bir operating system olarak düşünebilirsiniz. En meşhur olan ikisi Unity ve Unreal, ama daha sürüsü var.
Bu kadar seçenek arasından hangisi? Araştırırken, dört sene önce Google tarafından yaratılan Flutter ile tanıştım. Google’a göre Flutter’ın ana meziyeti, bütün sistemler için geçerli olması. Daha önce, iPhone programı için ayrı, Android için ayrı, Windows için ayrı, Mac bilgisayarları için ayrı yazmak gerekiyordu. Flutter kullanınca, tek program hepsi üzerinde çalışıyor. Öğrenmişken onu öğreneyim bari dedim.
Flutter tercihi doğruydu ama uygulaması sıkıntılı oldu. Flutter aslında bir widget library. Program dili Dart. Dart, yani dili, öğrenmek kolay oldu, çünkü nihayetinde bildiğim diğer program dillerine (mesela Python, C, C++) benziyor. Flutter da kendi içinde o kadar zor değil ama, biraz karmaşık şeylere kalkışınca bir cloud server gerekiyor. Google’da onun da çözümü var. Firebase denen Google server’de bir hesap açıyorsunuz. Flutter programınız o hesabı kullanarak Firebase cloud server hizmetlerine ulaşabiliyor. Yazdığınız programın kullanıcı sayısı on binlere ulaşana kadar, Google bu hizmetleri bedava sunuyor. Ondan sonra, her kullanıcı başına bir ücret almaya başlıyor. Bütün bunlar teoride gayet kolay. Ancak iki aydır, flutter programından Firebase bağlantısını kurmayı beceremedim. Bugün ilk defa bir şeyler olur gibi oldu. En azından ilk bağlantıyı tesis edebildim (sanıyorum).
Bir mola verip, günlük GENEL sayfası olarak bu sayfayı yazayım dedim. Durum tesbiti mahiyetinde. Flutter macerasının ayrıntılı gelişimini Flutter kısmında sayfa sayfa yazıyorum ama o sayfaları, genel günlük abonelerine göndermiyorum. Merak edenlerin kendileri gidip tıklamaları lazım.
Niçin bu kadar zor oluyor bu işler. Yaşlandığım için kafa eskisi kadar çevik değil. Bunun da ötesinde, bu konular çok yeni olduğu için, kitabı yok. Web sayfalarından öğrenmeye çalışıyorum. Onların da hangisi hala geçerli, hangisi Flutter’ın daha eski versiyonlarını anlatıyor bilmek lazım. Mesela, geçtiğimiz Mart ayında Google Flutter 3’ü sürdü piyasaya. Bir çok şeyi yapmak daha kolay oldu ama farklılaştı. Benim gibi daha yeni yolunu bulmaya çalışanların kafaları iyice karıştı.
Günümüzde bir şeyi öğrenmenin birinci şartı, kaliteli soru sorabilmek. Genellikle, sorulan sorunun cevabı bulunuyor internette. Tabii, bir kaç cevap bulup karşılaştırmak gerekiyor, çünkü yalan yanlış yazanlar da çok var. Sapı samanı ayırmayı bilmek lazım. Bu ayrımı yapmak nisbeten daha kolay. Soruyu formile etmek zor. Bazen insan kafasındaki muğlaklık ve bilinmezlikleri soruya çevirmekte zorluk çekiyor. Ya da yanlış sorular soruyor. O zaman ilerlemek zor oluyor.
Her ne ise. Bu kadar ağlamak yeter. Ben yine flutter programlarıma döneyim.
Tek sevdiğim oyun Civilisation II, o da 1996 yılında çıkan bir oyun. Daha sonra Civ 3, Civ 4, Civ 5 ve en son Civ 6 çıktı ama aynı oyunun daha iyi grafiklerle tekrarı oldukları için uzun süre para verip almadım. Geçenlerde Steam, Civ 6 fiyatını 15 dolara (esas fiyatın 10% u) düşürmüştü. O zaman aldım ama daha pek oynayacak zamanım olmadı.
Sağol Ali. CIV 6'ı beğendim diyemem. Dediğin gibi CIV 5'i denerim belki. Bu arada öğrenmeye devam. Yeğeninin dediği gibi, habire değişmekte olan teknolojiyi özümsemek çaba gerektiriyor. Belli bazı eşikleri geçebilsem kolaylaşacak ama daha o aşamaya gelemedim. Selamlar.
Çabanı çok takdir ediyorum. CIV 6 yerine CIV 5 ile tekrar bu Civilization serisine başlamanı öneririm. Yazını 40 yaşındaki 8-12 yaşlarında iki çocuğu olan bir yeğenimle paylaştım.
Yanıtını aynen gönderiyorum;
:) okudum. gelismeleri takip etmek gercekten zor. ayrica alisilan, is goren, ogrenmek icin belirli bir caba ve zaman harcanan, daha klasik yontemlerden vazgecmekte zorlaniliyor sanki.