суббота, 12 апреля 2008 г.

wxWidgets: Немного о хорошем

Что-то последнее время были преимущественно негативные топики. Но не все так плохо, просто готовил программу к релизу, осваивал кучу новых тем, разумеется много чего не получалось вот и расстраивался:)

А вообще:

  1. Сайзеры это прикольно, конечно незнаю как они поведут себя при портировании под другие ОС. Пока пишу только под винду - вполне нравится.
  2. DialogBlocks is good resource editor for wxWidgets applications. Так все-таки не плох. Конечно надо разобратся, привыкнуть - но в принципе использовать можно. Особенно полезно поигратся на первых порах что бы понять идеологию сайзеров, изучить свойства и поиметь представления как вообще делать интерфейс.  Правда мне не особенно нравится код который он генерит да и гибкости немного не хватает что бы делать главные окна приложений... Но для отдельных простых диалогов - типа опций, вспомогательных окон - достаточно быстро можно нарисовать интерфейс. Хорошая вешь. Кстати незарегистрированная копия - вполне пойдет для ознакомления с иделогией построения интерфейса. Воообщем зачет:)
  3. Проблему с отсутвием контрола для ввода горячей клавиши в wxWidgets. Я вроде решил, вставил родной виндовый Hot Key Control, попытавшись обернуть его в wxWidgets. Так как документации по этой теме я не нашел - код там наверное кривой до ужаса:) Но если испытания покажут что работает, можно будет его почистить и выложить.
  4. Размер программы. Для меня это  имело большое значения, программы у меня маленькие, вспомогательные утилиты которые висят в трее. Сейчас размер получился 1.9М что почти в 4 раза больше версии с MFC, но судя по всему на скорости работы это не сказалось.
  5. Ну и главное я все таки выпустил программу, уже несколько дней вроде полет нормальный:) Так что можете удобно хранить свои быстрые заметки :)

Вообщем к эксплуатации пригодно.

16 комментариев:

Анонимный комментирует...

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

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

DialogBlocks is good resource editor for wxWidgets applications.
А как же wxFormBuilder? Это открытая и достаточно развитая среда проектирования интерфейса, достойная замена коммерческому DialogBlocks.

Анонимный комментирует...

Это радует если замечательно:) Я понимаю что они как раз для кроссплатформенности и создавались, но пока сам не попробуешь - с трудом верится:)

wxFormBuilder не смотрел еще. Когда только начинал знакомится с wx взял лучшее что было (все таки подозреваю что DialogBlocks лучше) - что бы быстрее посмотреть\понять как работает.
А вот сейчас наверное уже стоит озаботится что выбрать для работы, перед новым проектом. Все таки ДиалогБлокс дороговат:(

Анонимный комментирует...

Скажмем так: среди всех остальных RAD wxFormBuilder мне понравился намного больше. Да и на сайте у них об этом все пишут:

I'd really like to say you did a *great* job on this piece of software. I've tried dozens of wx RAD tools like wxGlade, wxDesigner, even commercial ones like DialogBlocks, but not a single one of them can cope with wxFormBuilder. I'm using it only since a few days and I'm very confident I'm gonna stay with it, because it has got this awesome solution to seperate logic and design code, I really appreciate that.

Анонимный комментирует...

Такое всем пишут:) Мне подобное пишут по всем программам, даже тем стоило бы убрать с сайта и спрятать подальше от людей.
Стиль у них такой.. особенно прикольно когда приходит что-то типа "Мне очень нравится ваша программа, отличная работа! Но она не работает, может я что-то не так делаю" :)

А вот за ваше мнение спасибо, обязательно попробую с wxFormBuilder в следующем проекте. А почему Анонимный?:)

Я когда-то смотрел таблицу сравнительных характеристик RAD для wx так там DialogBloks явно выигрывалю. Основным преимуществом помоему было поддержка AUI и custom class.

Анонимный комментирует...

Да, wxFormBuilder пока не поддерживает wxAUI (обещают добавить в следующем релизе), добавлять свои классы там судя по всем приметам можно, но мне как-то не понадобилось. А анонимный потому что влом регистрировать аккаунт. :)

P.S.: Только самое главное - когда будете писать программу с помощью wxFB никогда не используйте его возможность создавать виртуальные функции, потому что эта фича больше похожа на костыли для тех, кому не нравятся стандартные методы обработки событий.

Анонимный комментирует...

Спасибо, про виртуальные функции запомню.

А зачем аккаунт регистрировать? и так можно имя указать:))

Анонимный комментирует...

ОК. Заодно и релиз wxFB подоспел. Не прошло и года (кто знает оценит шутку) :)

Анонимный комментирует...

Отлично заценим%)
Но судя по Features page AUI не поддерживается.

Unknown комментирует...

в codeblocks (www.codeblocks.org , берите ночные сборки ) неплохой редактор ГУИ
wxSmith (http://wiki.codeblocks.org/index.php?title=Comparison_of_wxSmith_features)

Анонимный комментирует...

> Правда мне не особенно нравится код который он генерит да и гибкости немного не хватает что бы делать главные окна приложений

Код он генерит преотличнейший. Особенно видны плюсы когда начинаешь внимательно относиться к проектированию ПО, например для реализации фабрики диалогов двухшакоговое создание окон (это с использованием Create() очень помогает). Я на RC писал как-то уже об этом.

> А как же wxFormBuilder? Это открытая и достаточно развитая среда проектирования интерфейса, достойная замена коммерческому DialogBlocks.

Ни разу не достойная. Да, пользовать ее можно, но код получается достаточно корявым ну и по функционалу уступает. Сейчас пишем проект с wxFormBuilder и там далеко не все так радужно, как может показаться. Да, она лучше например wxGlade, но DialogBlocks'у проигрывает.

ЗЫ: 2Begemot: лучше позже чем никогда. Решил тут твое творчество почитать на досуге.. занимательно %)

Begemot комментирует...

>>Код он генерит преотличнейший. Особенно видны плюсы когда начинаешь внимательно относиться к проектированию ПО, например для реализации фабрики диалогов двухшакоговое создание окон (это с использованием Create() очень помогает).

Я же не сказал что он все плохо делает:) Но минусов в том коде тоже достаточно на мой взгляд. Кое-что правда исправляется в настройках, но все же.


>ЗЫ: 2Begemot: лучше позже чем никогда. Решил тут твое творчество почитать на досуге.. занимательно %)

Заходи при случае:))

Анонимный комментирует...
Этот комментарий был удален администратором блога.
Анонимный комментирует...

Отличная статья Спасибо огромное

Анонимный комментирует...

Очень познавательно. Спасибо.

Анонимный комментирует...

При использовании трекбола надевайте коврик на палец.

Анонимный комментирует...

Отличная статья.Респект автору.