Выбор инструментов для разработки кроссплатформенных десктопных приложений с современным дизайном

Вопрос по своей сути довольно фундаментальный. На мой взгляд, современное изобилие нативных инструментов, библиотек и фреймворков ощутимо повышает порог вхождения и является источником подобных вопросов.

Предположим, разработчику поставлена задача: написать кроссплатформенное (Linux, Windows, macOS) приложение с современным интерфейсом.

Прежде всего, как я понимаю, необходимо определиться с основными инструментами и языком. Из требований изложенных выше следует, что:

  • Во-первых, использование нативного APIWinForms и, например, Cocoa, — как и систем наподобие WPF, попросту не представляется возможным из-за зависимости от конкретной платформы.
  • Также использование Windows Forms невозможно из-за несоответствия к требованиям построения современного интерфейса программ (хотя в данном случае, возможно, корректнее обобщить, потому что базовые графические элементы всех операционных систем — виджеты — очень ограничены в отношении кастомизации).

Получается, как минимум нужно использовать какой-то фреймворк. И тут возникает другая проблема — высокая насыщенность. К примеру, можно использовать Qt с QML, GTK (не уверен, что он поддерживает что-то кроме виджетов) либо вовсе Electron. Так вот, первый вопрос — на чем лучше остановиться? Может, существуют определенные стандарты в индустрии или критерии, согласно которым производится выбор подходящих инструментов.

А второй заключается в выборе языка, а именно: интересуют нюансы, с которыми придется столкнуться. Скажем, Qt в связке с C++ позволяет собрать программу, которая будет зависеть только от наличия библиотек самого фреймворка. Но ведь в том числе можно использовать Python, правда, видимо, в таком случае программы обычно не собираются (они распространяются в виде исходных кодов?), при этом появляется дополнительная зависимость от Python.


Ответы (0 шт):