Android Uygulamaları geliştirmek istiyorum - Hangi dilleri öğrenmeliyim?

Yazar: Laura McKinney
Yaratılış Tarihi: 2 Lang L: none (month-011) 2021
Güncelleme Tarihi: 1 Temmuz 2024
Anonim
Android Uygulamaları geliştirmek istiyorum - Hangi dilleri öğrenmeliyim? - Uygulamaların
Android Uygulamaları geliştirmek istiyorum - Hangi dilleri öğrenmeliyim? - Uygulamaların

İçerik


Yani, Android uygulamalarını nasıl geliştireceğinizi öğrenmek istediğinize karar verdiniz? Harika! Maalesef, niyetler seni yalnızca şu ana kadar taşıyabilir. Kodlamayı öğrenmek karmaşık olabilir. Bazen nereden başlayacağınız bile belli değil. Muhtemelen başlamadan önce cevaplayacağınız bir sürü soru var mı?

  • Hangi programlama dilini öğrenmelisiniz?
  • Seçtiğiniz dil hakkında nereden bilgi edinebilirsiniz?
  • Temel bilgileri kavradığınızda,nerede Kodu yazmaya bile başladın mı?

Bu yayında, ilk soruyu cevaplamaya çalışacağız. Hangi programlama dilinin başlayacağına karar vermek, tamamen başarmayı umduğunuz şeye bağlı olacaktır. Ve dili öğrendikten sonra, IDE'yi ve uygun araçları bulabilirsiniz.

İleriyi Oku:Uygulamalar oluşturmak ve sıfır kodla oluşturmak için en iyi Android uygulama üreticileri

Adlı bir siteyi okurken görün ağırlıklı olarak Android uygulamalarını nasıl oluşturacağınızla ilgilendiğinizi varsaymak muhtemelen güvenlidir. Ve bu durumda, birkaç seçeneğiniz var.


İstediğini al

Android uygulamaları geliştirmek istiyorsanız, birinci adım bir dil seçmek. Çeşitli Android programlama dilleri arasındaki farklar biraz karmaşık ve farklı olabilir. Hangisinin başlayacağını seçmek, bireysel güçlü ve zayıf yönlerinin anlaşılmasını gerektirir.

Ama aynı zamanda seni ölümüne sıkmak istemiyorum. Burada her dil seçeneğinin kısa bir kopyasını bulacaksınız, ardından aşağıda daha ayrıntılı bilgi bulabilirsiniz. Size ilginç görünen birini seçin ve sonra atlayın.

Android geliştirme için öğrenmeyi düşünebileceğiniz diller:

  • Java - Java, Android geliştirmenin resmi dilidir ve Android Studio tarafından desteklenir. Ancak dik bir öğrenme eğrisi vardır.
  • Kotlin - Kotlin kısa süre önce ikincil bir “resmi” Java dili olarak tanıtıldı.Java'ya birçok yönden benzer, ancak kafanızı dolaşmak biraz daha kolaydır.
  • C / C ++ - Android Studio, Java NDK kullanımıyla C ++ 'ı da destekliyor. Bu, oyunlar gibi şeyler için kullanışlı olabilecek yerel kodlama uygulamalarına izin verir. C ++ olsa daha karmaşıktır.
  • C # - C #, daha fazla kod gizleyen C veya C ++ 'a biraz daha yeni başlayanlar için uygun bir alternatif. Oyun geliştirme ve çapraz platform geliştirme için mükemmel olan Unity ve Xamarin gibi çok kullanışlı araçlarla desteklenir.
  • TEMEL - Bonus seçenek, TEMEL'i öğrenmek ve B4A IDE'yi Anywhere Yazılımından denemek. Bu, kesinlikle çok daha fazla niş olsa da, kolay ama güçlü bir araçtır!
  • Corona / LUA - LUA üzerine kurulmuş başka bir çapraz platform aracı. Uygulama oluşturma işlemini büyük ölçüde basitleştirir ve yerel kütüphaneleri aramanıza izin verir.
  • PhoneGap (HTML, CSS, JavaScript) - İnteraktif web sayfalarının nasıl oluşturulduğunu zaten biliyorsanız, daha basit bir platformlar arası uygulama oluşturmak için bu bilgiyi PhoneGap ile kullanabilirsiniz.

