İngiliz teknoloji analizi kuruluşu Canalys 2020 yılının ilk 3 ayının akıllı telefon satış modellerini açıkladı. Bu rakamlara marka genelinde bakacak olursak iPhone 25 milyon, Samsung 20 milyon, Xiaomi ise 17 milyon adet satış gerçekleştirmiştir. Yani 2020 yılının ilk çeyreğinde, sadece bu üç büyük marka yaklaşık 62 milyon adet akıllı telefon satışı gerçekleştirmiş oluyor. Büyüğünden küçüğüne neredeyse herkesin elinde olan bu akıllı mobil cihazların yazılım sektöründen ayrı düşünülmesi tabi ki imkansız. Bu yazımızda, dünyada milyarlarca kullanıcısı bulunan akıllı telefonlar için uygulama geliştirmek isteyen mobil geliştiricilere yönelik bir “mobile developer yol haritası” sunmaya çalışacağız.
İçindekiler
Mobile Developer Yol Haritası: Mobile Uygulama Nedir?
Mobil cihazlarda kullanılmak üzere, insanların yaşamlarını kolaylaştıran ve her an yanlarındaki akıllı mobil cihazları ile ulaşma imkanı veren yazılımlar mobil uygulamalardır. Örneğin, her gün telefonunuzdan alışveriş yaptığınız, bankacılık işlemlerinizi hallettiğiniz, oyun oynadığınız platformların hepsi birer mobil uygulamadır. Bu uygulamaları geliştiren kişiler ise “mobile developer” olarak adlandırılır. Bu sektör o kadar devasa bir hale geldi ki, hali hazırda Apple App Store’da yaklaşık 2.2 milyon; Google Play’de ise 2.8 milyon uygulama bulunmaktadır.
Mobil Cihazlar İçin İşletim Sistemleri : Android vs iOS
Mobile developer yol haritası sunmadan evvel, siz değerli okuyucularımız için iOS ve Android işletim sistemleri hakkında kısa bir bilgi sunmamız faydalı olacaktır. Nasıl ki masaüstü ya da laptop bilgisayarlar Windows, Linux, MacOS gibi işletim sistemlerine ihtiyaç duyarsa, aynısı mobil cihazlar için de geçerli olup bunlar da Android ve iOS işletim sistemleridir.
Android işletim sistemi, Google tarafından Linux üzerine inşa edilerek geliştirilmiş olup, uygulamalar Google Play uygulama marketinde bulunur. iOS ise Apple tarafından üretilen bir işletim sistemi olup uygulamalar Apple App Store’da bulunur. Mobile uygulamalar ve genel performans değerlendirmesi açısından kullanıcılar için en çok dikkat edilen özellik olan “hız” konusunda iOS’un açık ara önde olduğunu söylemek yanlış olmaz. Android ise yıllık uygulama maliyetinin iOS’a oranla daha avantajlı olması sebebiyle Android için yıllık $25, iOS için $100- uygulama fazlalığı açısından bir adım önde olarak değerlendirilebilir.
Mobile Developer Yol Haritası: Android Platformunda Uygulama Geliştirme
Android, cihazın performansına bağlı olarak çalışan bir işletim sistemi olup, hybrid denilen ve cross-platform uygulama geliştirme imkanı sunan dillere karşı daha etkin ve hızlı çalışır. Kodlama esnasında “Android Studio” platformu kullanılır.
JAVA
Backend Web Developer Yol Haritası yazımızda bahsettiğimiz üzere Java, özellikle uzun yıllardır arkasında oluşan güçlü topluluk, karşılaşılan problemlere daha hızlı çözüm bulabilme potansiyeli gibi sebeplerle çok tercih edilen bir dildi. İlgili yazımızda da bahsettiğimiz üzere çok geniş bir yazılım geliştirme ağına sahip olan bu dil, mobile development dünyasında da karşımıza çıkan ilk programlama dili oluyor. Özellikle mobile development konusunda kendisini geliştiren developerların da tavsiye ettiği üzere Java, Android dünyası için temel olacak ilk programlama dili denilebilir. Zaten Android geliştirme ortamı olan Android Studio tarafından desteklenen iki önemli dilden birisi olması bu dilin mobile development dünyasında da kendisine önemli bir yer edinmesini sağlıyor.
KOTLIN
Android dünyasının yeni gözdesi diyebileceğimiz bu dil 2010 yılında JetBrains firması tarafından ortaya çıkarılıp 2011 yılında JVM Language Summit’de duyuruldu. Açık kaynak bir dil olan Kotlin, adını Rusya’da bulunan bir ada olan “Kotlin” adasından almaktadır. İlk geliştirmeleri yine bu ülke merkezli JetBrains firmasınca yapılmıştır.
Java madem bu kadar işe yarar bir aparat ise Kotlin’e neden ihtiyaç duyuldu?
JetBrains Firması Kotlin’i “Güvenlik ve performans düşüşü yaşamadan Java’dan daha kısa kodlar yazmayı amaçlayarak” geliştirdiğini belirtiyor. Özellikle 2017 yılında Google’ın, Android işletim sisteminde geliştirme yapmak için Kotlin dilini desteklediğini açıklaması bu dilin bir anda öne çıkmasını sağladı. Yani Kotlin Android Studio’nun Java’dan sonra desteklediği ikinci önemli dil olarak öne çıkmaya başladı. Google desteği ile gelen Android Studio tarafından desteklenme özelliği bu dili bir anda popüler hale getiren en büyük sebep oldu.
Neden Kotlin’i kullanmalıyız ve Kotlin’in avantajlı tarafları nelerdir?
- Nesne tabanlı programlama dilleri ile benzer bir ”syntax”’a sahip olması
- Projelere kolay adapte edilebilirliği
- Arkasında Google gibi güçlü bir şirketin bulunması
- Öğrenme kolaylığı
- Güvenli bir programlama dili olması Kotlin’in son yıllarda Stack Overflow anketlerinde üst sıralara hızla tırmanmasını sağlamıştır.
Ancak Kotlin’in mobil dünyası ve hatta Android dünyası dışında uygulama alanı bulamaması bu dilin zayıf yönü olarak göze çarpar.
C/C++
Açıkçası C/C++ Android ve hatta mobile development dünyası için çok fazla tercih edilen diller değildir. Ancak Android Studio tarafından native olarak (yani bu işletim sistemine özgü uygulama geliştirme anlamında) desteklenmektedir. Bu diller özellikle sahip olduğu hız özelliği sayesinde karışık gözüken uygulamalarda kullanılabilir. C/C++ dillerinin Android uygulama geliştirmedeki başlıca kullanım alanı “oyun” uygulamaları geliştirmek olarak öne çıkıyor. Ancak C/C++ dillerinin tıpkı Java’da olduğu mobile development sektörü haricinde de geniş uygulama alanlarının olması bu diller için bir avantaj olarak göze çarpar.
C#
“Backend Web Developer Yol Haritası“ yazımızda bir backend web development dili olarak bahsettiğimiz C#, tıpkı Java gibi burada da mobile development sektöründe karşımıza çıkıyor. Bu yazıda da bahsettiğimiz üzere Microsoft firması C# dilini Java’ya alternatif olarak çıkarmıştı. Bu rekabetin izlerini mobile development sektöründe de açık bir şekilde görebiliyoruz.
C# dili, C ve C++ dillerinin gücünü bünyesinde barındırır. Bunun yanı sıra bu dillerin karmaşıklığından ise kurtulma imkanı sağlar. Mobile development sektöründe de özelikle “Xamarin” framework kullanılarak cross platform olarak uygulama geliştirmek mümkündür.
Bu yazımızda sizlere Android işletim sistemi özelinde uygulama geliştirmek amacıyla kullanabileceğiniz programlama dilleri hakkında bilgi verdik. İlerleyen yazılarımızda iOS işletim sistemi ile birlikte React Native ve Flutter konusunda sizlere bilgi sunacağız.