Недавно мне стало интересно, насколько хорошо Python, на котором, напомню, я теперь пишу все свои скрипты, справляется с задачей создания GUI-приложений. И тут язык превзошел все мои ожидания, так как найти нужную библиотеку, разобраться, как ею пользоваться, а потом написать пример, демонстрирующий все интересовавшие меня возможности, заняло ну что-то около одного часа. Пример этот, как вы и сами сейчас убедитесь, показывает не только создание формочек на GTK, но и отображение иконки в трее с меню и нотификациями.

Для написания десктопных приложений на языке Go существует несколько библиотек-привязок к графическим тулкитам, таким как Gtk и Qt. Есть еще пара-тройка написанных собственно на Go GUI-библиотек, однако они пока еще находятся на ранней стадии развития.

Так исторически сложилось, что с UI мне приходилось работать очень мало. Видимо, поэтому мне так интересные всякие там Qt и wxWidgets — все кажется новым, интересным, необычным. Впрочем, коль скоро я взялся за изучение Java, речь сегодня пойдет не о Qt и не о wxWidgets, а о Swing. Сегодня совместными усилиями мы напишем простенькое GUI-приложение на Java, с кнопочками, списками и даже умеющее менять шкурки!

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

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

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

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

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

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