Senin kafa karışmış

Bu terimlerin türkçe karşılığı düzgün bulunmadığı için kafa karıştırıcı olabiliyor.

API: (Application Programming Interface) Uygulama geliştirme arayüzü. Yani, mesela Android'i geliştiren ekip, insanlar uygulama geliştirsin diye bir API oluşturmuş. Biz de bu API'yi kullanarak mesela bir webView dahil ediyoruz, buton ekliyoruz, liste yapıyoruz vesaire.

Senin bahsettiğin ise sanırım REST Api, bu da uygulama ile sunucunu arasındaki haberleşmeye denir.

Mesela:

Bir kullanıcı uygulamayı her açtığında kendi sunucuna "xxx cihaz id'li kişi uygulamayı açtı" diye bir bilgi yollamak istiyorsun diyelim. Yazılacak "uydurma" kod şöyle olur:

Kişi uygulamayı ilk açtığında Android'in "native" olarak sağladığı onCreate metodu çalışır.


fonksiyon onCreate(){ // ANDROID API: uygulama çalıştı

    setContentView(R.layout.ana_aktivite) // ANDROID API: tasarımı çağırdık

    String cihazIdsi = cihazIdCek(); //ANDROID API:  gerekli metodlar kullanılarak cihazın id, imei gibi özellikleri öğrenilebilir.

    // REST API: sunucu ile iletişime geçtik. Bu metodda da android'in apilerini kullandık. 
    sunucuyaYolla(cihazIdsi)

}
Yani Api, Rest Api ve "native" kavramları farklı şeyler. Hatta "native" denen şey, r10'da oluşmuş bir kavram.

Native uygulama Java kullanmadan direk NDK (native development kit) kullanarak yapılır ki bunu da r10'da tercih eden kişi olduğunu sanmıyorum çünkü ileri seviye.