Qbs adalah sistem otomasi pembangunan agnostik berbasis komunitas. Ini cepat dan menawarkan bahasa yang mudah dipelajari berdasarkan QML.
Peluncuran Qbs 2.0, perangkat lunak sumber terbuka dan gratis lintas platform untuk mengelola proses pengembangan perangkat lunak, baru-baru ini diumumkan . Perangkat lunak ini dirancang untuk mendukung proyek-proyek besar dan kompleks yang ditulis dalam berbagai bahasa pemrograman, terutama C/C++.
Versi baru 2.0 ini signifikan dalam penomoran versinya, karena dikaitkan dengan implementasi backend JavaScript baru , yang menggantikan QtScript, yang menjadi usang di Qt 6.
Bagi yang belum familiar dengan Qbs, platform ini menggunakan versi sederhana dari bahasa QML untuk mendefinisikan skrip pembangunan proyek, memungkinkan aturan pembangunan yang cukup fleksibel yang dapat menghubungkan modul eksternal, menggunakan fungsi JavaScript, dan membuat aturan pembangunan arbitrer.
Qbs unik karena tidak memiliki mekanisme untuk pembuatan build internal, sehingga menjamin kemampuan untuk membuat beberapa build dari satu pohon kode sumber, termasuk pembuatan dari satu perintah dan secara paralel.
Ini adalah fitur kunci, yang memastikan bahwa file sumber tetap tidak terpengaruh jika direktori build dihapus dan bahwa tidak ada artefak output yang ditulis ke direktori sumber. Qt diperlukan sebagai dependensi untuk membangun Qbs, meskipun Qbs sendiri dirancang untuk mengatur perakitan proyek apa pun.
Bahasa skrip yang digunakan dalam Qbs disesuaikan untuk mengotomatiskan pembuatan dan penguraian skrip build oleh IDE. Selain itu, Qbs tidak menghasilkan makefile dan, tanpa perantara seperti utilitas make, mengontrol pelepasan kompiler dan penaut, mengoptimalkan proses pembangunan berdasarkan grafik terperinci dari semua dependensi.
Kehadiran data awal pada struktur dan dependensi dalam proyek memungkinkan Anda untuk secara efektif memparalelkan pelaksanaan operasi di beberapa utas. Untuk proyek besar yang terdiri dari sejumlah besar file dan subdirektori, kinerja pembangunan kembali menggunakan Qbs bisa beberapa kali lebih baik daripada pembuatan: pembangunan kembali hampir seketika dan tidak membuang waktu pengembang untuk menunggu.
Kebaruan utama QBS 2.0
Rilis baru QBS 2.0 ini patut diperhatikan, seperti yang disebutkan di awal, karena adanya mesin JavaScript baru yang menggantikan QtScript, yang menjadi usang untuk Qt 6, karena dianggap tidak realistis untuk terus memelihara QtScript saja karena keterkaitan yang kompleks dengan JavaScriptCore.
Prospek menjaga QtScript dengan ketergantungannya yang kompleks tampaknya tidak terlalu menarik. Namun, tidak ada kandidat yang menawarkan API untuk mencegat akses properti, sesuatu yang menurut pengembang sangat mereka butuhkan untuk alasan kinerja.
Dari sudut pandang pengguna, seharusnya tidak ada perubahan yang terlihat; khususnya, kinerjanya tampaknya hampir sama. Namun, QtScript cukup toleran dalam menerima nilai yang tidak ditentukan dalam konteks yang tidak perlu, jadi implementasi baru mungkin menemukan beberapa bug di proyek Anda.
Mesin ini sesuai dengan spesifikasi ES2019 dan secara signifikan mengungguli pesaingnya yang ada (XS sebesar 35%, DukTape lebih dari dua kali lipat, JerryScript tiga kali lipat, dan MuJS tujuh kali lipat). Dari perspektif pengembangan skrip build, transisi ke mesin baru seharusnya tidak menghasilkan perubahan yang signifikan.
Performa juga akan tetap hampir sama. Di antara perbedaannya, mesin baru ini memiliki persyaratan yang lebih ketat untuk penggunaan nilai null, yang dapat mengungkap masalah dalam proyek yang sudah ada yang tidak terdeteksi saat menggunakan QtScript.
Selain itu, disebutkan juga bahwa file proyek qmake telah dihapus, yang mengakibatkan pengurangan pekerjaan pemeliharaan bagi para pengembang.
Akhirnya disebutkan bahwa versi 2.1 akan melihat penulisan ulang kode yang menurut pengembang mereka akan memiliki beberapa fitur baru, serta peningkatan kinerja secara umum.
Jika Anda tertarik untuk mempelajari lebih lanjut, Anda dapat menemukan detailnya di tautan berikut.