LINUX.ORG.RU

Ultimate++ (U++)

 ,


3

9

Нашел недавно интереснейший «инструмент». Из вики:

Ultimate++ (известен также как U++ и UPP) — кросс-платформенный инструментарий разработки ПО на языке программирования C++. Целью U++ является уменьшение сложности типичных десктопных приложений за счёт интенсивного использования особенностей C++.
...
Представляет собой фреймворк, призванный не только обеспечить быструю разработку GUI-приложений, но и, в идеале, заменить все сторонние библиотеки и инструменты для С++, включая даже STL

Например, минимальное приложение:

#include <CtrlLib/CtrlLib.h>

using namespace Upp;

GUI_APP_MAIN 
{

}

Создание окна:

#include <CtrlLib/CtrlLib.h>

using namespace Upp;

class MyWindow : public TopWindow {
public:
    MyWindow() {
        Title("Hello world!");
        MinimizeBox();
        MaximizeBox();
        Sizeable();
        SetRect(0, 0, 300, 300); 
    }
};

GUI_APP_MAIN
{
    MyWindow().Run();
}

Собственно сам сайт: http://www.ultimatepp.org/

Интересная страничка сравнения U++ с аналогичным по функциональности кодом Qt, Java, wxWidgets, C++ STL, D. Код на U++ выгладит короче и читабельнее.

На лоре про него тему нашел довольно старую. Больше, вроде бы, упоминаний нет. Интересно почему U++ остался не замечен?

В комплекте отличная, самодостаточная IDE с атокомплитом и подсказками. Так же есть лайоут-редактор для формо-шлепства мышкой. Куча примеров, многопоточность и т.д.

То есть отличный вроде бы инструмент. Лицензия BSD. Пожалуйста, пользуйтесь. Но нет — люди пишут на скриптах, запускают на электроне.

Пользуетесь ли вы U++? А почему нет?

Просто хотел поделиться, вдруг кто не знал, но искал такое.


Как там с элементами гуя и уровнем вырвиглазия?

На сколько генерируемый код — какашка?

Ну и на десерт: чем лучше qt5?

Чуть не забыл про переносимость...

unt1tled ★★★★ ()
Последнее исправление: unt1tled (всего исправлений: 1)
Ответ на: комментарий от ult

Хотя станичка сравнения с Qt датирована 06/24/2010. Так что сейчас наверно не так уж все там плохо. В Qt5

ult ()
Ответ на: комментарий от ult

не надо кучку либ с собой таскать.

Официальная mingw сборка весит 80МиБ в 7z архиве. Тут нужно еще подумать кто толще.

RazrFalcon ★★★★★ ()

А почему нет?

Для мелкой длясебяшной гуйни вполне хватает nana, для чего-то более серьезного Qt

ossa ★★ ()
Ответ на: комментарий от RazrFalcon

кто толще

Ну, вот тут как бы пишут:

What is the minimal size of U++ GUI application?

The size of application executable is not the primary design goal. U++ prefers simple maintenance, speed and rapid development of complex applications. We believe that these goals are more important in the age when there are no hard-drives on the market with less than 20GB.

Anyway: the size of Puzzle example, compiled with Microsoft C++ 7.1 with size optimizations is 980KB. This is not great, but you have to consider that this represents self-contained executable with most U++ features compiled in and that past this point the size tends to grow quite slowly.

Typical complex U++ application is 2-3MB long. TheIDE, which is a VERY complex application, has 3.5MB.

Или это не про то?

ult ()

... фреймворк, призванный ... в идеале, заменить все сторонние библиотеки и инструменты для С++, включая даже STL

Диагноз у пациентов на лице. Правильно делают, что обходят этот виндузячий крап стороной.

mashina ★★★★★ ()
Последнее исправление: mashina (всего исправлений: 1)
Ответ на: комментарий от mashina

Ну, вычеркнем эту строчку и попробуем снова:

призванный обеспечить быструю разработку GUI-приложений

Так лучше?

ult ()

но и, в идеале, заменить все сторонние библиотеки и инструменты для С++, включая даже STL

Даже небо, даже Аллаха

annulen ★★★★★ ()
Ответ на: комментарий от peregrine

Не правда. Может 17 лет назад так и было, но сейчас вроде нет так. Например статья 2009 года, а суда по картинке из «Убунту-8.10» выглядит нормально.

ult ()

Пользуетесь ли вы U++? А почему нет?

Есть Qt, который лучше по всем параметрам, предъявляемым к современным фреймворкам.

CrossFire ★★★★★ ()
Последнее исправление: CrossFire (всего исправлений: 1)

Нашел недавно

Разумеется, ник - чистейшее совпадение, а вовсе не бот, для накачки внимания к проекту...

I-Love-Microsoft ★★★★★ ()

Недавно решил поставить себе новые окна ПВХ недорого в Москве и области.

thesis ★★★★★ ()
Ответ на: комментарий от peregrine

Плюсую.

