Angular merupakan salah satu library javascript yang sangat populer untuk membangun user interface aplikasi berbasis web (web application). Dikembangkan oleh Google, Angular telah digunakan oleh banyak perusahaan kelas dunia maupun startup yang menginginkan aplikasi mereka dapat berjalan dengan smooth dan tentu saja cepat ketika diakses oleh pengguna. Berikut ini adalah beberapa faktor yang dapat dipertimbangkan mengapa memilih Angular, antara lain:
Re-usable Component
Mayoritas sebuah website terdiri atas sedikitnya tiga blok utama yaitu:
- Header: memuat menu navigasi, logo dan judul website.
- Content: memuat informasi utama yang ditujukan bagi pengguna, baik itu artikel, tabel maupun grafik.
- Footer: memuat informasi seperti copyright, link social media, nomor kontak dan sebagainya.
Nah, dari tiga blok diatas, header dan footer adalah yang jarang sekali berubah, berbeda dengan blok content yang isinya dinamis tergantung dari halaman yang sedang diakses oleh pengguna. Angular memungkinkan kita untuk membuat header dan footer menjadi komponen tersendiri dan dapat digunakan kembali (re-usable) untuk membangun halaman-halaman lainnya. Jadi misalkan Anda punya tiga halaman di website Anda: beranda.html, artikel.html dan kontak.html maka Anda hanya perlu membuat satu komponen header dan satu komponen footer untuk digunakan oleh ketiga halaman tersebut, dan jika ada perubahan (misalnya mengubah logo di header) Anda cukup mengubah di komponen itu saja.
tiga blok utama sebuah website |
Performa dan Kecepatan
Angular dilengkapi dengan dengan fitur service workers yang dapat membantu pengguna mengakses aplikasi meskipun dalam kondisi offline atau jaringan yang buruk. Selain itu juga terdapat web workers untuk menjalankan background processing tanpa membebani CPU secara berlebihan, dan yang tidak kalah menarik adalah fitur server side rendering menggunakan Angular universal untuk meningkatkan user experience ketika harus menampilkan halaman dengan data yang besar dan perhitungan yang kompleks.
Statically Typed
Berbeda dengan plain javascript, Angular menggunakan typescript sehingga membantu developer menghindari kesalahan pemograman terkait data type terutama ketika harus menulis code dalam jumlah yang cukup banyak.
Komunitas Yang Stabil
Tentu saja support dari komunitas menjadi sangat penting dalam memilih library, Angular punya fan base yang sangat besar di seluruh dunia. Tersedia banyak plugin dan design system library yang dapat digunakan untuk mempercepat proses development.
Learn Once, Write Many
Yup betul sekali, Anda hanya perlu mempelajari Angular saja untuk dapat membuat aplikasi di berbagai macam platform. Baik itu web, mobile web, desktop native dan mobile app, semua bisa dengan Angular. Khusus mobile app development, ionic adalah salah satu framework yang cukup mature dan mudah digunakan, Anda dapat membuat Android atau iOS app dengan code base yang sama tanpa harus melakukan banyak perubahan terhadap program yang Anda tulis.
Learning Curve Yang Gentle
Berdasarkan pengalaman saya, dibandingkan library populer lainnya seperti ReactJS dan Vue, Angular relatif lebih mudah dipelajari dan dipahami, khususnya bagi Anda yang sebelumnya hanya pernah menggunakan plain javascript ataupun jquery.
model binding di Angular yang lebih simpel |
Meskipun Angular punya banyak sekali keunggulan dan benefit yang ditawarkan, bukan berarti tidak ada drawback yang bisa saja menjadi pain point Anda nantinya, saya hanya akan mention salah satu pain point yang paling signifikan yaitu lifecycle yang terlalu cepat, team Angular merilis versi major beberapa kali dalam setahun dan hal tersebut pernah membuat saya kewalahan untuk terus melakukan upgrade aplikasi.
Lifecycle Rilis Angular |
Seperti yang dapat dilihat pada gambar di atas versi terbaru adalah ^13.0.0 yang dirilis tanggal 4 November 2021 padahal versi sebelumnya baru saja dirilis tanggal 12 May 2021. Dikarenakan fokus saya adalah pada healthy IT Portfolio maka mau tidak mau semua aplikasi yang menggunakan versi ^12.0.0 harus segera diupgrade ke versi ^13.0.0 sebelum 12 November 2022 atau sebelum LTS (Long Term Support) habis.
Komentar
Posting Komentar