Все платформы уникальны в плане дизайна: различное поведение и расположение виджетов, использование toggle кнопок, меню (ribbon, panel menu, title menu) окно настроек (применение по нажатию спец клавиши или пермоментно), диалоги, да даже наименование кнопок - всё разное.
- Множество тулкитов предоставляют возможность генерации гуя для всех платформ, они абстрагируются от платформы и предоставляют обобщенные виджеты вроде кнопки, табов, комбобоксов и т.п. В итоге приложение выглядит якобы нативно, но look&feel нарушено. В эту категорию попадают Qt, wxwidgets и набирающий популярность libui. Преимущества очевидны: единый API. Недостатки: разная кодовая база для каждой платформы, оверхед из-за конвертирования строк в рантайме.
- Тулкиты со своим уникальным дизайном: GTK3, QML или любой велосипед поверх OpenGL. Преимущества: истинная кроссплатформенность, простота реализации и поддержки. Недостатки: приложение везде выглядит инородно.
Из-за популярности web-приложений стоит ли обходить стороной второй лагерь? Без знания платформы невозможно сделать истинно нативное приложение, а существующие тулкиты не могут генерировать HIG-совместимый гуй для каждой из платформ.