Java

Android uygulamaları geliştirme zamanı geldiğinde, ilk ve en popüler seçenek Java. Java resmi Android geliştirme dili, yani Google’dan en fazla desteği olan ve Google Play Store’daki çoğu uygulamanın inşa edildiği dil.


Android uygulamaları geliştirmenin bir numaralı yolu, devam edip Android Studio'yu indirmektir. Bu bir IDE veya Entegre Geliştirme Ortamı denilen bir yazılım parçasıdır. Android SDK (özellikle Android gelişimini kolaylaştıran araçlar kümesi) ile paketlenmiş olarak gelecektir ve temel olarak bu size kalkmak ve koşmak için tek bir yerde ihtiyacınız olan her şeyi verecektir.

Google’ın resmi eğitimleri ve dokümantasyonu bu yönteme başvuruda bulunacaktır; en çok sayıda kitaplığı (kendi uygulamalarınızı geliştirmek için ücretsiz kod) ve bu yönteme odaklanan öğreticileri bulacaksınız.

Java, 1995 yılında Sun Microsystems tarafından piyasaya sürüldü ve çok çeşitli programlama uygulamaları için kullanılıyor. Java kodu, Android cihazlarda çalışan ve kodu yorumlayan "sanal makine" tarafından çalıştırılır.

İleriyi Oku: Bir uygulamanın anatomisi: Aktivite yaşam döngülerine giriş

Ne yazık ki, Java da biraz karışıktır ve harika bir “ilk dil” değildir. Bu aslında Android geliştirmeye başlamak isteyen birçok insan için en büyük engeli sağlayacak. Android, kurucular, boş işaretçi istisnaları, işaretli istisnalar ve daha fazlası gibi kafa karıştırıcı konuları içeren bir nesne yönelimli programlama dilidir. Çok okunaklı değil ve basit şeyler yapmak için birçok "kazan plakası" kodu kullanacaksınız. Java SDK'sını ekleyin ve işler daha da karmaşık hale gelir - ilk kez kodlayıcı Java'nın ve Android'in ne olduğunu bilmek için mücadele edebilir! Bu rotayı kullanarak geliştirme, Android Manifest ve biçimlendirme dili XML gibi Gradle gibi kavramların da anlaşılmasını gerektirir.

Bu, Java'nın kötü bir dil olduğunu söylemez - ondan uzak. Herhangi bir dili “kötü” olarak adlandırmak yanlış olmaz, aynı zamanda Java'nın rahatsızlıklarının çoğunun aslında bizim kendi iyiliğimiz için var olduğu ve temiz kodu teşvik ettiği de doğrudur. Pek çok insan bu nedenle Java'yı seviyor ve aynı zamanda en çok kullanılan ve çok kullanılanlardan biri. PYPL (Programlama Dillerinin Popülerliği) tablosuna göre, Java işverenler arasında en çok aranan dildir.

Hayatı çok daha basit hale getiren Android Studio, son birkaç yılda güçlenip güçlenmeye devam ediyor. Görsel bir tasarımcı ve öneriler gibi özellikler süreci oldukça pürüzsüz hale getirirken, geliştiricilere bulut uygulaması gibi şeylere kolay uygulama ile erişebilmeleri için her zaman gelişmiş, güçlü özellikler eklenmektedir. Bu hızlı ilerleme bazen ayak uydurmayı zorlaştırsa bile, gemiye binmeye değer.

Peki, karar nedir? Tam Android geliştirme deneyimini isteyenler için, Java'ya dalış yapmak en iyi yer. Karmaşık kodlara uymayanlar için, büyük ölçüde tasarımcıyla çalışmak ve daha karmaşık bir şey için öğreticileri takip etmek mümkündür. Eğer bir acemiyseniz ve ancak bir oyun yapmak istiyorsanız, ya da sadece öğrenme uğruna öğrenmeye başlamak istiyorsanız ve bazı ödüllendirici projeler elde etmek istiyorsanız, o zaman bir şeyle başlamanızı öneririm. biraz daha topraklandığında daha kolay ve tekrar buna geri dönün.

Gary’nin Java’ya girişini buradan görebilirsiniz.

Not:

