Qbs ialah sistem automasi binaan agnostik yang dipacu komuniti. Ia pantas dan menawarkan bahasa yang mudah dipelajari berdasarkan QML.
Pelancaran Qbs 2.0, perisian lintas platform percuma dan sumber terbuka untuk mengurus proses pembangunan perisian, telah diumumkan baru-baru ini . Ia direka bentuk untuk menyokong projek besar dan kompleks yang ditulis dalam pelbagai bahasa pengaturcaraan, terutamanya C/C++.
Versi baharu 2.0 adalah penting dari segi nombor versinya, kerana ia dikaitkan dengan pelaksanaan backend JavaScript baharu , yang menggantikan QtScript, yang menjadi usang dalam Qt 6.
Bagi mereka yang tidak biasa dengan Qbs, ia menggunakan versi bahasa QML yang dipermudahkan untuk menentukan skrip binaan projek, yang membolehkan peraturan binaan yang agak fleksibel yang boleh menyambungkan modul luaran, menggunakan fungsi JavaScript dan mencipta peraturan binaan sewenang-wenangnya.
Qbs adalah unik kerana ia tidak mempunyai mekanisme untuk binaan dalaman, menjamin keupayaan untuk mencipta berbilang binaan daripada satu pokok sumber, termasuk membina daripada satu pemanggilan arahan dan secara selari.
Ini merupakan ciri utama, memastikan fail sumber kekal tidak terjejas jika direktori binaan dipadam dan tiada artifak output ditulis ke direktori sumber. Qt diperlukan sebagai kebergantungan untuk membina Qbs, walaupun Qbs itu sendiri direka bentuk untuk mengatur pemasangan sebarang projek.
Bahasa skrip yang digunakan dalam Qbs disesuaikan untuk mengautomasikan penjanaan dan penghuraian skrip binaan oleh IDE. Tambahan pula, Qbs tidak menjana fail make dan, tanpa perantara seperti utiliti make, mengawal keluaran penyusun dan pemaut, mengoptimumkan proses binaan berdasarkan graf terperinci semua kebergantungan.
Kehadiran data awal pada struktur dan kebergantungan dalam projek membolehkan anda menyelaraskan pelaksanaan operasi dalam beberapa utas dengan berkesan. Untuk projek besar yang terdiri daripada sejumlah besar fail dan subdirektori, prestasi bina semula menggunakan Qbs boleh menjadi beberapa kali lebih baik daripada membuat: binaan semula hampir serta-merta dan tidak membuang masa pembangun menunggu.
Kebaharuan utama QBS 2.0
Keluaran baharu QBS 2.0 ini penting, seperti yang dinyatakan pada mulanya, kerana enjin JavaScript baharu yang menggantikan QtScript, yang menjadi usang untuk Qt 6, kerana dianggap tidak realistik untuk terus menyelenggara QtScript sahaja disebabkan oleh pengikatan yang kompleks pada JavaScriptCore.
Prospek untuk mengekalkan QtScript dengan kebergantungan kompleksnya nampaknya tidak begitu menarik. Walau bagaimanapun, kedua-dua calon tidak menawarkan API untuk memintas akses harta benda, sesuatu yang dikatakan pembangun sangat diperlukan atas sebab prestasi.
Dari sudut pandangan pengguna, seharusnya tidak ada perubahan yang ketara; khususnya, prestasi nampaknya hampir sama. Walau bagaimanapun, QtScript agak berlembut dalam menerima nilai yang tidak ditentukan dalam konteks yang tidak perlu, jadi pelaksanaan baharu mungkin mendedahkan beberapa pepijat dalam projek anda.
Enjin ini mematuhi spesifikasi ES2019 dan jauh mengatasi rakan sejawatnya yang sedia ada (XS sebanyak 35%, DukTape lebih daripada dua kali ganda, JerryScript sebanyak tiga kali ganda dan MuJS sebanyak tujuh kali ganda). Dari perspektif pembangunan skrip binaan, peralihan kepada enjin baharu tidak sepatutnya menghasilkan sebarang perubahan yang ketara.
Prestasi juga akan kekal hampir sama. Antara perbezaannya, enjin baharu ini mempunyai keperluan yang lebih ketat untuk penggunaan nilai nol, yang mungkin mendedahkan isu dalam projek sedia ada yang tidak disedari semasa menggunakan QtScript.
Di samping itu, disebut juga bahawa fail projek qmake telah dialih keluar, yang mengakibatkan pengurangan kerja penyelenggaraan untuk pembangun.
Akhirnya disebutkan bahawa versi 2.1 akan melihat penulisan semula kod yang mana pembangun menganggap bahawa mereka akan mempunyai beberapa ciri baharu, serta peningkatan prestasi umum.
Jika anda berminat untuk mengetahui lebih lanjut, anda boleh mendapatkan butiran lanjut di pautan berikut.