React Native VS Native Script

React Native VS Native Script

 

React Native adalah kerangka kerja yang membangun sepadan dengan komponen UI untuk membangun kode JavaScript. React Native juga memiliki seperangkat komponen untuk platform iOS dan Android untuk membangun aplikasi seluler dengan tampilan dan nuansa asli. Disisi lain, React JS adalah pustaka JavaScript open source untuk membuat antarmuka pengguna. Namun, React Native dan ReactJS dikembangkan oleh Facebook menggunakan prinsip-prinsip desain yang sama, kecuali merancang antarmuka (interfaces).

Sedangkan NativeScript adalah kerangka kerja untuk membangun aplikasi seluler bawaan lintas platform. Ini memungkinkan pengembang untuk menggunakan XML, CSS dan JavaScript untuk membangun aplikasi untuk Android, iOS, dan bahkan Windows Universal Platform. Tidak seperti Cordova, yang menggunakan WebView untuk merender UI aplikasi, NativeScript menggunakan mesin rendering platform asli, yang berarti bahwa itu memberikan pengalaman pengguna yang benar-benar asli.

 

Kelebihan dan kekurangan React Native :

Kelebihan React Native

  1. JavaScript
    JavaScript merupakan salah satu bahasa pemrograman yang paling banyak digunakan oleh developer di dunia. Dengan begitu kita akan sangat mudah untuk mempelajari JavaScript karena komunitas yang sudah besar dan juga kita mempunyai banyak tempat untuk bertanya ketika kita mengalami kebingungan.

  2. Code Sharing
    Sebagian codebase yang kamu tulis itu bisa kita gunakan untuk platform berbeda (Android dan iOS). Dengan begitu untuk hal – hal yang mendasar jika kita memiliki fungsi – fungsi umum yang tidak bersentuhan langsung dengan komponen yang berbeda platform ini kita bisa kita gunakan codebase tersebut.

  3. Comunity
    React Native ini cukup diminati oleh para developer di dunia, hal ini dapat kita lihat di repository github React Native yang sudah sangat banyak.

Kelemahan React Native

  1. Components
    Untuk mengembangkan aplikasi mobile dengan react native kita harus banyak memahami Components dari masing – masing platform. Dikarenakan android dan ios ini memiliki arsitektur yang berbeda dengan begitu Components Native dari masing – masing platform masih terbatas. Untuk itu jika kita ingin menggunakan komponen yang belum ada maka kita harus membuatnya sendiri. DImana dengan begini masih belum bisa dilakukan oleh pemula.

  2. JavaScript
    JavaScript ini juga menjadi salah satu kelemahan dari react native, karena javascript berkembang begitu cepat yang mengakibatkan beberapa hal tidak bisa dilakukan dengan perubahan yang begitu cepat.

  3. Framework
    Framework React Native juga menjadi kelemahan, sama halnya dengan javascript, perubahan yang begitu cepat mengakibatkan ketika kamu mengupdate react native ke versi yang baru untuk versi yang lama ada beberapa yang tidak bisa kamu gunakan.

  4. Platform
    Bagi para developer mobile, device yang digunakan dalam proses pengembangan mobile app harus sangat memadai. Contohnya saja ketika Anda akan membuat aplikasi mobile menggunakan React Native untuk iOS, Anda memerlukan MacBook karena ekosistem dari iOS ini semua harus menggunakan produk dari Apple.

  5. Performance
    Untuk performance juga masih menjadi perdebatan di kalangan developer, ada yang mengatakan performance dari React Native cukup bagus dan ada yang mengatakan kurang bagus juga.