Bununla birlikte, Java'yı Unity ile birlikte kullanmak da mümkündür. Unity'yi C # bölümünün altında tartışacağım, ancak bu rotaya giderken biraz daha karmaşık Java dilini seçebileceğinizi ve Android Studio ile daha kolay geçiş yapmak için bunu kullanabileceğinizi unutmayın.

Kotlin

Son zamanlarda Kotlin, Android geliştirme için “diğer” resmi dil olarak sahneye çıktı. Bazı spekülasyonlar bunun dilin profilini yükseltmesinin muhtemel olduğunu ve muhtemelen bir sonraki Swift olabileceğini öne sürüyor.

Java gibi, Kotlin de Java Sanal Makinesi üzerinde çalışır. Ayrıca Java ile tamamen birlikte çalışabilir ve dosya boyutlarında herhangi bir yavaşlama veya artışa neden olmaz. Aradaki fark, Kotlin'in daha az “kazan plakası” kodu gerektirmesidir, yani daha düzenli ve okunması kolay bir sistemdir. Ayrıca boş nokta istisnaları gibi hatalarla da ortadan kalkar ve hatta her çizgiyi noktalı virgülle bitirmek için sizi mazeret eder. Kısacası, yalnızca ilk kez Android uygulamaları geliştirmeyi öğreniyorsanız harikadır.

Dolayısıyla Kotlin kesinlikle yeni başlayanlar için daha kolay bir başlangıç ​​noktasıdır ve Android Studio'yu kullanmaya devam edebilmeniz büyük bir artı. Yine de, Unity ile C # dediği gibi almak oldukça kolay değil ve topluluk desteği de göreceli olarak başlangıç ​​aşamasında. Aslında, kullanıma hazır desteği alabilmek için şu anda Android Studio’nun beta sürümünü indirmeniz gerekiyor.

Yine de, Kotlin kesinlikle sizin radarınızda olmalı ve Android Geliştirmeye “uygun” bir giriş noktası sunabilir. Bu da Google’ı neden ilk sırada tanıttı.

Neden Kotlin'i burada denemelisin.

C / C ++

Bunu okuyan kişilerin çoğunun Android uygulamaları geliştirmek için bu rotayı seçmemesi gerektiğini söylemek doğru olur. Android Studio, Android NDK'yı (Yerel Geliştirme Seti) kullanarak C / C ++ kodu için destek sunar. Bu, Java Sanal Makinesi'nde çalışmayan ancak aygıtta yerel olarak çalışan ve size bellek gibi şeyler üzerinde daha fazla kontrol sağlayan kod yazacağınız anlamına gelir. 3D oyunlar gibi yoğun uygulamalar için, bu bir Android cihazdan ekstra performans sıkmak için izin verebilir. Ayrıca, C veya C ++ ile yazılmış kütüphaneleri kullanabileceğiniz anlamına gelir.

Bununla birlikte, kurulumu çok daha zor olma eğilimindedir, daha fazla böcek ortaya çıkarır ve daha az esnektir. Ve bir bilgisayar oyunu oluşturmak isteseydiniz, hazır bir oyun motoru kullanarak muhtemelen daha iyi olursunuz.

C #

C # temel olarak Microsoft tarafından geliştirilen C ve C ++ 'ın daha kolay ve saf nesne yönelimli bir sürümüdür. C ++ 'ın gücünü ve Visual Basic'in kolaylığını getirmeyi amaçladı ve biraz Java'nın basitleştirilmiş bir sürümünü okuyor. Java gibi, C # da toplanır, yani bellek sızıntısı gibi şeyler için endişelenmenize gerek kalmaz ve belleği kendiniz serbest bırakırsınız. Aynı zamanda, C # daha temiz bir sözdizimine sahip Java'dan daha moderndir, ancak bu benim başıma gelmem benim kendi önyargım olabilir. Android uygulamaları geliştirmek için en iyi dil genellikle sadece tadı geliyor.

