Saya masih ingat benar, sekitar 3 tahun yang lalu, saat saya mengerjakan skripsi, dimana saat itu saya membuat aplikasi web sebagai bagian dari skripsi saya, saya sempat terpana saat mengenal dan mengetahui perkembangan dari salah satu framework Javascript saat itu, yaitu ExtJS. Saya yang sudah sangat nyaman dan terbiasa menggunakan Jquery yang dilengkapi Jquery-UI untuk berbagai project saya sampai saat itu, termasuk untuk aplikasi web skripsi tersebut, terhenti sesaat dan berharap ada waktu untuk membuat ulang aplikasi saya menggunakan ExtJS. Tampilan UI yang sangat indah dan mudah diakses dengan Web Desktopnya saat itu, banyaknya dukungan fungsi, tampilan data grid yang luar biasa, dan banyak hal lain membuat saya tergoda dengan ExtJS, tapi karena keterbatasan waktu, saya mengurungkan niat saya tersebut saat itu, tapi di satu sisi, saya yakin, apa yang dibicarakan orang saat itu, mengenai Javascript yang semakin berkembang sebagai bahasa pemrograman multifungsi, yang penggunaannya di masa depan akan semakin meluas –tetapi waktu itu saya tapi tidak percaya Javascript akan bisa menggantikan bahasa server side, karena saya anggap kurang di masalah media penyimpanan dan socket, tapi saat ini sudah dipatahkan, dengan banyaknya webDB, web socket dan adanya Node.js tentunya–, itu adalah hal yang benar .
Dan saat ini, saya semakin terpana dengan kemajuan penggunaan Javascript di aplikasi web saat ini, dengan munculnya HTML5 dan CSS3, semakin menguatkan posisi Javascript sebagai bahasa yang powerfull bagi pengembangan aplikasi web yang kaya User Experience. Lihat saja library yang saat ini tersedia di internet. Saya sampai terpana saat pertama kali mencoba menggunakan Meteor, salah seorang teman saya sampai menyebut ini sebagai next trending programming language nantinya.
Mau tahu apa saja pilihan framework Javascript yang ada? Bukan sekedar framework masa lalu seperti Jquery, Prototype, Scriptaculous, tapi framework Jquery yang bisa menggunakan konsep MVC/MV*/MVP/MVVM. Mari kita lihat beberapa yang ada di list ini, Backbone.js, Ember.js, Knockout.js, YUI, Dojo, Ext.js, Dart, GWT, Batman.js, Closure, dan akhirnya juga mungkin anda akan terbayang dengan nama Node.js, meskipun berbeda dari framework yang saya sebutkan sebelumnya karena merupakan bahasa program server side, Node.js juga bisa digunakan sebagai bukti betapa powerfullnya javascript yang akhirnya bisa digunakan sebagai aplikasi server-side utuh.
Jujur saja, saya tidak begitu ahli di bidang ini, UI design apalagi UX design, untuk orang yang selalu merasa tidak ber-“seni” seperti saya, susah rasanya untuk kreatif di bidang ini, karena itu sebenarnya saya dalam mengerjakan project-project web saya pun masih menggunakan framework tradisional yaitu Jquery, meskipun saat ini sudah memilih meninggalkan JqueryUI dan memilih menggunakan [Twitter Bootstrap][22] untuk pengaturan standar CSS/tampilan.
Kalau disuruh memilih mana yang paling baik diantara framework-framework tersebut, saya juga akan cukup kebingungan, yang sudah saya coba agak dalam mungin baru Ext.js, YUI dan Meteor, sementara yang lain baru lihat-lihat sekilas dan melihat-lihat contoh. Karena itu, lebih baik (daripada sok tahu :p) saya membagikan share dari beberapa sumber mengenai perbandingan antara framework Javascript ini : 1. http://blog.stevensanderson.com/2012/08/01/rich-javascript-applications-the-seven-frameworks-throne-of-js-2012/ 2. http://coding.smashingmagazine.com/2012/07/27/journey-through-the-javascript-mvc-jungle/ 3. http://codebrief.com/2012/01/the-top-10-javascript-mvc-frameworks-reviewed/ 4. http://www.ibm.com/developerworks/web/library/wa-jsframeworks/ 5. http://technoticles.com/2010/01/15/javascript-framework-comparison/
Dan selain itu, bila mau mencoba, perbandingan dari framework tersebut saat digunakan untuk membuat aplikasi, bisa menuju ke [link][23] dari orang luar biasa baik hati ini yang telah menyediakan waktunya untuk membuat perbandingan coding dari beberapa framework itu untuk aplikasi ToDo. Sangat menyenangkan untuk dicoba, meskipun perbedaannya bisa dibilang tidak terlalu nyata, tapi sangat bisa digunakan untuk menggambarkan paling tidak framework tersebut bisa melakukan apa.
Luar biasa, browsing sesaat yang membuat saya tersesat di dunia Javascript ini, berasa tidak tahu apa-apa dan bingung mau kemana dengan begitu cepat perubahan-perubahan ini terjadi. Untuk ke depannya saya akan mencoba untuk mempelajari lebih lanjut Meteor, Backbone,js dan GWT. Sementara ini saya paling tertarik pada ketiga bahasa itu, semoga bisa terwujud dari sekian banyak rencana belajar saya yang lain. Nantikan ulasannya ya..
[22}: http://twitter.github.com/bootstrap [23]: http://addyosmani.github.com/todomvc/