Почему я стал программировать на wxWidgets

November 23rd, 2009 Begemot

Уже не первый раз задают этот вопрос, решил написать развернутый ответ, возможно в немного вольном стиле, вечер, после релиза, однако.

Выбор это я сделал 2 с копейками года назад. Почему именно wxWidgets? Знаете какой был самый распространенный ответ в нашем вузе на вопрос “а как ты попал в ХАИ?” – “Случайно”:) Вот почти так же и я выбрал wxWidgets.

Тогда я писал на MFC и уже давно, сношений опыта с другими фреймворками не имел. Все вокруг говорили что MFC, или уже умер или умрет буквально сегодня-завтра. Вот и побудило меня это задуматься, на тему поиска новых библиотек. К тому же на мфц я писал уже давно и долго, руки чесались – хотелось чего-то новенького. Плюс к тому времени произошел, первый скачек перехода от количественных изменений к качественным в моей карьере, я еще не совсем понимая что есть хороший код, уже понимал, что все что я писал до этого это  – ужас, и легче переписать проекты с нуля чем довести их до ума. В общем нужен был новый толчок и  я решил поискать на чем бы их переписать.

  • WINAPI – я сразу отбросил ввиду низкоуровневости. Я на нем не писал, но слышал много страшилок.
  • ATL\WTL – вроде как идеально подходил для моего класса утилит, и я думал его попробовать, хотя и смущала низкоуровневость, но руки не дошли.
  • MFC – уже был пройденный этап
  • QT – его все хвалили, но лицензия… это потом он стал бесплатным, а тогда стоил более чем приличных денег. Сейчас уже можно использовать почти свободно, но все равно остаются проблемы с ненативностью, скоростью и размером, в общем для моих продуктов не подходит.
  • HTMLLayout – наверное весьма приятная и перспективная штука, по крайней мере многие хвалят. Но css для меня темный лес и даже хуже, писать _красивые_ интерфейсы на хтмл я тоже с роду не умел, даже не стал смотреть.
  • Delphi – хоть  его все и хвалили, в свете применимости для шаровары, в качестве средства для быстрого написания быстрых шароварок, но ведь это не наш путь, правда?:) Есть у меня один проект на дельфи, в общем, я его не выбрал.
  • Python – мне всегда заочно нравился и нравится сейчас, я даже опять вернулся к идее его использовать, буквально вчера скачал и установил, буду пробовать. Но опять же для моего класса продуктов он не подходит.
  • Java – всегда мне заочно не нравилась. Заочно, потому что я на ней никогда не писал и её не знаю, но вот не нравится, и все тут.
  • NET – для меня, в принципе тоже самое что и джава. Как по мне так тормоз тормозом, а мне надо было что-то быстрое…

Ну вот оставалась еще wxWidgets, подкупала нативность, скорость, похожесть на мфц, легкое переобучение, ну и новизна, ее мало кто использовал и в этом был положительный момент, подогревающий интерес. Ну и конечно большой плюс кроссплатформенность.  Кроссплатформенность так до сих пор и осталась мифическим преимуществом, поскольку пока за пределы винды я не перешагнул. Но теоретически могу в любой момент – и это приятно согревает душу 🙂 Надеюсь скоро все-таки начну портировать продукты на другие платформы, я уже почти вплотную подошел к этому.

Я скачал, попробовал, получилось, понравилось. В принципе, это почти тоже MFC, только с потенциальной кроссплатформеностью, к тому же открытое – это иногда помогает. Хотя мфц все-таки более вылизанная, меньше глюков.

Что в итоге? У меня есть несколько продуктов написанных на wxWidgets clipboar manager, quick notes, blogspreading. И несмотря на то что есть определенные недовольства wxWidgets, я все-таки доволен. В принципе, считаю что даже если отбросить кроссплатформенность и писать только под винду, то все равно достойный выбор – работать можно. Как говорит мой друг, миссионер wxWidgets “на вкус и цвет, фломастеры разные” кому-то нравится мфц, кому-то вх, кто-то вообще полностью все пишет свое с нуля (зачем спрашивается?),  а кто-то и на php программит и доволен, прости господи 🙂


ActiveWindowWatcher – бесплатная программа для ведения лога активных окон

July 18th, 2008 Begemot

Вчера на меня вдруг напал приступ трудоголизма, и я для внутренних целей написал небольшую программку для мониторинга и ведения лога активных окон (GetForegroundWindows). Возможно она может пригодится еще кому-нибудь кто пишет “специфические” приложения, типа вставлялок текста🙂 Итак:

 

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

Использование:

 
Существуют два режима работы:
1. Автоматическое логирование – окно проверяется по таймеру каждые 50 миллисекунд
2. Ручное – информация об активном окне читает по нажатию горячих клавиш ctrl+shift+p
 