ТС, видимо, этот проект из могилки выкопал.

Twissel ★★★★★ ()
Ответ на: комментарий от CrossFire

Можно узнать эти параметры, предъявляемые к современным фреймворкам?

Можно ли в Qt5 писать без qml,js и проч? Удобно ли будет так?

ult ()
Ответ на: комментарий от ult

Можно ли в Qt5 писать без qml,js и проч? Удобно ли будет так?

Можно, для приложений не требующих сложных анимаций и сверхкастомного дизайна — удобно.

Кстати, примеры сравнения неадекватные, даже на Qt4 можно в разы короче написать.

Можно узнать эти параметры, предъявляемые к современным фреймворкам?

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

CrossFire ★★★★★ ()
Ответ на: комментарий от CrossFire

Спасибо.

примеры сравнения неадекватные, даже на Qt4 можно в разы короче написать

Это я понимаю.

ult ()
Ответ на: комментарий от ult

Это с точки зрения деньги. С точки зрения юзабельности и документации Qt лучше, да и статей по нему больше.

kachsheev ★★★ ()
Ответ на: комментарий от ult

Я что-то вас не пойму

Тебе сказали: Читай лицензию LGPL, по которой в том числе распостраняется и Qt.

Ты прочитал? Нет? Так какого пишешь?

Pavval ★★★★★ ()
Ответ на: комментарий от CrossFire

Послушайте товарищи. Я изначально сказал:

Juce и Qt бесплатны только для opensource

Перефразирую для Ъ: если хочешь написать коммерческое приложение с закрытыми компонентами и используя Qt, то будь добр купи у Qt лицензию. А если пишешь opensource, то можешь бесплатно.

Я прав или нет? Возможно, ошибаюсь?

ult ()
Ответ на: комментарий от ult

Я прав или нет? Возможно, ошибаюсь?

Нет. Не прав. Ошибаешься и ещё оскорбляешь пользователей в этом треде.

Перефразирую для Ъ: если хочешь написать коммерческое приложение с закрытыми компонентами и используя Qt, то будь добр использовать LGPL. Если ты не изменяешь сам код Qt, то ты ничего не обязан открывать. Если ты изменяешь код Qt, то обязан предоставить лишь те изменения, которые ты сделал в Qt.

Пофиксил.

EXL ★★★★★ ()
Ответ на: комментарий от CrossFire

Всем

Лютое 4.2. Программировать на нем пренеприятно.

FeyFre ★★★★ ()
Ответ на: комментарий от ult

если хочешь написать коммерческое приложение с закрытыми компонентами и используя Qt, то будь добр купи у Qt лицензию

Нет, Qt 5 позволяет создавать коммерческие приложения с закрытым кодом, используя по сути бесплатную LGPL-версию. И лишь некоторые платные компоненты могут потребовать покупку лицензии, но кому они нужны? Большинству хватает LGPL версии. Трудно всяким фреймворкам конкурировать с Qt 5, при условии наличия LGPL...

I-Love-Microsoft ★★★★★ ()
Последнее исправление: I-Love-Microsoft (всего исправлений: 1)
Ответ на: комментарий от EXL

Кста, пол года назад спорил я тут на ЛОРе... Разработка коммерческого ПО с Qt на тему LGPL. В итоге, я остался не уверен что понимаю LGPL в полной мере и до конца, хотя так же начинал «кто не понимает LGPL тот тупой там же очевидно» ))) Предоставляя объектники и модификации кода Qt, можно оказывается, статически линковать.

Но что точно понял, так это динамическая линковка закрытых программ с библиотеками LGPL абсолютно допустима и бесплатна.

I-Love-Microsoft ★★★★★ ()
Ответ на: комментарий от I-Love-Microsoft

Ну, Qt это всё таки долгий, отдельный разговор.

ult ()

Я про U++ узнал в этом году, когда в наш проект обратился товарищ с предложением портировать на него существующий интерфейс. Ему был дан ответ, что мы подобное не рассматриваем. Сам пока U++ не пробовал.

DarthVadimius ★★ ()

Нет поддержки MacOS-ов, только Lin&Win, т.е если решишь запилить реальную вундервафлю, нужную всему миру, охват ОС будет неполным. Что касается внешнего вида, то тут на вкус и цвет. Если есть приложение, которое своим функционалом всем устраивает и полностью выполняет возложенные на него функции, то какая нафиг разница, насколько гламурные у него кнопочки и насколько нативно оно выглядит? Главное чтобы работало, и работало так как надо, остальное лирика.

P.S. Как вариант, посмотри FOX Toolkit, имхо вполне годная штука, документация правда аскетичная, но разобраться можно.

xterro ★★★★★ ()
Последнее исправление: xterro (всего исправлений: 1)
Ответ на: комментарий от ult

Норм. оно цветовые схемы поддерживает, это сгладит «страшноту».Хотя ничего страшного я там не увидел, обычный UI в стиле win9x... Классика :)

xterro ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.