Помните, как недавно мы с вами собирали deb-пакет Erlang с поддержкой wxWidgets? Как вы могли догадаться, все это было неспроста. И действительно, то была лишь подготовка к данной заметке, посвященной созданию GUI приложений на языке Erlang.

Решил вот написать свой HTTP сниффер. Не то, чтобы существующие решения, всякие там FireBug, Wireshark, tcpdump и urlsnarf, плохо работали. Просто какие-то они не совсем удобные или не всегда делают то, что мне действительно нужно.

Помните, я как-то писал про разработку GUI приложений на Haskell с использованием библиотеки wxWidgets? Мне стало интересно, а нельзя ли сгенерировать код GUI на языке C++ в wxGlade или Code::Blocks, а затем связать этот код с кодом на Haskell, реализующим собственно функционал приложения? Оказалось, что можно, и довольно просто.

Одна из проблем интерпретируемых языков заключается в зависимости скриптов от наличия у пользователя соответствующего интерпретатора и модулей, используемых в коде скрипта. В мире UNIX эти проблемы никого не беспокоят благодаря менеджерам пакетов. К сожалению, 90% наших потенциальных пользователей сидят не под UNIX.

В этой заметке речь пойдет о создании кроссплатформенных GUI приложений на языке программирования Haskell с использованием библиотеки wxWidgets. Особое внимание будет уделено уменьшению размера программы. Программа, размер которой изначально составлял 26 Мб, будет ужата до 3.9 Мб без потери функциональности. И это без использования UPX.

Как и обещал, пишу продолжение своей заметки про wxWidgets. В этом посте будет описана установка wxWidgets и Code::Blocks под различными операционными системами, основы создания GUI с помощью wxSmith, а также приведены небольшие примеры кода.

Когда деревья были большими, а для выхода в сеть нужно было покупать карточки ROL, на компьютерных форумах было модно писать всякие лозунги про свободное ПО и открытые протоколы. Дескать Opera никому не нужна, потому что есть Firefox, который распространяется под GPL. Или что Аська скоро умрет, потому что есть открытый Jabber с его шифрованным трафиком, email-подобными JID и тп. Прошли годы. Ничего не изменилось.

Некоторое время назад я стал интересоваться разработкой кроссплатформенных GUI приложений. Сейчас существует множество подходов к разработке данного типа программ — это Java, библиотеки GTK и Qt, скриптовые языки. Однако я сделал выбор в пользу библиотеки wxWidgets, и ниже будет рассказано, почему.

В одном из своих предыдущих постов (см Чем хорош и чем плох Linux) я троллил о преимуществах рассуждал об отличиях операционных систем семейства UNIX (Linux и *BSD) от семейства Windows и о том, кому и зачем стоит попытаться перейти на Ubuntu. Пожалуй, самый комфортный способ осуществить переход — в течение некоторого времени использовать под Windows только тот софт, который есть под Linux. Тогда после смены операционной системы для вас практически ничего не изменится. Эта заметка представляет собой обзор Linux-аналогов популярных Windows-программ. Внимание — под катом 400 Кб скриншотов.