В обоих режимах если текущее активное окно, тоже что и в прошлый раз, новая строчка в лог не добавляется.

Более подробно в Readme.txt

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

Если что добро пожаловать с комментариями.

Скачать ActiveWindowWatcher

p.s. Программа написанна с использованием wxWidgets


Отдельный блог про wxWidgets

July 17th, 2008 Begemot

Если кто интересуется этой темой, то у меня теперь отдельный блог по программированию c wxWidgets.

Posted in Программирование | Tags:
Comments Off on Отдельный блог про wxWidgets


Призрак грядущей маконизации?

May 22nd, 2008 Begemot

Сегодня получил от одного “старого” клиента ордер на 3 лицензии и такой вот вопрос

We find FlashPaste to be a great tool. Like many others, our company has decided to migrate to Apple computers instead of continuing to use Microsoft Windows. Any thoughts of developing a version for Mac OS X? (ideally, it would be able to share the same common database as the Windows clients)

Все-таки наверное не зря я wxWidgets занялся:).

интересно ‘Like many others’ действительно отражает текущие тендеции или просто так для красного словца упомянуто?


Капкан новых технологий

January 11th, 2008 Begemot

Я в него попал в прошлом году. Решил что MFC уже умирает и писать но нем новый проект, не самая лучшая идея. Начал искать альтернативы, их оказалось не так  уж и много Шарп, WTL, QT и wxWidgets, еще Питон. Привлекли мнимание Питон и wxWidgets, идея кросс-платформенного программирования, написал один код и имешь софт под 3 платформы – более чем привлекательна. А учусь я медленно, очень медленно, к тому же я не могу делать по частям\наполовину. Или все или ничего. Посколько решил перебиратся под новую среду – заморозил, вернее отложит разработку основного проекта, с мыслей, что освою новое – перепишу кроссплатформенно. Так же отложил написание второго продукта. Решил сначала выучить и освоить технологию на фриваре.

Прочел книжку про питон, читал другие источники, пробывал, начал писать и только потом на меня снизошло озарение, вообщем питон хороший язык, но _мне_ не подходит. 2 месяца в топку.

Вернулся к с++ и wxWidgets, опять тоже самое – книжка, форумы, попытки писать. Увлекшись блогами, отвлекся. Написал (правда уже на wxWidgets) http://blogovodstvo.com/. Но цепочка которая все меня держит продолжает существовать: выучить библиотеку -> переписать на ней одну из своих фривар и выпустить ->  понять ее пригодность для моих задач -> писать новый коммерческий проект (все еще тот самый) и переписывать(или уже нах) существующий. Сейчас я в принципе, уже приближаюсь к конце второго звена. Но то что будет приносить деньги – по прежнему далеко, а год прошел.

Все чаще и чаще задумываюсь что надо было не выделыватся, а писать на том что знаешь, вон люди вообще на дельфи пишут:). Пускай на “хреновом” MFC, но зато сейчас бы у меня уже был второй нормальный продукт и кучка денег. Перфекционист чертов:(


Устанавливаем WxWidgets под Ubuntu 7.04 feisty

September 22nd, 2007 Begemot

Мой опыт установки, конечно не факт что правильный и полный, но выстраданный:) Говорят лучше ставить готовыми пакетами которые можно скачать с офф сайта wxWidgets, я решил компилить сам. Трафика гораздо меньше да и полезнее для общего развития. Так как в процессе меня этот незнакомый мир достал по самые нихочу, буду краток.

Read the rest of this entry »


Осваиваем wxWidgets: серия первая – установка под Windows.

September 21st, 2007 Begemot

“Ох, нелегкая это работа, из болота тащить бегемота” (с)

Скромная попытка описать свой опыт установки и начала работы с wxWidgets бесплатной кроссплатформенной библиотекой.

Последнии несколько дней имел длительный полов опыт сборки, установки и настройки этой библиотеки. Компиляции проектов под разными IDE, разными компиляторами, и в разных осях.

Read the rest of this entry »


Стратегии Программирования

December 27th, 2006 Begemot

Чего-то накатило… ” (с) один хороший фильм

Вот так сидел вчера, сидел, почитывал доку и тут чего-то вдруг накатило… сам не знаю, вроде не было раньше у меня такой тяги особо. Я даже пиво с игрушкой отложил на часа на полтора:) 

Disclaimer: Я не профессиональный переводчик, и даже не переводчик вообще. Английский я знаю весьма посредственно, русский – примерно на том же уровне. Так что не обессудьте и не надо кидать в меня помидорами, кидайте лучше денежными знаками или на худой конец линками 🙂

Это перевод куска документации к wxWidgwtes. Если вам очень не понравился мой перевод – читайте оригинал.

Read the rest of this entry »