Mengenal Apa Itu Dart Sebagai Multi Platform

Pada kesempatan sebelumnya kita telah mempelajari bahwa Apa itu Dart? Dan Dart ternyata digunakan untuk menulis aplikasi multi-platform. Nah, dengan menggunakan teknologi compiler yang fleksibel, memungkinkan kode Dart dapat dijalankan dengan cara yang berbeda, tergantung target platform yang dituju.

  • Dart Native : Ditujukan untuk program yang menargetkan perangkat seluler, desktopserver, dan lainnya. Dart Native mencakup Dart VM dengan kompilasi JIT (just-in-time) dan kompiler AOT (ahead-of-time) untuk menghasilkan kode mesin.
  • Dart Web : Ditujukan untuk program yang menargetkan web. Dart Web menyertakan kompiler development (dartdevc) dan kompiler production (dart2js).

apa itu dart - dart multiplatform

Dart Native (VM JIT dan AOT)

Pada Dart Native memungkinkan kode Dart dijalankan dan dikompilasi dengan kode mesin ARM atau X64 native untuk aplikasi mobiledesktop, dan server.

Dart VM dilengkapi dengan just-in-time compiler (JIT) yang mendukung interpretasi murni dan optimasi runtime. Compiler bertugas untuk mengubah bahasa high-level yang kita tulis menjadi bahasa low-level yang dimengerti oleh mesin. JIT compiler akan mengubah bahasa pemrograman yang kita tulis menjadi intermediate language atau bytecode seperti pada Java, selanjutnya instruksi ke mesin akan dilakukan hanya ketika dibutuhkan, sehingga disebut just-in-time. Metode ini akan membuat proses iterasi program menjadi lebih efisien.

Ketika aplikasi telah siap digunakan untuk production, maka kita dapat menggunakan Dart AOT compiler. Berbeda dengan JIT, AOT compilation akan mengubah bahasa high-level atau intermediate-level menjadi kode mesin pada mesin atau server sebelum aplikasi dijalankan. Kompilasi AOT akan menghasilkan rendering aplikasi yang lebih cepat dan ukuran yang lebih kecil karena kode telah dikompilasi sebelum aplikasi dijalankan.

Dart Web (JavaScript)

Pada Dart Web, kode Dart dapat dijalankan pada platform web yang didukung oleh JavaScript. Dengan menggunakan Dart Web, kode Dart akan dikompilasi ke kode JavaScript sehingga nantinya bisa berjalan di browser.

Dart Web menggunakan Dart dev compiler (dartdevc), compiler yang mengonversi kode Dart menjadi JavaScript. Tool webdev digunakan sebagai alat bantu untuk mendukung tugas inti developer seperti running, deploy, dan debugging.

Kemudian terdapat dart2js compiler yang dapat mengompilasi kode Dart dengan cepat dan ringkas untuk mengoptimalkan kode pada environment production . Dart2js menggunakan teknik yang dapat mengeliminasi kode yang tidak digunakan.

apa itu dart - native vs js

Demikian sekilas mengenai platform dari Dart dan cara kerjanya. Selanjutnya kita akan membahas mengenai persiapan apa saja yang harus dilakukan sebelum mempelajari Dart.

 

Referensi