Есть замечательный фрейморк Qt, есть реализация .Net - Mono. Правда есть одно но, если вам нужны уж очень специфические функции (например создание сервиса, на крайний случай доступ к реестру, хотя, например Qt это эмулирует под Linux и естественно это не заменяет работу с ним), то вы в пролете. Проблема, не в разработке, наборе кода и тестировании, а в наборе специфичных API характерных для конкретной системы