Pengembangan dan Evaluasi Language Server untuk Bahasa Templating Blade
Abstract
Bantuan pengeditan untuk Blade yang disediakan oleh Laravel terkadang tidak melaporkan kesalahan secara tepat, yang menyebabkan pengalaman pengembang yang tidak memadai. Bantuan yang memadai pun hanya tersedia di editor tertentu yang mengharuskan pengembang membeli lisensi dengan harga yang tidak sedikit dan hanya dapat dipakai melalui antarmuka grafis. Oleh karena itu, penelitian ini mengembangkan language server untuk Blade bernama `blase` dengan pendekatan Design Science Research yang bertujuan untuk menyediakan bantuan pengeditan dalam bentuk pewarnaan sintaks, pelaporan kesalahan, dan layanan navigasi basis kode untuk editor mana saja yang mendukung Language Server Protocol tanpa peduli bagaimana antarmuka ditampilkan. Hasil evaluasi menemukan bahwa waktu respon language server masuk dalam kategori _instantaneous_ menurut taksonomi waktu respon Seow dan tiga dari enam fitur memiliki waktu respon lebih cepat dibandingkan dengan Intelephense. Kemudian, dilakukan user study yang melibatkan 10 pengembang dengan latar belakang yang beragam dan
mengonfirmasi bahwa _language server_ yang dikembangkan meningkatkan pengalaman pengembang. Kode sumbernya tersedia secara terbuka dan rilis siap unduh tersedia di https://github.com/bramadityaw/blase. Editing support for Blade that is provided with Laravel sometimes does not report errors accurately, which results in poor developer experience. Adequate editing support is only available in certain editors that require developers to buy a license with a substantial amount of money and can only be used through a graphical interface. To solve this, this study develops a language server for Blade called `blase` using Design Science Research, which aims to provide editing support in the form of syntax highlighting, error diagnostics and codebase navigation services to any editor that supports the Language Server Protocol regardless of how the user interface is displayed. Results of the evaluation phase found that the language server's response times are instantaneous according to Seow's taxonomy of response times and three of six features outperforms Intelephense. A user study is then conducted involving 10 developers of varying backgrounds and confirms that the language server improves developer experience. The code is open source and pre-built releases are available for download at https://github.com/bramadityaw/blase.

