Сообщение Re: О библиотеках от 15.09.2025 9:46
Изменено 15.09.2025 9:54 SaZ
Re: О библиотеках
Здравствуйте, LaptevVV, Вы писали:
LVV>Что-то у меня голова кругом идет.
LVV>...
Тут много написали, добавлю что знаю.
Про Qt (адептом которого я являюсь, ибо не вижу аналогов) я бы советовал сразу смотреть в сторону QtQuick/QML, а не виджетов. Да, язык декларативный, со своими плюшками и недостатками. Но перед
этим нужен минимальный фундамент в самом кутэ — это их базовый класс QObject, система сигналов-слотов, понятие свойств (см. макрос Q_PROPERTY). Этого достаточно чтобы сделать связку между C++ и QML. Впрочем, можно делать QtQuick интерфейс на чистых плюсах, не зная синтаксиса QML, но это неудобно.
Почему не нужны виджеты — они стабильные, удобные, но с точки зрения обучения они провоцируют формошлёпство, ибо студенты будут бизнес логику пихать в обработчики кнопок и т.п.
Из плюсов QML — он компилируется практически во что угодно, в том числе webassembly. Можете глянуть пример тут (всё в браузере, можно на лету редактировать QML — https://try.qt.io/projects/outrun-ivi)
Сам не ковырял, но есть ещё достаточно популярный фреймворк — Flutter. Его чаще для мобилок используют. И главный недостаток — нет связки с C++.
LVV>Что-то у меня голова кругом идет.
LVV>...
Тут много написали, добавлю что знаю.
Про Qt (адептом которого я являюсь, ибо не вижу аналогов) я бы советовал сразу смотреть в сторону QtQuick/QML, а не виджетов. Да, язык декларативный, со своими плюшками и недостатками. Но перед
этим нужен минимальный фундамент в самом кутэ — это их базовый класс QObject, система сигналов-слотов, понятие свойств (см. макрос Q_PROPERTY). Этого достаточно чтобы сделать связку между C++ и QML. Впрочем, можно делать QtQuick интерфейс на чистых плюсах, не зная синтаксиса QML, но это неудобно.
Почему не нужны виджеты — они стабильные, удобные, но с точки зрения обучения они провоцируют формошлёпство, ибо студенты будут бизнес логику пихать в обработчики кнопок и т.п.
Из плюсов QML — он компилируется практически во что угодно, в том числе webassembly. Можете глянуть пример тут (всё в браузере, можно на лету редактировать QML — https://try.qt.io/projects/outrun-ivi)
Сам не ковырял, но есть ещё достаточно популярный фреймворк — Flutter. Его чаще для мобилок используют. И главный недостаток — нет связки с C++.
Re: О библиотеках
Здравствуйте, LaptevVV, Вы писали:
LVV>Что-то у меня голова кругом идет.
LVV>...
Тут много написали, добавлю что знаю.
Про Qt (адептом которого я являюсь, ибо не вижу аналогов) я бы советовал сразу смотреть в сторону QtQuick/QML, а не виджетов. Да, язык декларативный, со своими плюшками и недостатками. Но перед
этим нужен минимальный фундамент в самом кутэ — это их базовый класс QObject, система сигналов-слотов, понятие свойств (см. макрос Q_PROPERTY). Этого достаточно чтобы сделать связку между C++ и QML. Впрочем, можно делать QtQuick интерфейс на чистых плюсах, не зная синтаксиса QML, но это неудобно.
Почему не нужны виджеты — они стабильные, удобные, но с точки зрения обучения они провоцируют формошлёпство, ибо студенты будут бизнес логику пихать в обработчики кнопок и т.п.
Из плюсов QML — он компилируется практически во что угодно, в том числе webassembly. Можете глянуть пример тут (всё в браузере, можно на лету редактировать QML — https://try.qt.io/projects/outrun-ivi)
Сам не ковырял, но есть ещё достаточно популярный фреймворк — Flutter. Его чаще для мобилок используют. И главный недостаток — нет связки с C++.
В целом и общем, у большинства фреймворков есть следующие недостатки: отсутствие поддержки accessibility (а многие инструменты автотестирования завязаны на него), проблемы с HiDpi экранами или многомониторными системами, проблемы с хоткеями, проблемы с нормальной поддержкой drag-n-drop. Это всё далеко не сразу очевидно и даже в энтерпрайзе не сразу выстреливает, но бороться со всем этим крайне неприятно. Qt в этом плане достаточно хорошо продуман. Казалось бы, а зачем это всё студентам? Но... зачем страдать с чем-то среднего качества, когда можно взять хорошее.
Когда я учился у нас были следующие направления:
Некоторые (в том числе я) упарывались и делали интерфейсы на голом си + винапи, даже без mfc/wtl. Дичь та ещё, но в будущем мне это несколько раз пригодилось, особенно когда занимался встраиванием игровых движков в десктопные редакторы.
Кто-то самостоятельно учил делфи / с++ билдер, но в коде было сплошное формошлёпство, ибо в нашем техникуме в начале 2000-х про паттерны нам никто не рассказывал =)
А большинство делали интерфейсы на ФоксПро 6 — почему-то он взлетел для тех задач, которые нам давали на лабы и курсовые. Хотя в большинстве случаев это было как забивать гвозди микроскопом.
LVV>Что-то у меня голова кругом идет.
LVV>...
Тут много написали, добавлю что знаю.
Про Qt (адептом которого я являюсь, ибо не вижу аналогов) я бы советовал сразу смотреть в сторону QtQuick/QML, а не виджетов. Да, язык декларативный, со своими плюшками и недостатками. Но перед
этим нужен минимальный фундамент в самом кутэ — это их базовый класс QObject, система сигналов-слотов, понятие свойств (см. макрос Q_PROPERTY). Этого достаточно чтобы сделать связку между C++ и QML. Впрочем, можно делать QtQuick интерфейс на чистых плюсах, не зная синтаксиса QML, но это неудобно.
Почему не нужны виджеты — они стабильные, удобные, но с точки зрения обучения они провоцируют формошлёпство, ибо студенты будут бизнес логику пихать в обработчики кнопок и т.п.
Из плюсов QML — он компилируется практически во что угодно, в том числе webassembly. Можете глянуть пример тут (всё в браузере, можно на лету редактировать QML — https://try.qt.io/projects/outrun-ivi)
Сам не ковырял, но есть ещё достаточно популярный фреймворк — Flutter. Его чаще для мобилок используют. И главный недостаток — нет связки с C++.
В целом и общем, у большинства фреймворков есть следующие недостатки: отсутствие поддержки accessibility (а многие инструменты автотестирования завязаны на него), проблемы с HiDpi экранами или многомониторными системами, проблемы с хоткеями, проблемы с нормальной поддержкой drag-n-drop. Это всё далеко не сразу очевидно и даже в энтерпрайзе не сразу выстреливает, но бороться со всем этим крайне неприятно. Qt в этом плане достаточно хорошо продуман. Казалось бы, а зачем это всё студентам? Но... зачем страдать с чем-то среднего качества, когда можно взять хорошее.
Когда я учился у нас были следующие направления:
Некоторые (в том числе я) упарывались и делали интерфейсы на голом си + винапи, даже без mfc/wtl. Дичь та ещё, но в будущем мне это несколько раз пригодилось, особенно когда занимался встраиванием игровых движков в десктопные редакторы.
Кто-то самостоятельно учил делфи / с++ билдер, но в коде было сплошное формошлёпство, ибо в нашем техникуме в начале 2000-х про паттерны нам никто не рассказывал =)
А большинство делали интерфейсы на ФоксПро 6 — почему-то он взлетел для тех задач, которые нам давали на лабы и курсовые. Хотя в большинстве случаев это было как забивать гвозди микроскопом.