Elm yang Sangat Elegan

posted in: Blog, Framework, Lain-lain | 0

Apa itu elm? pernah mendengarnya? Elm memang tidak begitu popular, setidaknya itu yang saya lihat di Indonesia. Walaupun sebetulnya Elm ini userbasenya semakin banyak di luar sana.

Elm merupakan bahasa pemrograman yang dirilis pada tahun 2012, mengusung paradigma functional programming dengan “Janji” nya yaitu tidak akan ada error di runtime. Itu artinya mereka berjanji bahwa aplikasi yang ditulis dengan Elm tidak akan pernah menjumpai error semisal “undefined is not a function” seperti yang sering kita jumpai di Javascript.

Lalu apakah Elm menggantikan javascript? Aku rasa tidak, Elm merupakan bahasa pemrograman yang akan ditranspile ke javascript. Akan tetapi, Elm lebih berfokus untuk pembuatan UI atau web GUI, setidaknya sampai tulisan ini dibuat.

Itu berarti, kita tidak boleh terlalu berharap dalam waktu dekat Elm bisa kita gunakan di backend stack. Karena Elm berfokus ke pembuatan UI, Elm sebetulnya bisa kita bandingkan dengan Frontend Library / Framework semisal React atau Vue.

Bahkan, salah satu state management yang terkenal di ekosistem React, yaitu Redux, memang secara langsung terinspirasi oleh Elm Architecture. Di situs resmi Redux bahkan disebutkan bahwa mempelajari Elm Architecture –meskipun hanya sepintas– akan membantu untuk memahami bagaimana cara kerja Redux.

Gimana perbandingannya dengan React atau Vue? Secara singkat karena Elm merupakan bahasa tersendiri sementara React atau Vue tetaplah javascript, maka sebetulnya tidak apple to apple. Akan tetapi karena tujuan mereka kurang lebih sama, yaitu untuk membangun UI, maka bolehlah sedikit kita bandingkan dari beberapa aspek.

  1. Elm merupakan functional programming sehingga pengguna diharapkan untuk mulai mengerti konsep-konsep FP. Sementara React atau Vue hanyalah javascript, sehingga kamu tidak akan menggunakan FP (meskipun boleh-boleh saja mencoba paradigma FP di javascript dengan tambahan effort)
  2. Untuk pemula saya rasa akan kesulitan untuk memahami Elm dibandingkan React atau Vue. Terutama karena sintaks dan paradigmanya
  3. Untuk jangka panjang Elm cukup menjanjikan, karena tadi, no runtime errors, performant dan sintaknya yang elegan.

Tidak mudah untuk membandingkannya, tapi sekilas 3 poin di ataslah yang sangat jelas di pikiran saya ketika melihat ketiga teknologi itu.

Elm ini biasanya digunakan bagi pemula yang ingin mempelajari FP. Yup, dari sekian yang berkomentar tentang Elm, mereka umumnya kesulitan jika langsung belajar Haskell atau Purescript. Sehingga bisa dikatakan di antara bahasa FP yang lainnya, Elm cenderung memiliki learning curve yang lebih landai. Tetapi umumnya orang-orang yang mempelajari Elm akan terus berlanjut entah ke Haskell atau ke Purescript tadi yang fiturnya lebih lengkap dan bukan hanya untuk UI.

Bagi saya sendiri Elm cukup menarik. Dan jika ada waktu saya rasa, Elm akan menjadi pilihan saya selanjutnya. Terutama karena janjinya dan sintaksnya yang elegan. Karena tidak hanya sintaks saja, namun Elm mengajari cara yang elegan untuk menyusun aplikasi kita, terutama dengan konsep Elm Architecturenya.

Gimana, apakah kamu penasaran dengan Elm? berikan tanggapanmu di komentar ya.

Follow Muhammad Azamuddin:

Latest posts from