The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Представлен Blueprint - новый язык построения пользовательских интерфейсов для GTK

05.12.2021 15:30

Джеймс Вестман (James Westman), разработчик приложения GNOME Maps, представил новый язык разметки Blueprint, предназначенный для построения интерфейсов с использованием библиотеки GTK. Код компилятора для преобразования разметки Blueprint в ui-файлы GTK написан на языке Python и распространяется под лицензией LGPLv3.

В качестве причины создания проекта называется привязка применяемых в GTK ui-файлов описания интерфейса к формату XML, который перегружен и неудобен для написания или редактирования разметки вручную. Формат Blueprint отличается наглядностью представления информации и благодаря читаемому синтаксису даёт возможность обойтись без применения специализированных визуальных редакторов интерфейса при создании, редактировании и оценке изменений в элементах интерфейса.

При этом Blueprint не требует внесения изменений в GTK, полностью повторяет модель виджетов GTK и позиционируется как надстройка, компилирующая разметку в штатный для GtkBuilder формат XML. Функциональные возможности Blueprint полностью соответствуют GtkBuilder, отличается лишь метод представления информации. Для перевода проекта на Blueprint достаточно добавить вызов blueprint-compiler в сценарий сборки без изменения кода.


   using Gtk 4.0;

   template MyAppWindow : Gtk.ApplicationWindow {
     title: _("My App Title");

     [titlebar]
     HeaderBar header_bar {}

     Label {
       styles ["heading"]
       label: _("Hello, world!");
     }
   }

Кроме компилятора в штатный XML-формат GTK в разработке также находится плагин с поддержкой Blueprint для интегрированной среды разработки GNOME Builder. Отдельно развивается LSP-сервер (Language Server Protocol) для Blueprint, который можно будет использовать для подсветки, анализа ошибок, вывода подсказок и автодополнения кода в поддерживающих LSP редакторах кода, включая Visual Studio Code.

