Tabris JS adalah salah satu framework untuk membangun Aplikasi Native untuk Android, iOS dan Windows Mobile.

Tabris JS, seperti React Native dan NativeScript, adalah framework JavaScript untuk membangun aplikasi mobile (iOS, Android dan Windows Mobile) dengan pendekatan native bridging. Tak seperti Ionic, Onsen UI atau framwork hybrid lainnya yang memanfaatkan HTML5 dan platform Cordova sebagai bridge, Tabris JS tidak menggunakan WebView untuk UI aplikasi. Dengan demikian, utilitas DOM dan property-property-nya tak dapat digunakan di Tabris JS. Namun begitu, Tabris JS tetap merupakan pilihan yang bagus karena memberikan bebarapa keuntungan, antara lain - yang paling penting - performa aplikasi yang lebih bagus daripada hybrid, karena Tabris JS merender UI langsung di atas layer UI native milik masing-masing mobile OS, bukannya merender UI pada embedded WebView. Tabris JS memberikan UI yang terlihat lebih orisinil, karena pada tiap platform, UI Tabris JS tampil sama dengan tampilan UI native. Ini dapat juga menjadi kekurangan Tabris JS karena pada tiap platform tampilan aplikasi yang sama akan terlihat berbeda. Beberapa developer mengatakannya sebagai Inconsistent UI.

Tabris JS menggunakan JavaScript klasik (vanilla) dalam pemrogramannya, namun belakangan Tabris JS sudah merilis dukungan untuk penulisan programnya menggunakan TypeScript dan memungkinkan penulisan UI secara deklaratif dengan syntax mirip XML. Saya sendiri lebih menyukai deklarasi UI dalam JavaScript murni karena saya kurang mahir menulisnya dalam TypeScript dan XML-alike syntax. Di sisi lain TypeScript perlu di-transpile (didecode) menjadi JavaScript klasik sebelum dieksekusi di tiap platform mobile, yang menurut saya, justru mengurangi performa. Beberapa pendapat mendukung TypeScript untuk aplikasi skala besar karena adanya proteksi terhadap kesalahan yang mungkin terjadi pada JavaScript sebagai bahasa "Weak Typing". Sebagai contoh, JavaScript mengenal tipe number, namun tidak ada pemeriksaan apakah number ini adalah float (bilangan pecahan) atau integer. Pendapat ini ada benarnya, namun saya tidak peduli untuk saat ini. Toh, di situ lah kita akan belajar berhati-hati dan disiplin dalam menulis kode, kan?

Saat tulisan ini ditulis, Tabris JS telah mencapai versi 2.5.1 dengan beragam fitur. Kita akan melihat fitur-fitur ini nanti. Untuk saat ini kita cukup membahas tentang Tabris JS secara umum saja.

Getting Started

Silahkan baca tulisan tentang Membangun Aplikasi Pertama Dengan Tabris JS sebagai langkah awal.