Ionic mi? Nativescript mi?

Uzun zamandır mobil uygulamalar geliştiriyorum. En baştan beri Ionic ile uygulamalar geliştirmeye başladım ve artık daha performanslı araçlara geçme düşüncem varken cross-platform olan diğer alternatiflere göz attım. İlgimi en çok NativeScript çekti ve direkt öğrenmeye başladım.

Ionic ile karşılaştırınca NativeScript biraz farklı HTML ve CSS yazıyorsunuz ama Ionic kadar özgürce yazamıyorsunuz çünkü native olarak derleme yaptığı için belli başlı kurallar çerçevesinde yazabiliyorsunuz. İlk başta biraz zorluk çeksem de kod örneklerine bakarak yaptım. Android üzerinden çalıştığım için uygulamayı IOS üzerinde test etmek istediğimde bozuk sayfalar ile karşılaştım. Yazdığım kodlardan bazılarını IOS platformu desteklemiyormuş, bundan dolayı uygulamaları ikiye ayırıp IOS için farklı kodlar yazarak sorunu çözdüm. Benim yaşadıklarımdan sonra teknik karşılaştırmalara geçebiliriz.

Geliştirme Yaklaşımı:

Ionic

Ionic geliştirilmeye başlamasından bu yana büyük oranda gelişti ve mevcut senaryoya göre uygulama geliştirme pazarında sürdürülebilir bir geleceği var. Ionic ile tek seferde geliştirme yaparak birden fazla platform için tek bir uygulama oluşturabilirsiniz. Native bir deneyim sunmak için PhoneGap / Cordova gibi eklentiler kullanıyor.

NativeScript

Resmi web sitesinde de belirttikleri gibi NativeScript; Angular, Vue.js, TypeScript veya JavaScript ile native mobil uygulamalar geliştirmek için kullanılan açık kaynaklı bir framework'tür. NativeScript'in çığır açan özelliği, JavaScript kullanarak native API'lere erişebilmenizdir. NativeScript uygulamaları, modern dilleri ve Angular, Vue.js, JavaScript, TypeScript ve CSS gibi entegrasyonları kullanan platformda kullanıcı arayüzü sunar.

Farklılıklar

Her iki framework'ün arasındaki en önemli farklardan biri, NativeScript uygulamalarının doğrudan native cihazda çalışabilmesidir. Herhangi bir çapraz derleme veya tarayıcı etkileşimi gerektirmez. NativeScript'in tersine, Ionic uygulamanın native gibi çalışması için eklentilere ihtiyaç vardır.

Her ikisi de neredeyse aynı şeyi farklı yöntemlerle yapıyorlar. Bununla birlikte uygulamalar, Ionic veya NativeScript kullanıp kullanmadığınıza bakmaksızın cross-platform uygulamalarıdır. Hem Ionic hem de NativeScript, geliştiriciler ve kuruluşlar için oldukça iyi olan Angular'dan yararlanır.

Ionic vs NativeScript: Hızlı Bir Karşılaştırma

  Ionic NativeScript
Amaç Hibrit uygulamalar geliştirmek Çoklu platform uygulamaları geliştirmek
Kurucuları Drifty.co Telerik by Progress
Piyasaya Çıkış 2013 2014
Stabil Sürüm Tarihi Kasım 2018 Mayıs 2018
Github Yıldızları 39.7K 17.9K
Ne ile Yazılmış JavaScript, TypeScript JavaScript, TypeScript
Hangi diller ile geliştirme yapılabilir  CSS, HTML5, JS, TypeScript ve Sass JavaScript, Angular, TypeScript, Vue.js
Anahtar Farklılıkları Sistem özelliklerine ulaşmak için eklentiler kullanır. Native IOS ve Android kütüphaneleri ile desteklenir.
Native Performansı Cihaz donanımına ulaşmak için Apache Cordova API'si kullanır. Direkt olarak Native API kullanır.
Genel Performans Native Arayüz eklentilerine oranla ufak tefek hatalar barındırır. Native uygulamalarla birebir aynı performansı sunar.
Özellikler Bütün web standarlarını destekler.
Sayısız eklenti ve yazılımcı kitlesine sahiptir.
Angular ile geliştirme süreçlerini hızlandırır.
Angular ve Vue desteği.
Native API erişimi.
Native bileşenler.
Uygunluk

Birden fazla platform için hızlı ve daha düşü bütçe ile geliştirme yapmak isteyen kişiler için.

Birden fazla platform için yüksek performansa sahip Native özellikler kullanarak geliştirme yapmak isteyen kişiler için.

Artılar/Eksiler

Ionic Artıları

  • Tek kod ile Android, iOS, Windows ve Web uygulamaları için geliştirme yapılabilir.
  • Çok büyük topluluk desteği ve bir çok eklenti mevcut.
  • Özelleştirilmiş bileşenler oluşturmak için Angular'ın kullanılmasına olanak sağlar.

Ionic Eksileri

  • Native deneyim eksikliği.
  • Native özelliklere erişmek için üçüncü taraf eklentileri kullanmanız gerekmesi.

NativeScript Artıları

  • JavaScript kullanarak Native API ve bileşenlere erişim.
  • Sorunsuz kullanıcı deneyimi sunması.
  • Çoklu platform uygulamalar geliştirmek için tek kod tabanı.

NativeScript Eksileri

  • Uygulama boyutu Ionic'ten daha büyük.
  • NativeScript'te HTML ve DOM desteği yok.
  • Yeni olduğu için daha az örnek ve Ionic'ten daha az topluluk desteği var.

Sonuç

Her iki framework'te platformlar arası uygulama geliştirme için uygun seçenekler olduğundan, hangisinin en iyi olduğuna karar veremezsiniz. Bu sadece uygulamanın türüne, gereksinimlerine ve hedef kitlenize bağlıdır. JavaScript, HTML, CSS ve XML gibi web teknolojilerini kullanarak Android, iOS ve Windows uygulamaları geliştirebilirsiniz. Her ikisi de, farklı yaklaşımlar ve metodlar kullanarak gelişmiş cross-platform uygulamaları geliştirmenizi sağlamaktadır.

Yorumlar