Из планов по развитию Blueprint отмечается добавления в разметку элементов реактивного программирования, реализуемого с использованием класса Gtk.Expression, предоставляемого в GTK4. Предлагаемый метод более привычен для разработчиков web-интерфейсов на JavaScript и позволяет добиться автоматической синхронизации представления интерфейса со связанной моделью данных, без необходимости принудительного обновления пользовательского интерфейса после каждого изменения данных.

  1. Главная ссылка к новости (https://www.jwestman.net/2021/...)
  2. OpenNews: Доступна GUI-библиотека SixtyFPS 0.1.0, развиваемая бывшими разработчиками Qt
  3. OpenNews: Выпуск графического тулкита GTK 4.0
  4. OpenNews: Представлен Cambalache, новый инструмент разработки GTK-интерфейсов
  5. OpenNews: Выпуск графического тулкита GTK 4.4
  6. OpenNews: Рабочий стол Budgie переходит с GTK на библиотеки EFL от проекта Enlightenment
Лицензия: CC BY 3.0
Наводку на новость прислал Аноним
Короткая ссылка: https://opennet.ru/56283-blueprint
Ключевые слова: blueprint, gtk
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (108) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 15:39, 05/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +30 +/
    Внешне выглядит как пародия на QML.
     
     
  • 2.2, proninyaroslav (ok), 15:50, 05/12/2021 [^] [^^] [^^^] [ответить]  
  • +7 +/
    GTK давно было пора иметь подобную пародию. QML очень даже неплох.
     
     
  • 3.3, Аноним (3), 15:58, 05/12/2021 [^] [^^] [^^^] [ответить]  
  • +19 +/
    Безусловно. Но в GNOME это будет сделано криво, с половиной запланированных фич и с постоянной поломкой сделанного в новых релизах.

    Мы говорим о DE, в которой нормальной поддержки тем нет. Хотя её делали дважды. И дважды выкидывали. И сейчас героически делают в третий раз.

     
     
  • 4.4, leibniz (??), 16:01, 05/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    В KDE что ли есть нормальная поддержка тем? Ну-ну.
     
     
  • 5.8, Аноним (8), 16:04, 05/12/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    В кде всегда были проблемы только с гтк3 темами. В том же жырнолисе при задании тёмной темы невидимый текст.
     
     
  • 6.59, AleksK (ok), 22:11, 05/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Попробуй сделать в кедах что-то наподобие orchis без замены штатного движка тем
     
     
  • 7.106, Аноним (106), 17:37, 06/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    А зачем? Оно же уродское.
     
     
  • 8.111, AleksK (ok), 18:48, 06/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Просто как иллюстрация возможностей штатного движка тем ... текст свёрнут, показать
     
  • 5.9, Аниме (?), 16:05, 05/12/2021 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Да
     
     
  • 6.114, Аноним (114), 07:38, 07/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    головка от гуя
     
  • 5.49, ммнюмнюмус (?), 20:23, 05/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    там даже движки поддерживаются на полную катушку, а вы о темах
    aurorae + kvantum и делайте че угодно (про плазма-темы даже не заикаюсь, если плазма считается).
     
     
  • 6.84, Простоник (ok), 09:33, 06/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Вот именно, так и есть! Причем даже на windows, всё это выглядит очень аккуратно.
     
  • 5.50, ммнюмнюмус (?), 20:25, 05/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    А ещё в qt5ct можно написать свой css (только тсс - я не сильно пробовал).
     
  • 5.83, Простоник (ok), 09:27, 06/12/2021 [^] [^^] [^^^] [ответить]  
  • +4 +/
    В КДЕ есть нормальная поддержка тем, а вот в GNOME темы как раз пытаются противоестественным образом ликвидировать и запретить.
     
  • 4.100, Аноним (100), 13:46, 06/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    В кедах до сих пор не могут починить прозрачность при вкюченном размытие в темах с закругленными углами. Дакуча всяких недоделок там, как только начинаешь настраивать под себя начинают вылезать баги.
     
  • 3.6, Аноним (8), 16:03, 05/12/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Так один QML уже есть, я ещё удивлён, что из него сделали что-то относительно вменяемое в кедах (сколько лет на это ушло?). Пародия будет ещё хуже. Но скажу честно меня это не затрагивает, у меня нет и никогда не будет гтк софта (во всяком случае покуда на этом тулките не начнут появляться приличные программы, вероятность чего убывает с каждым днём). Я бы и сам гтк удалил, если бы не диалоги в юнити и не браузеры.
     
     
  • 4.10, Аноним (114), 16:06, 05/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > диалоги в юнити и не браузеры
    > у меня нет и никогда не будет гтк софта

    что ты заливаешь?

     
     
  • 5.12, Аноним (8), 16:11, 05/12/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Меня не спрашивали. До сих пор бы собирал фф с гтк2, если бы его поддержку не поломали. В юнити это только стандартный диалог выбора разрешения и биндов, в браузере только файловые диалоги (а порталы не лучше и всё равно завязаны на гном, нужно патчить). И в браузерах свои тулкиты, зачем они так упорно гтк волочат?
     
     
  • 6.62, Аноним (62), 22:56, 05/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Пользуйся Falkon.
     
  • 4.21, Аноним (21), 17:05, 05/12/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > у меня нет и никогда не будет гтк софта
    > Я бы и сам гтк удалил, если бы не диалоги в юнити и не браузеры.

    Какое лицемерие :) Всё-таки есть у тебя гтк-софт, от которого ты никогда не сможешь отказаться, ибо на кутэ никогда такого не напишут.

     
     
  • 5.26, Аноним (8), 17:34, 05/12/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Какой это И почему не напишут Ну, пиджин получше кутешных недоделок, но он тож... большой текст свёрнут, показать
     
  • 5.31, Аноним (8), 17:51, 05/12/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Нет, серьёзно, какие программы на гтк? Тот же браузер совсем не на гтк, кутэвебэнжин от гтк не зависит совершенно и собирается из одних исходников. Я не вижу ни одной гтк-программы, которую было бы сложно написать на кутях. И о каких преимуществах гтк речь? Одни недостатки, то трей отломают, то хоткеи, то контекстные меню.
     
     
  • 6.44, Alucard (??), 19:15, 05/12/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Странно, но пользуюсь гтк и сижу на гноме уже не первый год, и чето не отваливается нечего... может дело в прослойке между елавай и мониеом?)) А вот перед ним пытался на qtах сидеть  и вот  там, все по кд отваливалось)) странность конечно, но все же) несколько раз пробовал qtы, но исход один.
     
     
  • 7.47, Аноним (8), 19:34, 05/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Дело действительно в прослойке, я вот сижу на них всех не первое десятилетие и видел всякое, вполне могу судить. Кеды не то чтобы без проблем всегда были, но никогда не ломали мне буфер выделения например -- это та функция, без которой я работы с ПК не представляю. Уже ощущение, что каждое МИНОРНОЕ обновление гтк что-нибудь отваливается и ломается.
     
  • 6.45, Alucard (??), 19:17, 05/12/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Странно, но пользуюсь гтк и сижу на гноме уже не первый год, и чето не отваливается нечего... может дело в прослойке между елавай и мониеом?)) А вот перед ним пытался на qtах сидеть  и вот  там, все по кд отваливалось)) странность конечно, но все же) несколько раз пробовал qtы, но исход один.
     
  • 5.51, ммнюмнюмус (?), 20:30, 05/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Чисто для примера - использую zathura для pdf. Выглядит как обёртка для кучи всего типа mupdf, с интерфейсом в стиле vim. Но ведь на gtk3 жеж :-/ . Хотя скорость взлёта от этого не сильно страдает.
     
  • 5.63, Аноним (62), 22:58, 05/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    >ибо на кутэ никогда такого не напишут

    Ты про Firefox? Зато его под Wine давно написали.

     
  • 5.107, Аноним (106), 17:40, 06/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    А вот прикинь - нету. Вообще gtk нет. И прекрасно.

    Или ты мне про браузер будешь заливать? Так он у меня на Qt. Один из оствшихся вменяемых.

     
  • 3.46, Тот_Самый_Анонимус (?), 19:31, 05/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    >GTK давно было пора иметь подобную пародию. QML очень даже неплох.

    ГТК пора на помойку. Когда джини перешёл на гтк3 — то пал последний бастион. Это была единственная программа на гтк, которая выглядела прилично. Теперь все актуальный версии всех программ на гтк выглядят уродливо. Этакая кунсткамера в мире ПО.

    Как говорится, «кашу маслом не испортишь», но и гогно маслом не улучшишь.

     
     
  • 4.53, ммнюмнюмус (?), 20:44, 05/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    На Адвайте что-ли? Только не надо про уродство тем, возможностей CSS там достаточно.
    Может и тормоз, но вполне красивый (ещё говорят смазливый), особенно если времени на тему не пожалеть (поискать готовую или самому запилить).
    Raleigh - окаменелость по сравнению с Адвайтой.
     
  • 4.122, ммнюмнюмус (?), 19:09, 11/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Интересно, когда в gtk2 завезут связанный стиль для кнопок и прочих рамок?
    Даже без изменения основного стиля - склеивание кнопок делает гуй намного опрятнее.
    Жаль только, склеивание в 2d пока только через одно места (в адвайте нет - надо самому писать через вложенные боксы).
     
  • 2.105, Аноним (106), 17:36, 06/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Так и есть. Только сейчас доросли.

    Хотя не считаю QML удобным. Дизайнер в Qt Creator позволяетс соершенно легко работать с нормальными виджетами и С++ кодом.

     

  • 1.11, Имя (?), 16:09, 05/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    Херня какая-то уровня sed скрипта с заменой угловых скобок на пробелы и переносы строки — ну не нравится чуваку xml, хорошо что не yaml хоть выбрал, только толку от этого тулкиту и экосистеме?
     
     
  • 2.13, tty0 (?), 16:12, 05/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Он слишком для него многословен, но то что HTML 😄
     
     
  • 3.28, имя_ (?), 17:45, 05/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    хтмл божественен
     
     
  • 4.35, Аноним (35), 18:30, 05/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    ... для нурглитов.
     
     
  • 5.43, имя_ (?), 19:14, 05/12/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    хтмл - как язык разметки - не доставляет вообще никаких проблем. Проблемы появляются из-за лишних "слоев абстракции" при написании стилей
     
     
  • 6.112, Урри (ok), 21:48, 06/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    То-то все используют pug (бывший jade) и другие генераторы.

    Видимо HTML настолько прекрасен, что на него невозможно прямо смотреть не ослепнув от великолепия.

     
  • 2.14, гомогейшигори (?), 16:12, 05/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Как это какой толк? Чем гном более БЛОАТЕД - тем лучше. Разве не для этого его пилят?
     
     
  • 3.113, Аноним (100), 22:20, 06/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Очередной троль который гном в глаза не видел, гном у него блоатед...
     
  • 2.29, Анонимъ (?), 17:48, 05/12/2021 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Если кому-то не нравится xml - это нормальный адекватный человек.
     
     
  • 3.115, 1 (??), 10:20, 07/12/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Наверное он просто еще не трахался с пробелами, названиями некоторых стран и булевыми значениями в yaml. И не задумывался о там как собственно проверять документ по схеме.

    После вышеозначенных действий пациент приходит к пониманию, что XML как формат пусть и не моден, но работает.

     

  • 1.16, Аноним (16), 16:21, 05/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Наверное, он лучше, чем Elm.
     
  • 1.17, Зз (?), 16:23, 05/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    Столько грязи некомпетентной в коментах понаписали, а тульчик-то что надо!
    Запилили бы инсталятор.msi под винду на подобие QtCreator-a, назвали бы его GnomeCreator, чтобы всё под ключ собирал по нажатию кнопки "билд".
    И вот увидите, птичка запоет " Гном лууучшииий!! ", " КДЕ ниработает!! "
     
     
  • 2.27, prokoudine (ok), 17:34, 05/12/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Ещё раз придумать https://wiki.gnome.org/Apps/Builder ?
     
     
  • 3.41, Зз (?), 18:59, 05/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Под виндоус нужно, под виндоус! Чтобы любой студент мог скачать инсталлер, скопипастить код с хабрахабра, и нажать на зелёный треугольник.
     
     
  • 4.88, Простоник (ok), 10:20, 06/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    При переходе от gtk2 к gtk3  перестали делать сборки для win, испортили  
    usability  для парочки виджетов, раздули механизмы отрисовки виджетов,  так что некоторые разработчики уже смигрировали на qt. Боюсь, что тут уже мало чем можно исправить ситуацию. GTK по всем параметрам проигрывает QT.
     
     
  • 5.121, Андрей (??), 13:25, 08/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Ну, не по всем, но всё больше и больше. Возможности для разработчиков и отладчиков самого GTK становятся обширнее. И, якобы, более эффективный рендеринг через OpenGL (разве что если ваш видеоускоритель не поддерживает OpenGL 3).
     
  • 2.55, Аноним (55), 20:47, 05/12/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Фанатик детектед. И чем тебе Glade не подходит? Он есть под вендоузъ
     
  • 2.108, Аноним (106), 17:41, 06/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    msi никого не интересует
     

  • 1.18, BrainFucker (ok), 16:28, 05/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    фиг знает, я бы предпочёл на XML писать чем на специально свелосипеденном формате. Форматов что ли мало придумано?
     
     
  • 2.73, Аноним (21), 01:27, 06/12/2021 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Форматов что ли мало придумано?

    Языков что ли мало придумано? Но растаманы изобрели трёхколёсный велосипед.

     

  • 1.19, Anonnnym (?), 17:03, 05/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    Вы задолбали все подряд Blueprint называть. Других названий нет что-ли?

    Шейдеры - blueprint, какая-то херня в монтажке для видео - blueprint. Теперь и это blueprint

     
     
  • 2.60, макпыф (ok), 22:33, 05/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    а еще формат мейкфайлов в андроиде (один из них)
     
  • 2.117, Урри (ok), 12:52, 07/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Blueprint - "я не знаю как назвать". Вполне нормальное название.
    Вроде "foo".
     

  • 1.20, Аноним (-), 17:04, 05/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >написан на языке Python и распространяется под лицензией LGPLv3

    Джеймс Вестман - правильный пацан.

     
  • 1.23, Аноним (21), 17:07, 05/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    А зачем в новом ГТК такие жЫрные заголовки и такой-мелкий-мелкий текст?!
     
     
  • 2.39, AirToad (?), 18:47, 05/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Чтобы не выходить за рамки 1%.
     
  • 2.80, Анончик (?), 07:58, 06/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    что бы помещать в заголовки кнопки
     
  • 2.90, my_name_is_Mud (ok), 10:50, 06/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну там в заголовке ещё и панель управления - этим оправдан такой заголовок А во... большой текст свёрнут, показать
     

  • 1.24, Аноним (-), 17:14, 05/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Знать бы еще куда эти виджет тулкиты приткнуть. Парадоксально, но единственная хоть сколько принимая канва даже не входит в основной дистрибутив тулкита. А ведь это на секундочку гимповый тулкит..
     
     
  • 2.72, Аноним (21), 01:24, 06/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > единственная хоть сколько принимая канва

    расшифруй свой поток мысли...

     
     
  • 3.87, Аноним (-), 10:13, 06/12/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Это про программирование. Проходи мимо
     

  • 1.30, Аноним (30), 17:49, 05/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Бессмысленный оверинжиниринг. В си можно json-подобные структуры писать на designated initialisers, в т.ч можно дерево ui виджетов описать компактно.
     
     
  • 2.42, AirToad (?), 19:08, 05/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Да весь современный Linux -  бессмысленный оверинжиниринг.
     
     
  • 3.85, sweetlao (?), 09:50, 06/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Весь современный IBM Gnome оверинжиниринг

    fftgj

     

  • 1.32, ИмяХ (?), 18:02, 05/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Ох, как хорошо. Теперь программистам есть что учить. Есть чем ещё забить свою голову. Ещё одна специальность.
     
     
  • 2.71, Аноним (21), 01:22, 06/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Скажи это растаманам.
     

  • 1.36, Аноним (36), 18:30, 05/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Казалось бы какое местным экспертам дело до того на чем делают разметку расположения контролов gtk? Они же все равно не пишут на gtk и не будут писать
     
  • 1.37, Аноним (37), 18:33, 05/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    а почему не jsx?
     
     
  • 2.65, Аноним (65), 23:19, 05/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Свой, исконно рус...ой GTK-шный, путь.
     

  • 1.38, Аноним (38), 18:47, 05/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Шляпа какая-то. Даже в такой минимальной демке вместо "title: _("My App Title");" получилось "blueprinttest". А что будет с более сложными интерфейсами?
     
     
  • 2.92, Аноним (92), 11:34, 06/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Скриншот из другого блога, если вместо того чтобы ехидные комментарии писать включили бы мозг на секунду, заметили бы что в примере и кнопку в заголовке никто не обьявлял.
     

  • 1.48, Аноним (48), 20:16, 05/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    Чем ему json не угодил?
    Вообще считаю что все надо на json перевести в том числе и конфиги линей из etc. Всё в один формат и огонь.
     
     
  • 2.54, Аноним (55), 20:45, 05/12/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Ты прав кроме опечатки в слове yaml.
     
  • 2.109, Аноним (109), 17:59, 06/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    вы бы, любители джейсонов, для начала с зоопарком парсеров этого барахла разобрались бы, а потом уже ein folk, ein reich, ein fuhrer для конфигов педалировали бы
     
  • 2.118, Аноним (-), 19:16, 07/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    забыл одну скобку и весь конфиг превращается в...
     

  • 1.52, Аноним (48), 20:36, 05/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    сейчас такие времена что от фразы "придумал свой формат хранения данных" руки должны сами тянуться за мухобойкой.
    Чувак решил качнуть свое ЧСВ придумав несовместимый формат?
    В помойку сразу
     
  • 1.56, Аноним (56), 21:29, 05/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Это vala, но с убогим синтаксисом и компилятором на python?
    Так, не дайте пациенту сбежать - я пошёл за лопатой!
     
     
  • 2.57, Аноним (57), 21:37, 05/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Да, вот тоже хотел написать, что зачем изобретать велосипед. Хорошо если бы они там собрали какой-то простой API для создания UI, но нет опять еще один вариант трансляции своих DSL-ей в код. Что за мания делать повсюду какие-то разновижности сегментирования.
     

  • 1.58, xcode (?), 22:02, 05/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Зачем вообще новый язык для интерфейсов? Сделали бы на JSON что нибудь (или XML, как в Qt, но там писанины больше).
     
     
  • 2.70, Аноним (21), 01:19, 06/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > или XML, как в Qt

    Зачем в кутэ сделали кучу языков? XML, QML, JS...

     
     
  • 3.116, Ananima (?), 12:27, 07/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Нет там JS, проглатывай.
     

  • 1.61, Аноним (61), 22:44, 05/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Эти ребята явно не понимают, что учить 100500 языков программирования - это на самом деле трэш, а потому продолжают и продолжают их клепать. По хорошему программа должна писаться на одном языке. От начала и до конца. А всякая ересь, типа смешивания PHP с JS - идет лесом.
     
     
  • 2.68, Аноноша (?), 01:05, 06/12/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Именно поэтому существует привязка gtk для js и возможность писать css.
     

  • 1.64, Аноним (62), 23:04, 05/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Blueprint - подходящее названия языка для GMOME ;)
     
     
  • 2.86, sweetlao (?), 09:53, 06/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Чтобы шутка удалась, нужно было пробельчик поставить;)
     

  • 1.67, Анончек (?), 23:34, 05/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Гномеры изобретает qml?
     
  • 1.69, Аноним (69), 01:12, 06/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Чего все так возбудились? Ну выкатили очередное ненужно для ненужно, ну загнется оно через пару лет так и не набрав популярности в проде. Вам какая разница, никто же заставляет это использовать!
     
  • 1.74, Аноним (74), 01:28, 06/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +12 +/
    > В качестве причины создания проекта называется привязка применяемых в GTK ui-файлов описания интерфейса к формату XML, который перегружен и неудобен для написания или редактирования разметки вручную.

    Эта цитата - блестящий пример того, как посредством одного предложения можно снизить IQ целого форума.

    Во-первых, XML - это контекстно-свободный язык разметки, который используется в первую очередь для сериализации сложно устроенных данных в текстовое представление по заранее известной схеме.

    Во-вторых, вот что важно знать про XML:
    1) Он не предназначен для ручного редактирования через простой текстовый редактор живым человеком. Если вы исправляете его содержимое руками, то это сродни забивания гвоздей микроскопом. Для работы с XML вы должны иметь редактор, который изначально работает с описанными в нем объектами.
    Для автоматизации преобразования XML-объектов вне редакторов есть XSLT. Ну или в крайнем случае вы создаёте свой редактор и инструментарий с последующим преобразованием, как это сделал автор.
    2) Он не может быть распарсен регулярным выражением, потому что он имеет КС-грамматику. Любая попытка найти что-то в XML посредством работы с ним как со структурированным текстом закончится болью и страданиями. Если вам нужно получить данные оттуда, для этого придуман XPath
    3) Согласно спецификации XML данные фрагменты идентичны.
    Фрагмент 1:
    <elements>
       <item>1</item>
       <item>2</item>
    </elements>
    Фрагмент 2:
    <elements>
       <item>2</item>
       <item>1</item>
    </elements>
    В тегах XML нет порядка. Порядок нужно указывать явно, объявляя его как атрибут к каждому элементу и трактуя так, как хочется. Исходя из этого, утилиты вроде diff не могут быть использованы для XML по смыслу, потому что, помимо лютого вырвиглазного неудобства, будут показывать отличия в XML-файлах, которых нет в реальности.

    Использование XML для декларативного описания интерфейсов более чем разумно, вот только это совсем не значит, что они будут писаться людьми от руки. Дальше всё сводится к наличию тулсета по работе с XML и удобства изначального редактора, который его генерирует.

    А что мы имеем у разработчика:
    1) diff
    2) VS Code

    Я не собираюсь тут критиковать конкретно GTK.Builder, а лишь скажу что 2 вышеозначенных инструмента - главная проблема, почему автору так не удобно жить. И вот он создаёт транслятор на python, на языке в стандартной библиотеке которого чуть ли не самая убогая реализация XML, чтобы пихнуть его в другой редактор. Это, кстати, тоже такой способ пытки, работать с XML в Python, но я уверен, что у автора и на это есть причины, чай интеграция с Builder.

    Вообще работа с XML в Linux в целом - дело трудное, потому что стандартная для большинства дистрибутивов libxml2 (изначально часть проекта GNOME, ЕМНИП) - редкостный мусор с точки зрения поддержки современных стандартов. Обычно XML используется там, где нужно работать с большими объемами и/или сложно устроенными данными, для организации удаленного вызова процедур и потоковой проливки объектов с последующей фильтрацией и преобразованием между несколькими разными информационными системами. То что никто не старается привести в порядок libxml2 не удивительно, потому что в GNOME масштабы не те...

    Вот и получается идиотство. Есть разработчик Blueprint, который создаёт себе костыль^W автоматизацию, потому что те инструменты, которые есть, его не устраивают (что вполне логично). Есть разработчики GNOME, которых всё устраивает как есть и которые не предоставляют вменяемого инструментария по работе с XML даже за деньги. И есть писатель новости, у которого XML виноват в том, что его не удобно редактировать как INI-образный файлик, которых тьма тьмущая в /etc, потому что понятия не имеет что такое XML, кому и зачем это надо.

    Для пущей радости не хватает набега смузихлёбов с JSON, которые понятия не имеют ни о схеме, ни о трансформации, ни о запросов без полной десериализации в ОЗУ. И еще не хватает откровенных маргиналов с YAML, форматом данных, который перегружен посильнее XML, но в отличии от последнего при большом объеме данных не может быть эффективно прочитан и отредактирован ни человеком, ни компьютером. Ой всё...

     
     
  • 2.77, Аноньимъ (ok), 03:41, 06/12/2021 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >И вот он создаёт транслятор на python, на языке в стандартной библиотеке которого чуть ли не самая убогая реализация XML, чтобы пихнуть его в другой редактор. Это, кстати, тоже такой способ пытки, работать с XML в Python, но я уверен, что у автора и на это есть причины, чай интеграция с Builder.

    Очень похоже на ГНОМ, только непонятно где тут JavaScript.

     
  • 2.78, iCat (ok), 05:23, 06/12/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Люто-бешено плюсую!
    Вообще это новомодное поветрие всё делать одним-единственным инструментом по меньшей мере удивляет.
    То они универсальную файловую систему ищут, то универсальный язык программирования, то универсальный формат хранения данных, то универсальный...
    А на поверку оказывается, что им попросту некогда ознакомиться с уже существующими инструментами и форматами.
    - Чо тут думать? Прыгать надо! - повторяют они, и годами скачут за недостижимым бананом.
     
  • 2.81, Анончик (?), 08:11, 06/12/2021 [^] [^^] [^^^] [ответить]  
  • –4 +/
    нету для linux инструментов на подобии PlistEdit Pro
     
     
  • 3.96, Аноним (21), 13:17, 06/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Что за PisdEts Pro?
     
  • 2.95, Аноним (21), 13:16, 06/12/2021 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Спасибо за рассказ! Всё, что ты сказал - это на тему, почему НЕ надо использовать XML.
     
  • 2.97, Аноним (109), 13:25, 06/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    походу, gtk не использует libxml2, только парсер, встроенный в glib
     
  • 2.98, Аноним (98), 13:28, 06/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    > транслятор на python, на языке в стандартной библиотеке которого чуть ли не самая убогая реализация XML
    > libxml2 редкостный мусор с точки зрения поддержки современных стандартов.

    примеры бы неплохо привести какие-то, а то пока это голословные утверждения.

     
     
  • 3.102, Аноним (74), 15:30, 06/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну, те кто использовал и XML в целом, кто знает Python и кто юзал libxml2 в этих... большой текст свёрнут, показать
     

  • 1.79, Аноним (109), 06:58, 06/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    а накой вообще ui файлы редактировать вручную, когда есть glade?
     
     
  • 2.99, Аноним (98), 13:30, 06/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    Иногда проще текстом написать чем мышкой расставлять.
     
     
  • 3.101, Аноним (109), 14:02, 06/12/2021 [^] [^^] [^^^] [ответить]  
  • +/
    обычно в таких случаях проще вообще не заморачиваться с ui и GtkBuilder, а явно из кода интерфейс делать
     

  • 1.82, mos87 (ok), 08:46, 06/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    когда уже гнум/гтк будет Одна Большая Кнопка
     
  • 1.89, Аноним12345 (?), 10:47, 06/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Питон универсальный язык
     
  • 1.91, Аноним (91), 11:11, 06/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Какое нзкое коварство - полуживого забавлять!
     
  • 1.93, Ян Злобин (ok), 11:54, 06/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Что только не придумают, чтобы на сях не писать.
     
     
  • 2.94, Аноним (21), 13:14, 06/12/2021 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Это ты про растаманов, что ли?
     
     
  • 3.123, Ян Злобин (ok), 11:04, 06/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Это ты про растаманов, что ли?

    Нет. Про сабж.

     
  • 2.104, Аноним (106), 17:01, 06/12/2021 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Так они даже на своих поделках потом не пишут. Всю жизнь пытаются их допилить а потом уже и оп, новая порция шлака.

    Зато какая ИБД. Всю жизнь учишь учишь и ничего не выучишь

     

  • 1.103, Аноним (106), 16:57, 06/12/2021 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Надо больше языков. Надо чтобы даже простая программа требовали не менее 10 компиляторов и 500 движков Жoпаскипта.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру