Bu yazıda native ve cross platform olmak üzere beş kategoriye ayrılacaktır. Bir mobil geliştirici olarak hangisini seçmelisiniz? Android’e karşı iOS. Yine, hangisini seçmelisiniz? Android ve iOS geliştirmeyi öğrenmeye nereden başlamalı, ilk mobil işinizi nasıl bulursunuz ve son olarak ilk mobil işinizi bulma zaman çizelgesi. Şimdi, mobil uygulama geliştirme yapmanın birçok yolu var. İlk yol, bunu Android veya iOS’ta yerel olarak yapmaktır. İkinci yol ise bir çapraz platform teknolojisi kullanmaktır. Şimdi, Xamarin, Flutter, cordova, react native gibi birçok çapraz platform teknolojisi var ve liste uzayıp gidiyor. Ancak mobil geliştirmeye yeni başlayan biri olarak, kesinlikle çapraz platform teknolojileriyle başlamamanız ve yerel rotayı öğrenmeye devam etmeniz gerektiğini düşünüyorum. Bahsettiğim gibi, çapraz platform uygulamaları yazmanın birçok yolu var.
Çarpraz Platform Uygulamaları
Bence şu anda tek iyi seçenek react native. Ancak anladığım kadarıyla iyi bir react native uygulaması yazmak için native mobil geliştirme konusunda oldukça güçlü bir anlayışa ihtiyacınız var. Mobil geliştirmeye ilk başladığımda çapraz platform teknolojileri ile başladım. Başlangıçta Cordova ve Xamarin adlı bu teknolojiyi kullandım. Ve temel olarak, yerel geliştirme konusunda anlayış eksikliğim olduğu için, yaptığım uygulamalar berbattı. Yani kıssadan hisse, yerel geliştirme ile başlayın ve nihayetinde, gerçekten çapraz platform geliştirmeye girmek istiyorsanız, daha sonra bu rotayı takip edebilirsiniz.
iOS ve Android Geliştirme
Platformlar arası tartışmayı bir kenara bırakarak iOS ve Android geliştirme hakkında konuşalım. Hangisini seçmelisiniz? En azından burada, Amerika Birleşik Devletleri’nde, Android veya iOS geliştirme alanında oldukça başarılı bir kariyere sahip olabilirsiniz. Öncelikle Android yapıyorum, iOS geliştirme konusunda deneyimim olsa da, kariyer gelişimi açısından hangisini seçtiğinizin önemli olduğunu düşünmüyorum, çünkü yine burada, Amerika Birleşik Devletleri’nde, her ikisinde de oldukça başarılı bir kariyere sahip olabilirsiniz. Ancak dikkate alınması gereken bazı önemli hususlar var. Bunlardan en büyüğü Android’in düşük giriş maliyetidir. Temel olarak, sadece iyi bir PC’ye ihtiyacınız var ve Android uygulamaları yapmaya başlayabilirsiniz. iOS geliştirme ise bir Mac işletim sistemi üzerinde geliştirme çalışması yapmanızı gerektirir. Bu da muhtemelen bir Mac’e ya da Mac OS çalıştıran bir bilgisayara ihtiyacınız olacağı anlamına geliyor. Şimdi, kesinlikle tasvip etmediğim ve asla yapmadığım bir şey, sanal bir makinede Mac OS’nin hacklenmiş bir sürümünü indirmekti. Tekrar söylüyorum, bunu hiç öğrenmedim. Bunu yapmanızı onaylamıyorum. Mac OS sanal makinesinde gerçekten kod yazamayacağınızı öğrenmedikten sonra bir Mac mini satın aldım. iOS geliştirmeye ilk başladığımda, ilk Mac makinem 2016 yılında bir Mac mini idi.
Bana yaklaşık 500 dolara mal olmuştu. Sanırım bugünlerde biraz daha pahalılar, ancak ikinci el bir tanesini yaklaşık aynı fiyata alabileceğinizden oldukça eminim. Yani iyi donanım gereksinimlerine sahip bir Mac’iniz yoksa, iOS geliştirmeye başlamak size biraz pahalıya mal olacaktır. Yani bu, üzerinde düşünülmesi gereken oldukça önemli bir konu. Düşünülmesi gereken diğer bir konu da iOS’un daha düşük bir kullanıcı tabanına sahip olması, ancak bu kullanıcıların App Store’da para harcamaya daha istekli olmasıdır. Dolayısıyla amacınız App Store’da para kazanmaksa iOS geliştirmeyi düşünebilirsiniz. Diğer taraftan, Android’in çok daha fazla dünyevi kullanıcısı var, ancak bu kullanıcıların Google Play Store’da para harcama olasılığı daha düşük. Ve bence gerçekten önemli olan bir şey de Android’in Android geliştirme konusunda inanılmaz bir dokümantasyona sahip olması. Bu, Android geliştirmeyi kişisel olarak sevmemin en büyük nedenlerinden biri. Bence piyasadaki iOS dokümantasyonundan çok daha üstün. Yani kariyeriniz açısından hangisini seçtiğiniz gerçekten önemli değil.
Yine, Android ya da iOS geliştirme alanında çok başarılı bir kariyer yapabilirsiniz. Peki öğrenmeye nereden başlamalısınız, Android mi iOS geliştirme mi? Bu biraz zor bir soru çünkü öğrenmenin milyonlarca farklı yolu var. Android ve iOS için yapacağınız en ufak uygulama ile güzel kazançlar elde edebilirsiniz. Örneğin sohbet uygulaması oluşturarak bunu başka firmalara satabilirsiniz.
Mobil Geliştirici Olmak İçin Nereden Başlamak Gereklidir?
Mobil geliştirici olmak için öncelikle web mi mobil mi cevabını vermeniz gerekmektedir. Muhtemelen hızlı bir Google araması yapabilir ve nereye gideceğinizi hızlıca bulabilirsiniz. Ama sanırım her şeyi baştan yapacak olsaydım, bu şekilde başlardım. Android geliştirme için, öğrenmeye başlamanın en iyi yolunun doğrudan Google’dan, yani Android işletim sisteminin yaratıcılarından olduğunu düşünüyorum.
Kodlamaya yeni başlamış olsanız bile kotlin ve Android geliştirmenin temellerini size öğretmek için özel olarak tasarlanmış bazı ücretsiz kursları var. iOS geliştirme için Apple da bazı ücretsiz kurslar sunuyor. Dürüst olmak gerekirse Android’dekiler kadar iyi olduklarını düşünmüyorum. Biraz eskimişler ama genel olarak iOS geliştirmeye ücretsiz olarak başlamak için hala iyi bir yer. Eğer ilgileniyorsanız, bu kaynakların her ikisi için de açıklamaya bir bağlantı koyacağım. Apple ayrıca Swift Geliştirmeyi öğrenmeye yönelik bazı kitaplar da sunuyor, eğer ilgileniyorsanız öğrenmeye başlamak için iyi bir kaynak olacağını düşünüyorum. Yine, bağlantıyı açıklamaya koyacağım, ancak %100 kişisel deneyimime göre, iOS geliştirmeyi öğrenmeme en çok yardımcı olan kaynak oğlum Brian Vong’du. AK. Hadi şu uygulamayı yapalım. Brian’ın iOS uygulamaları geliştirme konusunda bir sürü çalma listesi var. Baştan sona, genellikle YouTube ve Instagram gibi popüler uygulamaları klonluyor. iOS geliştirmeye ilk başladığımda, YouTube klonlama eğitimi baştan sona takip ettiğim bir eğitimdi ve çok şey öğrenmeme yardımcı oldu. Eğitimler, kitaplar, YouTube kanalları bir yana, Android veya iOS geliştirmeyi öğrenmenin en iyi yolu ellerinizi kirletmek ve kendi iOS veya Android uygulamalarınızı geliştirmeye başlamaktır. Yani bu uygulamaların benzersiz olması bile gerekmiyor. Bunları App Store’da yayınlamak zorunda bile değilsiniz. Ancak kendi uygulamalarınız üzerinde çalışmanız çok önemli, çünkü çok fazla takılıp kalacaksınız. Hayal kırıklığına uğrayacaksınız ve bu sorunları herhangi bir öğretici veya kitap olmadan kendi başınıza nasıl çözeceğinizi bulmanız gerekecek.
Ve bu büyüme sancıları, bir geliştirici olmanız için oldukça önemlidir. Ayrıca, ilk işinizi bulmak için muhtemelen bu projelerle bir portföy oluşturmanız gerekecek. Bu da beni bir sonraki noktaya götürüyor. İşte ilk mobil geliştirici geliştirme işinizi bulmak için yapmanız gerektiğini düşündüğüm şey. Sanırım bunu tekrar yapmaya çalışsaydım ben nasıl yapardım. Git’in temellerini öğrenmeniz ve GitHub’da bir portföy oluşturmanız çok önemli.
İlk Mobil İşinizi Bulmak
Ya da geliştirdiğiniz uygulamaları sergileyen bir web sitesi bile yapabilirsiniz. 2016’da programcı olarak ilk işime girdiğimde, dürüst olmak gerekirse, bir geliştirici portföyüm yoktu. Ancak 2021’de, bir geliştirici işi bulmak istiyorsanız, özellikle de ilk geliştirici işinizi bulduktan sonra kendi kendinize öğrendiyseniz, özgeçmişinizde ihtiyacınız olan pazarlık konusu olmayan bir şey olduğunu düşünüyorum. Dürüst olmak gerekirse, bu noktada bir portföyün gerçekten önemli olduğunu bile düşünmüyorum. Farklı işlere başvururken birkaç portfolyo hazırladım. Ah. Ancak özgeçmişimde zaten ilk işim olduğu için, portföyüm hiçbir zaman bir mülakatta gündeme gelmedi. Yapması, inşa etmesi oldukça can sıkıcı olan şeylerden biridir, ancak ilk işe girmek için yapmanız gereken bir şeydir. Sıradaki şey. Ve muhtemelen bir mobil geliştirici işi bulmak için en önemli şeylerden biri en iyi uygulamaları öğrenmektir. Google’ın izlenmesi gereken bazı özel belgeleri vardır. Android için en iyi uygulamalar. Mobil geliştiriciler için bağlantıyı aşağıdaki açıklamaya koyacağım. Özellikle, en çok aşina olmanız gerektiğini düşündüğüm en iyi uygulamalar mimari en iyi uygulamalar ve kullanıcı arayüzüdür. Aka UI en iyi uygulamaları. Android yine mimari en iyi uygulamalar ve Android’de materyal tasarım olarak bilinen kullanıcı arayüzü en iyi uygulamaları konusunda inanılmaz belgelere sahipti. Yine, Android geliştirmeyi sevmemin bir nedeni de bu. Dokümantasyon çok kapsamlı ve ne zaman bir sorunuz olsa ya da bir sınıfın veya Android SDK’nın bir bölümünün nasıl kullanılacağını öğrenmek için yardıma ihtiyacınız olsa, Android dokümantasyonuna başvurabilirsiniz ve muhtemelen her şey hazır olacaktır. Dolayısıyla iOS’un kullanıcı arayüzüyle ilgili bazı en iyi uygulamaları da vardır. iOS’ta bu, İnsan Arayüzü Yönergeleri olarak bilinir. Yine, tüm bunların bağlantısı aşağıdaki açıklamada yer alacaktır. Bu nedenle, en iyi uygulamalar hakkında biraz araştırma yapın ve bu en iyi uygulamaları kişisel projelerinize entegre etmeniz oldukça önemlidir. Bu, sizi muazzam bir şekilde öne çıkaracak ve işverenlerin sizi işe almaya daha istekli olmasını sağlayacaktır. İlk mobil geliştirici geliştirme işinizi bulmanın bir sonraki ve en belirgin noktası, özgeçmişinizde portföy projelerinizi, yol boyunca edindiğiniz tüm becerileri ve mobil geliştirici geliştirmeyi öğrenmeyi listeleyen bir özgeçmiş oluşturmanız ve portföyünüze bir bağlantı koymanızdır. Özgeçmişiniz ve portföyünüz tamamlandıktan sonra yapmanız gereken bir sonraki şey, bulabildiğiniz her bir mobil geliştirici iş için başvurmaktır. Uzaktan, yerel, giriş seviyesi stajyerlik, hatta ilgilenmediğiniz işler bile. Dışarıdaki her bir işe başvurun. Bunun iki nedeni var. Birincisi, bu bir sayı oyunu. Yeterince işe başvurduktan sonra, sonunda o mülakatı alacaksınız. İkincisi, mülakata girdiğinizde, aynı anda birden fazla mülakat yapıyorsanız, işverenler bunu fark eder.
Bir yerle görüştüğümde bana defalarca sorulan bir soru şu: Diğer görüşmelerin nasıl gidiyor? Ya da başka bir yere bakıyor musunuz? Bu soruya cevap verebilecek donanıma sahip olmak istersiniz çünkü bu sadece potansiyel işverenlere değerinizi göstermekle kalmaz, aynı zamanda diğer işverenler için bir tür rekabet kaygısı yaratarak sizi işe alma olasılıklarını artırır.