Yine de Android uygulama geliştirmeye özellikle kolay ve sıcak bir giriş yapmak istiyorsanız, C # ve Unity kombinasyonunu tavsiye ederim. Birlik bir “oyun motorudur” (yani fizik hesaplamaları ve 3B grafik oluşturma gibi şeyler sağlar) ve Android Studio benzeri bir IDE'dir. Bu, kendi oyunlarınızı yaratmanızı inanılmaz derecede kolaylaştıran ücretsiz bir araçtır - sadece birkaç satır kodla, bir saatten daha az bir sürede kurulmuş temel bir platform oyununa sahip olabilirsiniz. Abartı yok. Ayrıca Google Play Store'daki çoğu oyun stüdyosu tarafından kullanılan bir araç olarak da son derece güçlü. Ve bu da çoklu platform. Her şeyden öte, bu şekilde geliştirmek, Nesne Yönelimli kodlamayı öğrenmek için çok pratik bir yol sağlar (çünkü bu durumda nesneler aslında çoğu zaman nesnelerdir).

Sınırlama? Birlik, oyunlar oluşturmak için kullanışlıdır, ancak özellikle Google’ın Materyal Tasarımı diline uymak istiyorsanız, standart Android Uygulamaları oluşturmak için eşittir. Profesyonel bir Android Geliştirici olmak istiyorsanız, bu standart dışı rota istihdam fırsatlarınızı sınırlandırır - amacınız bir oyun geliştiricisi olmak değilse, bu durumda bu tamamen alakalı ve profesyonel bir geçmiş.

Birlik konusunda istekli değil misiniz? O zaman Unreal'i (daha iyi grafikler, mobil cihazlara daha az uyumlu) ya da GameMaker Studio gibi basitleştirilmiş oyun yapımcılarını düşünebilirsiniz.

C #, Visual Studio ile Xamarin ile de kullanılabilir. Bu, çapraz platform olma avantajıyla (Android ve iOS için bir kod temeli) avantajı ile geleneksel Android geliştirmesine benzer. Tamamen yeni başlayanlar için, bu rota Android gelişimine biraz daha geniş bir giriş noktasıdır - ancak iOS ve Android için bir uygulama oluşturmak isteyen küçük bir şirket için mantıklıdır ve size yardımcı olacak birçok destek ve bilgi vardır. .

TEMEL

C # 'nin, C'nin gücünü Visual BASIC kolaylığı ile sunma girişimi olduğunu söylediğimi hatırlıyor musunuz? Bunun nedeni BASIC'in (Yeni Başlayanlar Çok Amaçlı Sembolik Talimat Kodu) kullanımı son derece keyifli ve kodlamayı öğrenmek için kesinlikle ideal bir sıçrama.

Ne yazık ki, resmi olarak Android Studio tarafından desteklenmiyor ve Unity ya da Xamarin'de kullanamıyorsunuz. İyi haber şu ki, BASIC'te Anywhere Software'den B4A adı verilen Android uygulamaları geliştirmek için daha az bilinen bir seçenek var. Bu, 'BASIC 4 Android'in kısaltmasıdır ve beklediğiniz gibi, Android uygulamalarını BASIC ile kodlamanızı sağlar. Kesinlikle, Android uygulamaları geliştirmek isteyen çoğu programcı için ilk seçenek değil, ancak daha fazla seçeneğe sahip olmak her zaman iyidir.

B4A, RAD veya Hızlı Uygulama Geliştirme ortamı olarak tasarlanmıştır. Hayatı kolaylaştıracak pek çok akıllı tasarım kararı var ve herhangi bir sorunuz varsa çok destekleyici bir topluluk var.

Bu, kodlamayı öğrenmenin harika bir yoludur ve yalnızca bu yöntemi kullanarak oldukça güçlü uygulamalar oluşturabilirsiniz. Yine de üst düzey oyunlar yapmak için ideal değildir ve bir kez daha “gayri resmi” bir seçenek olmaktan muzdariptir - bu nedenle Malzeme Tasarımı spesifikasyonlarına tam olarak uyan bir şey oluşturmak daha zordur ve sadece BASIC ile profesyonel bir geliştirici olarak çalışmayı daha zor bulursunuz . Diğer büyük dezavantajı bu listede ücretsiz olmayan tek seçenek olmasıdır.

Corona

