Në përmbajtjen e instrumenteve për zhvillimin e aplikacioneve të ofruara nga projekti GNOME (GNOME SDK) është përfshirë kompilatorin blueprint-compiler, i cili lejon përdorimin e shenjës Blueprint për të përcaktuar ndërfaqen e aplikacioneve. Mbështetja për Blueprint në GNOME SDK do të mundësojë përdorimin e këtij gjuhe të përshkrimit të ndërfaqeve në aplikacione GNOME pa nevojën për instalim manual të varësive shtesë. Në këtë moment, Blueprint është shtuar në ndërtimet e natës të GNOME SDK dhe do të përfshihet në lëshimet, duke filluar nga edicioni vjeshtor GNOME 49.
Blueprint e thjeshton krijimin e ndërfaqeve duke përdorur bibliotekën GTK4 dhe dallohet për përdorimin e një sintaksë deklarative të thjeshtë, që përsërit modelin e widget-eve GTK, duke mbështetur shabllane, tipe dhe trajtues. Ndryshe nga formati i skedarëve ui të GTK, në Blueprint nuk përdoret shenjëzimi XML, i cili perceptohet si i ngarkuar dhe i palakmueshëm për redaktim manual.
Për integrimin me mjediset e zhvillimit të integruara dhe redaktorët e kodit, ofrohet një server LSP (Protokolli i Serverit të Gjuheve), i cili mund të përdoret për theksimin e sintaksës, analizimin e gabimeve, shfaqjen e sugjerimeve dhe plotësimin automatik të kodit. Mbështetje për Blueprint tashmë është e integruar në GNOME Builder dhe është e disponueshme si shtesa për Vim, GNU Emacs dhe Visual Studio Code. Ekziston një mjet për të thjeshtuar portimin e përcaktimeve të ndërfaqeve nga XML në Blueprint.
Falë sintaksës së lexueshme, formati Blueprint lejon që ta shmangim përdorimin e redaktorëve vizualë të specializuar për ndërfaqen. Në të njëjtën kohë, Blueprint nuk kërkon ndryshime në GTK dhe pozicionohet si një shtresë që kompilon shenjën në formatin standard të GtkBuilder XML. Funksionalitetet e Blueprint janë plotësisht të barabarta me ato të GtkBuilder, ndryshe është vetëm mënyra e paraqitjes së informacionit. Kodi i instrumenteve është shkruar në gjuhën Python dhe shpërndahet nën licencën LGPLv3. using Gtk 4.0; template $MyAppWindow: ApplicationWindow { default-width: 600; default-height: 300; title: _(«Përshëndetje, Blueprint!»); [titlebar] HeaderBar {} Label { label: bind template.main_text; } }
Burimi: opennet.ru
