Nadchodzi nowa wersja systemu kompilacji QBS 2.0

QbS

Qbs to oparty na społeczności, niezależny od języka system automatyzacji kompilacji. Jest szybki i oferuje łatwy do nauczenia się język oparty na QML.

Ostatnio ogłoszono wydanie nowej wersji Qbs 2.0, które jest darmowym i wieloplatformowym oprogramowaniem typu open source do zarządzania procesem tworzenia oprogramowania. Został zaprojektowany do obsługi dużych i złożonych projektów, napisanych w różnych językach programowania, głównie C/C++.

Nowa wersja Wersja 2.0 jest znacząca w numerze wersji, ponieważ wiąże się z wdrożeniem nowego backendu JavaScript., który zastąpił QtScript, który był przestarzały w Qt 6.

Dla tych, którzy nie są świadomi Qbs, powinni wiedzieć, że to używa uproszczonej wersji języka QML do definiowania skryptów budowania projektu, co pozwala na zdefiniowanie dość elastycznych reguł budowania, w których można podłączać zewnętrzne moduły, używać funkcji JavaScript i tworzyć dowolne reguły budowania.

Qbs jest wyjątkowy pod tym względeme nie posiada żadnego mechanizmu wewnętrznych zestawień, zapewnienie możliwości tworzenia wielu kompilacji z jednego drzewa źródłowego, w tym budowania z jednego wywołania polecenia i równolegle.

Jest to kluczowa cecha, która zapewnia, że ​​usunięcie katalogu kompilacji nie wpłynie na pliki źródłowe oraz że żadne artefakty wyjściowe nie są zapisywane w katalogu źródłowym. Aby zbudować Qbs, Qt jest wymagane jako zależność, chociaż sam Qbs jest przeznaczony do organizowania montażu dowolnego projektu.

Język skryptowy używany w Qbs jest dostosowany do automatyzacji generowania i analizowania skryptów kompilacji przez IDE. Co więcej, Qbs nie generuje plików makefile i bez pośredników, takich jak narzędzie make, kontroluje wydawanie kompilatorów i linkerów, optymalizując proces kompilacji w oparciu o szczegółowy wykres wszystkich zależności.

Obecność początkowych danych o strukturze i zależnościach w projekcie pozwala na efektywne zrównoleglenie wykonywania operacji w kilku wątkach. W przypadku dużych projektów składających się z dużej liczby plików i podkatalogów wydajność przebudowy przy użyciu Qbs może być kilka razy lepsza niż make: przebudowa jest prawie natychmiastowa i nie marnuje czasu programisty na czekanie.

Główne nowości QBS 2.0

To nowe wydanie QBS 2.0 jest godne uwagi, jak wspomniano na początku, ze względu na nowy silnik JavaScript, który ma zastąpić QtScript który został uznany za przestarzały w Qt 6, ponieważ uznano za nierealne dalsze wspieranie samego QtScript ze względu na złożone powiązania z JavaScriptCore.

Perspektywa zachowania QtScript z jego złożoną zależnością nie wydawała się szczególnie atrakcyjna. Jednak żaden z kandydatów nie zaoferował interfejsu API do przechwytywania dostępu do właściwości, co zdaniem programistów jest absolutnie potrzebne ze względu na wydajność.

Z punktu widzenia użytkownika nie powinno być zauważalnych zmian; w szczególności wydajność wydaje się być mniej więcej taka sama. Jednak QtScript był dość pobłażliwy w akceptowaniu niezdefiniowanych wartości w kontekstach, w których nie musiał, więc nowa implementacja może wykryć pewne błędy w twoich projektach.

Silnik jest zgodny ze specyfikacją ES2019 i znacznie przewyższa pod względem wydajności swoich obecnych odpowiedników (XS o 35%, DukTape ponad dwukrotnie, JerryScript trzykrotnie i MuJS siedem razy). Z punktu widzenia tworzenia skryptu kompilacji przejście na nowy silnik nie powinno powodować zauważalnych zmian.

Wydajność również pozostanie mniej więcej taka sama. Wśród różnic w nowym silniku są bardziej rygorystyczne wymagania dotyczące używania wartości pustych, co może ujawnić problemy w istniejących projektach, które pozostały niezauważone podczas korzystania z QtScript.

Oprócz tego wspomina się również, że usunięto pliki projektu qmake, co skutkowało zmniejszeniem prac konserwacyjnych dla programistów.

Na koniec wspomniano, że w wersji 2.1 zostanie przepisany kod, z którym programiści zakładają, że będą miały kilka nowych funkcji, a także ogólne ulepszenia wydajności.

Jeśli chcesz dowiedzieć się więcej na ten temat, możesz zapoznać się ze szczegółami W poniższym linku.


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.