Kelebihan Native Script

  • Aplikasi ini gratis dan open source. Ini berarti Anda dapat berkontribusi pada kode dan menggunakannya sesuai keinginan Anda, selama Anda tidak melanggar lisensi Apache 2.0.

  • Memungkinkan Anda dapat membangun aplikasi asli untuk perangkat Android dan iOS. Setiap komponen UI yang dipaparkan NativeScript diterjemahkan ke dalam komponen UI asli yang sesuai.

  • Memungkinkan Anda mengakses API platform asli melalui kode JavaScript. Anda tidak perlu memiliki pengetahuan tentang Java atau Objective-C untuk menggunakan API platform asli karena Anda dapat menulis semuanya dalam JavaScript. Ini berarti bahwa jika Anda perlu mengakses fitur perangkat tertentu, Anda bisa belajar cara mengakses API asli dengan JavaScript dan Anda siap melakukannya.

  • Memberi pengguna pengalaman yang lebih dekat dengan yang asli daripada yang disediakan oleh kerangka kerja aplikasi seluler hybrid seperti Cordova.

  • Memungkinkan pengembang untuk dengan mudah membangun, menyebarkan, dan mengelola aplikasi NativeScript mereka melalui platform Telerik. Saya akan membahas Platform Telerik lebih lanjut di bagian selanjutnya.

  • Memiliki dukungan nol hari untuk platform asli baru. Ini berarti Anda dapat segera menggunakan API asli dan komponen UI terbaru setiap kali Google atau Apple memperbarui platform mereka.

  • Dokumentasi menyediakan banyak informasi tentang cara memulai, konsep inti, dan antarmuka pengguna. Ada juga contoh, tutorial, forum, pertanyaan Stack Overflow, dan contoh aplikasi yang dapat membantu pemula memulai dengan NativeScript.

  • Anda dapat menulis aplikasi NativeScript Anda dengan TypeScript. TypeScript adalah bahasa yang mentransformasikan ke JavaScript dan menambahkan kemampuan pemrograman berorientasi objek ke JavaScript.

  • Pustaka JavaScript apa pun yang dapat Anda temukan di npm yang tidak bergantung pada browser dan DOM dapat digunakan dalam NativeScript. Contoh perpustakaan seperti itu termasuk perpustakaan utilitas seperti lodash dan garis bawah.

  • Anda dapat melakukan hampir semua hal dengan NativeScript CLI. Dasar-dasar seperti membuat proyek baru, menambahkan platform, berjalan pada perangkat dan menyebarkan ke platform tertentu semuanya termasuk. Selain itu, Anda juga dapat menginstal plugin, men-debug aplikasi, dan mengunggah ke toko aplikasi.

Kekurangan Native Script

  • Tidak ada HTML dan DOM di NativeScript. Anda harus belajar cara menggunakan komponen UI yang berbeda untuk membangun UI aplikasi.

  • Plugin yang diverifikasi kurang. Pada saat penulisan artikel ini, hanya ada 16 plugin yang diverifikasi secara total. Meskipun ada banyak plugin NativeScript yang terdaftar di npm, Anda tidak akan pernah bisa memastikan kualitasnya.

  • Pengembang perlu mengetahui Android asli dan iOS API untuk mengakses perangkat keras perangkat dan fitur khusus platform lainnya.

  • Karena sifat aslinya, Anda hanya dapat menguji aplikasi pada perangkat aktual atau emulator. Ini membuat pengaturan awal untuk pengujian lebih lambat. Tapi begitu Anda menjalankannya di perangkat, pemuatan ulang panas mengambil alih. Ini berarti bahwa setiap kali Anda membuat perubahan pada kode sumber, itu segera memuat ulang aplikasi untuk mencerminkan perubahan.

  • Tidak semua komponen UI tersedia secara gratis. Anda perlu membeli Telerik UI untuk NativeScript jika Anda ingin menggunakan komponen seperti grafik dan kalender.

Jika Anda bukan orang baru dalam pengembangan aplikasi seluler hybrid, Anda mungkin menemukan kerangka kerja seperti Cordova dan React Native. NativeScript terkait dengan dua kerangka kerja ini karena keduanya bertujuan untuk menyelesaikan masalah 'Tulis sekali, jalankan di mana saja' di bidang pengembangan aplikasi seluler. Sekarang mari kita lihat setiap kerangka berdampingan:

 

 

Cordova

React Native

NativeScript

Creator

Nitobi; Kemudian dibeli oleh Adobe Systems

Facebook

Telerik

UI

HTML

Komponen UI diterjemahkan ke mitra asli mereka

Komponen UI diterjemahkan ke mitra asli mereka

Dapat menguji pada

Browser, emulator, perangkat

Emulator, perangkat

Emulator, perangkat

Kode dengan

HTML, CSS, JavaScript

UI komponen, JavaScript, subset dari CSS

Komponen UI, subset dari CSS, JavaScript

Akses fungsionalitas asli

Melalui plugin

Native modules

Akses API Native melalui JavaScript

Digunakan untuk

Android, iOS, Ubuntu, Windows, OS X, Blackberry 10

Android dan iOS. Windows Universal dan Samsung Tizen segera

Android dan iOS. Windows Universal segera

JavaScript library dan framework

Pustaka atau kerangka kerja front-end (mis. Angular, Ember)

Pustaka apa pun yang tidak bergantung pada browser

Pustaka apa pun yang tidak bergantung pada browser

Pola pengkodean

Kerangka kerja front-end dapat digunakan untuk menyusun kode

Markup UI, JavaScript, dan CSS disatukan dalam satu file secara default

MVVM/MVC pattern

Bagaimana kode JavaScript dijalankan

WebView

JavaScriptCore mesin mengeksekusi kode aplikasi pada Android dan iOS

WebKit JavaScriptCore mesin mengeksekusi kode app pada iOS dan mesin V8 JavaScript Google Android


 

Sumber:

https://medium.com/@thinkwik/react-native-what-is-it-and-why-is-it-used-b132c3581df

https://code.tutsplus.com/id/articles/an-introduction-to-nativescript--cms-26771

https://belajaritmudah.wordpress.com/kelebihan-dan-kekurangan-react-native/