Dart adalah salah satu bahasa pemrograman yang modern karena release pertama kalinya kurang lebih 10 tahun an. Dart memiliki banyak kemiripan dari sisi kode seperti bahasa pemrograman yang lain seperti Java, Kotlin, Swift, dan Typescript. Dart dibangun untuk mempermudah para developer yang ingin menggunkan Dart jadi lebih familiar bagi developer yang telah memahami bahasa pemrograman sebelumnya. Namun bagi yang baru pertama kali belajar Dart juga bisa lebih mudah dan nyaman karena banyak fitur untuk membantu proses belajarnya.

Bisa cek materi tentang Pengenalan Dart.

Ini adalah contoh kode Dart:

file_type_dartlangmain.dart
1
2
3
4
5
6
7
8
9
void main() {
    var name = 'Wisnu';
    int age = 20;

    print("Hello my name is $name and i'm $age years old");

    final total = 12 + 30;
    print(total);
}

Pada contoh kode dart diatas, jika sebelumnya sudah menguasai beberapa bahasa pastinya akan lebih familiar karena sintaks-sintaksnya hampir mirip dengan bahasa modern yang lain saat ini.

Kemudian untuk karakteristik-karakteristik Dart sendiri berikut ini:

1. Open Source #

Open Source Icon

Dart merupakan projek dari Google yang open source, yang dimana siapapun dapat melakukan kontribusi ke projek tersebut. Dart sendiri sekarang projeknya berlisensi BSD license, yang berarti semua codenya dapat Anda gunakan bebas tanpa adanya perizinan dari pemilik dan bebas juga melakukan kontribusi didalamnya.

Banyak project yang besar saat ini berasal dari open source seperti Linux, Git, Android, beberapa bahasa pemrograman dan masih banyak lagi, karena dengan adanya open source projek dapat berkembang secara pesat, biaya pengembangan murah dan juga mudah untuk dikenal orang lain/komunitas.

2. Object-Oriented Programming #

Dart itu bahasa pemrograman yang bersifat object-oriented programming(OOP) dan mendukung semua konsep yang ada di OOP seperti class, inheritence, interface, dan optional typing. Dan mendukung juga OOP tingkat lanjut seperti mixin, abstract, generic, dan juga type system yang kuat.

Banyak bahasa pemrograman modern sekarang yang memakai paradigma OOP, disamping berbagai macam manfaat/kelebihan yang dimiliki OOP seperti kode yang lebih optmial, lebih bersih (clean code) dan juga mudah untuk dikembangan.

3. Concurrency #

Concurrency Dart

Concurrency yaitu dimana suatu sistem yang dapat bekerja dan menjalankan beberapa tugas/instruksi secara bersama dalam waktu yang sama. Concurrency sangat populer semenjak adanya perkembangan prosessor yang sekarang memiliki lebih dari 1 core atau thread yang mampu berjalan secara paraller. Sekarang banyak sekali bahasa pemrograman yang telah menerapkan fitur concurrency terutama bahasa yang modern tidak terkecuali Dart ini.

Di dart concurrent memakai async dan await yang ditaruh di class Future atau Stream.

4. Type Safe #

Dart itu type safe yang artinya pada bahasa Dart semua tipe data dicek oleh compiler dart secara statik maupun secara runtime ketika program sedang berjalan, seperti pengecekan type data variable yang telah didefinisikan tidak dapat berubah type datanya baik secara statik maupun runtime.

Pada Dart, pada setiap variable itu pasti memiliki type data dan harus didefiniskan pada saat pertama kali. Akan tetapi dart sendiri sudah canggih ada beberapa kasus optional untuk mendifiniskan type data pada sebuah variable seperti keyword var.

Dengan adanya type safe ini developer jadi lebih mudah proses development karena semua tipe dapat dilihat secara jelas tanpa variable yang bias. Dan bebebrapa kesalahan manusia dapat diminilasir dengan bantuan analyzer untuk menganalisa kode kita baik secara statik maupun runtime.

5. Null Safety #

Null Safety

Null Safety yaitu sebuah keamanan dari bahasa pemrograman untuk mengatasi permasalahan variable/type data yang null, dengan membatasi semua operasi yang jelas tidak akan null dan juga nullable(kemungkinan dapat null) supaya lebih mudah dalam pengecekan.

Sebenarnya null-safety ini masih ada kaitanya dengan type-safe karena dengan adanya type-safe dapat menerapkan fitur null-safety ini, semua type data dapat terlihat jelas.

References:

Sekian materi ini, bisa lanjutin ke materi selanjutnya ya :)


Jika terdapat kesalahan penulisan, typo, atau kurang sesuai dalam penulisan, bantu Saya untuk Edit on Github.


Wisnu G. Saputra avatar

Mobile Tech Enthusiast | Software Engineer | Blogger. Penggemar Teknologi di bidang Computer Science.

Support Me
Comment: