Cross Platformlar VS Native Platformlar

Appcent Akademi
Appcent
Published in
3 min readDec 24, 2021

Hangisini seçmeliyim, neden?

Cross Platform ve Native Platformların En Büyük Farkı Nedir?

Native uygulamalar tek bir platform için özel olarak oluşturulur. Platformlar arası (cross) uygulamalar ise Android ve iOS gibi birden çok platformla uyumlu olmayı amaçlar.

Cross Platform Nedir?

Platformlar arası geliştirme (cross platform), birkaç platformda çalışan bir uygulama oluşturma sürecine verilen isimdir. Oluşturulan uygulamalar hem Android hem de iOS’ta dağıtılabilir. Bunun için de React Native, Xamarin ve Flutter gibi araçlar kullanılır.

Platformlar arası geliştirme ile zaman ve maliyetten tasarruf sağlarsınız. Öte yandan kaliteden ödün verme riskiyle karşı karşıya kalabilirsiniz. Farklı platformlarda sorunsuz bir şekilde çalışan bir uygulamayı uyarlamak oldukça zordur. Bu nedenle uygulama çalışırken ek bir abstraction layer’a ihtiyaç duyulur. Bu durum da daha düşük performansa yol açabilir.

Cross Platform Artı ve Eksileri

Avantajları

  1. Daha Az Maliyet: Native platformlardaki gibi iki geliştirici ekibine ihtiyaç duyulmaz. Platformlar arası bir uygulama oluşturmak için bir ekip yeterlidir. Böylece, geliştirme maliyetinden çoğunlukla tasarruf edebilirsiniz.
  2. Tek Kod Tabanı: Uygulama, tek bir platformlar arası geliştirme aracıyla oluşturulduğu için yalnızca bir kod tabanı oluşturulur.
  3. Daha Hızlı Geliştirme: Birden çok platformda çalışan bir uygulama oluşturmak için yalnızca tek bir geliştirme döngüsü izlemek gerekecektir.

Dezavantajları

  1. Daha Yavaş Olabilir: Abstraction layer ve rendering sürecine duyulan ihtiyaç, platformlar arası uygulamayı yerel uygulamalarla kıyaslandığında daha yavaş hale getirir.
  2. Sınırlı İşlevsellik: Geliştiriciler, yerel bir uygulamada mümkün olan coğrafi konum, kamera ve mikrofon gibi akıllı telefon işlevlerine erişmekte zorluk çekebilir.
  3. Sınırlı UX Deneyimi: Platformlar arası uygulamalar, yerel UX bileşenlerinden yararlanamazlar. Bu yüzden platforma alışık olduğu UX deneyimini sunamayabilir.

Native Platform Nedir?

Yerel uygulama geliştirme (native platform) terimi, yalnızca tek bir platform için bir mobil uygulama oluşturmayı ifade eder. Uygulama, tek bir platforma özgü programlama dilleri ve araçları ile oluşturulur. Örneğin, Java veya Kotlin ile yerel bir Android uygulaması geliştirebilir, iOS uygulamaları için ise Swift ve Objective-C’yi seçebilirsiniz.

Yerel uygulamaların, genellikle yüksek performanslı oldukları için olağanüstü kullanıcı deneyimi sunduğu bilinmektedir. Görseller, platform UX’e göre uyarlandığından kullanıcı deneyimi de geliştirilir. Bununla birlikte, startuplar, her iki platform için de eş zamanlı geliştirme çalıştırmaları gerektiği için yerel uygulama geliştirmenin yüksek maliyetinden endişe duyabilir.

Native Platform Artı ve Eksileri

Avantajları

  1. Olabildiğince İşlevsel: Çalıştığınız platform tarafından sağlanan her API ve araca erişebilirsiniz. Teknik olarak, programcıların yeni uygulamayla nasıl çalışabilecekleri konusunda hiçbir sınırlama yoktur. ‍‍
  2. Daha İyi Mağaza Desteği: Yerel bir uygulamanın yayınlanması daha kolaydır ve daha iyi performans ve hız sağladığı için genellikle platformun uygulama mağazasında daha üst sıralarda yer alır. Daha iyi cihaz ve harici donanım entegrasyonu da bu duruma katkı sağlayabilir.
  3. Ölçeklenebilirlik Konusu: Yerel ortam için oluşturulan uygulamalar, kaynak yönetimindeki esneklik ve mevcut araç dizisi sayesinde daha ölçeklenebilir olma eğilimindedir.‍
  4. Yüksek Performans ve UX: Yerel mobil uygulama geliştirme ile uygulama, belirli bir platform için oluşturulur ve optimize edilir. Buna bağlı olarak, uygulama son derece yüksek bir performans gösterir. Yerel uygulamalar, belirli bir platform için oluşturuldukları ve platformun temel programlama dili ve API’ları kullanılarak derlendiği için çok hızlı ve duyarlıdır. Sonuç olarak, uygulama çok daha verimli hale gelir. Kullanıcılar yerel bir mobil uygulamada gezinirken, içerik ve görsel öğeler telefonlarında zaten depolanır, bu da yükleme sürelerinin hızlı olduğu anlamına gelir. Ek olarak, yerel uygulamalar genellikle daha iyi UX’e sahiptir.

Dezavantajları

  1. Görece Daha Maliyetli: Hem iOS hem de Android için oluşturmanız gerektiğinden yerel uygulamalar maliyetli olabilir. Bu durum, farklı platformlarda çalışan iki farklı ekibi görevlendirmenizi gerektirir. Hem uygulamalar için çalışan sayısı hem de iki platform için de oluşturulması gerektiği için yerel uygulama daha maliyeti yüksektir.
  2. Oldukça Zaman Alıcı Olabiliyor: Yerel uygulama geliştirirken bir platform için yaptığınız işi diğeri için kopyalamanız mümkün değildir. Bu durum da her iki platform için ayrı ayrı zaman harcamanıza yol açar. Diğer sürüm üzerinde çalışmak için ayrı bir ekip gerektirir.

Peki sizin tercihiniz hangisi 🙂? Hadi gelin yorumlarda buluşalım.

Yazılım öğrenmeye başlamak istiyor ama nasıl yapacağınızı bilmiyor musunuz?

  • Bize yazın size öğrenmek istediğiniz konu ile alakalı eğitimler, kitaplar, yazılar, staj programları ve etkinlikler önerelim.

Bize her zaman ulaşabileceğiniz sosyal medya hesaplarımız:

LinkedIn | Instagram | Kommunity | Twitter

--

--

Appcent Akademi
Appcent
Writer for

Teknoloji ve dijitalleşen dünya ile ilgili bilgi ve deneyimlerimizi paylaşıyoruz