Задолго до персонажа из Рунета с именем евангелиста существовал (и продолжает существовать, хоть и в гораздо более унылом виде) Linux Hater, который ненавидит Линукс и убеждает остальных делать то же самое. На самом деле его, по всей видимости, несколько человек, но это неважно. Я решил запостить перевод одного из его ранних постов.
Это баян 2008 года, то есть времён GNOME 2, но он большей частью ещё актуален. Или, возможно, стал ещё более актуален, чем раньше.
Больше я его переводить не буду, разве что про KDE, может быть, переведу. Или нет.
Итак: «Как написать приложение для GNOME».
- Возьмите за образец какое-нибудь нормальное приложение для другой платформы (Windows, Mac, KDE — лучше всего Mac). Самый шик — повторить функционал, который реализован уже в трёх приложениях на GTK+, но которые не хотят интегрироваться в Gnome.
- В гназвании должна быть буква «g». А ещё лучше «gn». Если получится сочетание «gno», «gna» или «gnu», это просто гносхитительно, такую программу стоит установить уже за одно гназвание. Убедитесь, что из названия вообще не понятно, что эта программа делает. Пользователи не должны знать, как произносить «g»: как [г], как [дж] или никак.
- Пусть программа использует не менее двух объектных фреймворков. Лучше три. Помните: «O» в слове «GNOME» значит «объектный» (от переводчика: GNU Network Object Model Environment). Выбирайте: Corba, Orbit, Bonobo, D-Bus. Один из выбранных фреймворков обязательно должен уметь работать через сеть, только ни в коем случае не используйте его через сеть.
- Напомните себе, что объектно-ориентированное программирование на чистом C — это не так уж и плохо. assert(gtk_no_really_its_not_so_bad). Еще вспомните, что GTK+ намного лучше Qt, потому что код GTK+, в отличие от кода Qt, не пишется никаким жадным коммерческим предприятием. Так что у GTK+ свободность повышена, а потом, там в названии «+».
- Наделайте врапперов под все существующие языки программирования, только убедитесь, что они все кривые. Настаивайте, чтобы в дистрибутивах каждый враппер запаковывали в отдельный пакет.
- Объясните не менее, чем трём другим программистам, что glib не имеет прямого отношения к GNOME. Потому что им интересно.
- Не забудьте иконку из Tango!
- Ваша программа должна собираться под Windows, но выглядеть там как ЖОПА.
- Сделайте список всех фич, которые хотите реализовать.
- Выкиньте 90% из них. Потому что их кодить слишком сложно. Но только никому этого не говорите, а объясняйте, что они нормальным пользователям не нужны.
- Из оставшихся реализуйте 2%. Ещё 8% спрячьте в gconf. Хорошенько спрячьте.
- В интерфейсе программы должно быть не больше четырёх кнопок.
- Приложение должно зависеть не менее чем от четырёх библиотек с «g» в названии. От этого у него гномовость повышается.
- Не пользуйтесь Mono — это сифилис, убиващий Gnome, и нельзя заражать им других пользователей. Нет, стоп, писать на Mono можно и нужно, от этого подуктивность вашей работы повысится в несколько раз. Нет, стоп, не надо писать на Mono, а то какой-нибудь свободоё... свободолюбивый дистрибутив, который никому не нужен, никогда не примет вашего софта.
- Воспользуйтесь модулем, который в скором времени устареет. Тогда его авторы передумают и объявят, что к концу президентства Обамы они почти договорятся, когда этот модуль начнёт устаревать.
- Если получилось говно, ничего страшного — по крайней мере, Human Interface Guidelines вы соблюли.
Кстати, я знаю, что вы все блокируете мою сраную рекламу AdBlock'ом (или подписываетесь по RSS, так как я не могу туда рекламу запихнуть). Так хоть плюсаните меня на Digg, козлы мелочные.
>>> Оригинал
>>> Как написать приложение для KDE (англ.)
>>> Как сделать сайт свободного софта — руководство для чайников (перевод)