Corona, size hala adil miktarda güç ve kontrol sağlamanın yanı sıra Android uygulamaları geliştirmek için oldukça basit bir seçenek sunar. Java'dan çok daha basit olan LUA'da kodlama yapacaksınız ve bunun üzerine Corona SDK (Yazılım Geliştirme Kiti) işleri daha da kolaylaştıracak. Tüm yerel kütüphaneleri destekler, birden fazla platforma yayınlamanıza izin verir. Oyun oluşturmak için büyük ölçüde kullanılır, ancak başka şekillerde de kullanılabilir. Kodunuzu girmek için Notepad ++ gibi bir metin düzenleyici kullanmanız gerekir ve ilk önce bir derleme yapmanıza gerek kalmadan söz konusu kodu bir emülatörde çalıştırabilirsiniz. Bir APK oluşturup dağıtmaya hazır olduğunuzda, bunu çevrimiçi bir araç kullanarak yapabilirsiniz.

Bu, temel kodlama becerileri gerektirir, ancak programlama dünyasına güzel ve yumuşak bir giriş sunar. Yine de aynı zamanda, kesinlikle bir dereceye kadar sınırlandırılmıştır ve “uygulama geliştirici” bölgesine girmekten birkaç adım uzaktadır. Bu, nispeten basit bir şey oluşturmak isteyen ve kodlama becerilerini geliştirmek veya profesyonel olmak konusunda endişeli olmayan biri için daha kullanışlıdır. Uygulama içi satın alma gibi özellikleri kullanmak istiyorsanız, bir ücret ödemeniz gerekir. Aynı yerel Android API'leri kullanmak için de geçerli.

PhoneGap

Son olarak, Android uygulamaları geliştirmek için açabileceğiniz son büyük "basitleştirilmiş" seçenek, bir uygulama kurucu programına dönmek istemediğiniz sürece PhoneGap'tir. PhoneGap, Apache Cordova tarafından desteklenmektedir ve temel olarak bir web sitesi oluşturmak için normalde kullandığınız kodu kullanarak uygulamalar oluşturmanıza izin verir: HTML, CSS ve JavaScript. Bu daha sonra bir “WebView” ile gösterilir ancak bir uygulama gibi paketlenir. PhoneGap daha sonra bir köprü gibi davranarak geliştiricilerin telefon veya tabletin bazı temel yerel özelliklerine - ivmeölçer veya kamera gibi erişmesine izin verir.

Bu gerçekten de "gerçek" bir Android geliştirme değildir ve tek gerçek programlama JavaScript olacaktır. Pek çok temel görev için bu işi yapacak, ancak gerçek “Android uygulaması geliştiriciliği” (bu bir şey) olduğunu iddia etmek istiyorsanız, o zaman bu listedeki diğer seçeneklerden birini cesaretlendirmelisiniz.

Sonuç

Öyleyse seçimini yap! Python ile Android uygulamaları (kolayca) geliştirmenin bir yolu olsaydı, ancak Android uygulamaları geliştirmek için çok çeşitli seçeneklere sahipsiniz: Java ve Kotlin'den C, C # ve BASIC! PhoneGap'i kullanarak basit bir şey yapmak için HTML ve CSS bile kullanabilirsiniz.

Doğru seçim, hassasiyetlerinize ve hedeflerinize bağlı olacaktır, ancak neye karar verirseniz verin, kodlamayı öğrenmenin fevkalade ödüllendirici bir deneyim olduğunu ve sizin için bir ton kapı açan bir tane olduğunu göreceksiniz. Android ile kodlamayı öğrenmek, başlamak için mükemmel bir yerdir. Umarım şimdi en azından şimdi Android uygulamalarının nasıl geliştirileceği hakkında biraz daha bilgi alırsınız, ancak herhangi bir sorunuz varsa, yorumlarda ve ekibimizde - ve okuyucularımızda - onları yanıtlamak için elimizden gelenin en iyisini yapacağız. İyi şanslar!

İleriyi Oku: Android geliştirme için Java sözdizimine giriş | Tüketici API'ler: Android'de Retrofit ile çalışmaya başlama

Google Family Link'i kullanmak için bir ebeveynin Android 4.4 KitKat veya ütünü çalıştıran bir Android cihaza veya iO 9 veya ütünü çalıştıran bir Apple...

Mayı 2016’da Google, Chromebook’ta Android uygulamalarına izin verecek güncellemeleri O O’de yayınlayacağını açıkladı. Chromebook cihazlarında Android uygulamaları için detek unumu yava...

Portalda Popüler