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

Какие языки программирования, технологии, подходы, что угодно необходимо использовать для быстрой разработки кроссплатформенных приложений?

Частично могу дать ответ самостоятельно - примером для ответа на сабж может являться node-webkit. И все бы хорошо, и даже отлично - есть куча программистов на JS, все знают HTML и CSS, программисты дешевые, скорость разработки высокая, но проблема в том, что код исходного приложения скрыть сложно. или просто невозможно. *Кстати, может быть лучше копать в эту сторону?*

С другой стороны можно использовать тот же C, где я получу полный контроль над приложением, виджетами и элементами интерфейса - но в этом случае скорость разработки и покрытия тестами падает недопустимо низко, а стоимость явно возрастает.

Я так же могу использовать Python или Golang. В этом случае я получаю скорость разработки, кроссплатформенность, простой поиск или переучивание программистов. Однако, насколько я понял я не имею возможности написать свой виджет или кардинально изменить уже существующий.

======

P.S.: Использование nwshapshot для создания байткода виртуальной машины на основе исходных кодов JS уменьшает производительность на 30%, не всегда работает, а если и работает то только с небольшими JS файлами. То есть приложение, в котором 5 - 8 библиотек плюс рабочий код уже не сожмешь.

Для справки - необходима возможность создавать frameless приложения с полностью своим набором UI элементов. То есть как нарисует художник так и должно выглядеть приложение. Без рамок и заголовков окна ОС, со своими прогрессбарами и поэтэссами
  • Вопрос задан
  • 3221 просмотр
Решения вопроса 1
Lerg
@Lerg
Defold, Corona, Lua, GameDev
Используйте Go в связке с Qt или wxWidgets. Если Qt, то можно играть с QML. А с wxWidgets на мой взгляд проще работать, если не нужны собственные виджеты.
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
@beduin01
D + vibed
Очень хороший вариант.
Ответ написан
@asd111
Основные подходы:
1. Java
2. Qt Framework
Ответ написан
@dplsoft
мои 5 компеек за то, что знаю:

1) +1 за С++\Qt.
в версии 4.5 был самым клевым SDK с самой "гладкой" продуманной структурой классов. Имхо, конечно, но я бы даже сказал, что на фоне Qt, в части стройности API - Java SE выглядит костыльно-лоскутным одеялом ( хотя оно и понятно - у джавы жесточайшее требование обратной совместимости вплоть до Java 1.0, а классы Qt4 были "заново" спроектированы в 2004-2007 гг без поддержания обратной совместимости )
+: крайне продуманный, нелоскутный SDK. в 90% интерфейсов используестя единая логика и подход. вплоть до одинаковых сигнатур функций у классов.
+ : бОльшая часть механизмов GUI-классов заточена на офисные приложения.
- : не все поголовно классы совсем кроссплатформенны. Например Bluetooth на андроид ещё не заточили.

Что сейчас они сделали с QML - увы деталей уже не знаю. Отошел от Qt когда он был 4.8-5.0 (сейчас актуален Qt5.3)

2) я сейчас делаю приложение на Java на LibGDX (по вышеописанной причине с Bluetooth). LibGDX - это, вообще, игровой движок - вы работаете с камерой, сами размещаете объекты/справты/элементы на плоскости, и тд и тп. Потому если вам надо будет делать много менюшек и прочего - в самом начале, пока вы не сделаете свою прослойку менюшек, кнопочек, заголвоочков - вам надо будет вкладываться немного больше, чем с Qt, но зато вы можете сделать много больше, красивее, динамичнее с эффектами.
Ответ написан
@ser
AS3+AIR/Flex.

Один код без портирования экспортируется в бинарники под каждую ОС и работает на Win/Linux/Macos/Android/iOS/Blackberry
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы