Güncellendi (netlik sağlamak ve belirsizliği azaltmak için):
Android uygulamalarla uğraşmaya başlayacağım. NDK'yı kullanarak C ++ 'da yazmayı planlıyordum (çünkü C ++ konusunda daha fazla deneyimim olduğu ve Java'yı tercih ettiğim için) ancak Android NDK sayfasında aşağıdakilerle karşılaştım :
NDK'yı yalnızca uygulamanız için gerekliyse kullanmalısınız - asla sadece C / C ++ ile programlamayı tercih ettiğinizden değil.
İşe uygun olduğu sürece tercih ettiğiniz dili kullanmanız gerektiği izlenimine kapıldım. Android geliştirme için C / C ++ kullanmamanın neden bu kadar şiddetle tavsiye edildiğini birisi açıklayabilir mi?
Orijinal:
Mobil uygulamalarla, özellikle de mevcut telefonumun işletim sistemi olan android ile uğraşmaya başlayacağım ve uygulamayı C ++ 'da (veya en azından çekirdek, ardından Java ile sarmalama) yazmanın kabul edilebilir bir seçenek olup olmadığını merak ediyordum.
Biraz geçmişim, 3 C ++ dersi (giriş, orta seviye, OOP ve baharda bir STL kursu alıyorum) ve sadece 1 Java dersi (orta seviye) almış bir bilgisayar bilimi uzmanıyım. Bu yüzden C ++ ile daha rahatım ve Java'ya tercih ediyorum. Android NDK sayfasında aşağıdakilere rastladım :
Android'de yerel kod kullanmak genellikle gözle görülür bir performans artışı sağlamaz, ancak her zaman uygulamanızın karmaşıklığını artırır. Genel olarak, NDK'yı yalnızca uygulamanız için gerekliyse kullanmalısınız - hiçbir zaman sadece C / C ++ ile programlamayı tercih etmediğiniz için.
- İşe uygun ve aşina olduğunuz dili kullanmanız gerektiği izlenimine kapıldım.
- Uygulamayı iOS gibi C ++ destekleyen ancak java desteklemeyen başka bir mobil platforma taşımak isteyebilirim
- Java yüksek seviyeli bir dil olmasına ve bu nedenle geliştirmeyi hızlandırması gerekirken, gelişimin daha yavaş olacağını hissediyorum çünkü neredeyse her şeyi yeniden öğrenmem gerekiyor (çünkü dil üzerine sadece bir ders aldım)
Herhangi bir tavsiye çok minnettar olacaktır.
ps: Bu konudaki yanıtların çoğu yıllar öncesine aittir ve Android 2.3 ve daha yeni sürümlerde tam yerel uygulamaların geliştirilmesine izin veren NDK'dan bahseden çok az yanıt vardır.