Почему я стал программировать на 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 программит и доволен, прости господи 🙂


Если вам понравился этот пост вы можете подписаться на RSS или мы можем доставлять вам новые посты прямо в ваш почтовый ящик.


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

July 18th, 2008 Begemot

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

 

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

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

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

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

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

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

Скачать ActiveWindowWatcher

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


Если вам понравился этот пост вы можете подписаться на RSS или мы можем доставлять вам новые посты прямо в ваш почтовый ящик.


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

July 17th, 2008 Begemot

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


Если вам понравился этот пост вы можете подписаться на RSS или мы можем доставлять вам новые посты прямо в ваш почтовый ящик.

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' действительно отражает текущие тендеции или просто так для красного словца упомянуто?


Если вам понравился этот пост вы можете подписаться на RSS или мы можем доставлять вам новые посты прямо в ваш почтовый ящик.


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

January 11th, 2008 Begemot

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

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

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

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


Если вам понравился этот пост вы можете подписаться на RSS или мы можем доставлять вам новые посты прямо в ваш почтовый ящик.


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

September 22nd, 2007 Begemot

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

Read the rest of this entry »


Если вам понравился этот пост вы можете подписаться на RSS или мы можем доставлять вам новые посты прямо в ваш почтовый ящик.


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

September 21st, 2007 Begemot

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

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

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

Read the rest of this entry »


Если вам понравился этот пост вы можете подписаться на RSS или мы можем доставлять вам новые посты прямо в ваш почтовый ящик.


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

December 27th, 2006 Begemot

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

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

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

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

Read the rest of this entry »


Если вам понравился этот пост вы можете подписаться на RSS или мы можем доставлять вам новые посты прямо в ваш почтовый ящик.