Имею навыки работы с Java и C#.
Сначала я поближе познакомился с Java (Eclipse с плагином Windowbuilder). - Swing: Но там нет поддержки GUI для GTK3 (например, HUD, похоже, не работает)
Затем я посмотрел на JAVA - SWT: он слишком тяжелый. Я хочу написать небольшое приложение, которое улучшит рабочий стол Ubuntu. Я не хочу поставлять программу с включенным Eclipse.
После этого я нашел C# Mono (Monodevelop): GTK# доступен только для GTK2. Скоро появится порт GTK3, но возможно ли преобразовать программу из GTK2 в GTK3 без дополнительных адаптаций? Следующая плохая вещь заключается в том, что Mono теперь исключен из Ubuntu LTS 12.04. Поэтому у меня нет шансов, что мое приложение станет приложением по умолчанию в официальном Ubuntu Live CD. (Это также является для меня фактором при выборе языка программирования).
Я знаю, что есть и другие технологии, но я хочу использовать в качестве языка программирования Java или C#.
решение1
Затем я был в JAVA - SWT: Он слишком тяжелый. Я хочу написать небольшое приложение, которое улучшит рабочий стол Ubuntu. Я не хочу поставлять программу с включенным Eclipse.
Я бы не советовал отказываться от Java и SWT на этой основе. Если вам нужно что-то на Java, что действительно выглядит как нативное, SWT — ваш лучший выбор. WindowBuilder Eclipse его тоже поддерживает. Вы явно не понимаете, что вам нужно поставлять с вашим приложением. Вам не нужно поставлять Eclipse, только jar-файлы SWT. Если ваше приложение не очень простое, скорее всего, вам придется в какой-то момент зависеть от сторонних jar-файлов (или в любом случае поставлять свои собственные).
Главное отличие Swing в том, что вам нужно отправить правильный SWT jar для правильной платформы (например, x86_64). На самом деле это не так уж и сложно сделать, и можно упаковать соответствующим образом с помощью подходящей системы сборки.