LINUX.ORG.RU
ФорумMobile

Какой язык выбрать для разработки GUI-фреймворка для планшетного Linux?

 , , ,


0

2

Интересно ваше мнение, какой язык можно выбрать для написания нового GUI-фреймворка для Linux? Я бы хотел написать для себя (и для других) удобную библиотеку для встраиваемого Linux с сенсорным вводом (планшеты с тач-скрином).

Сам я пробовал GTK+, Qt и Kivy. GTK+ не нравится своим языком разметки интерфейса на основе xml, странным видом байндингов сигналов, глючной инфраструктурой разработки и тем, что разрабы часто глухи к желаниям пользователей. Qt мне нравится многим, но в последнее время они как-то нестабильно ведут себя относительно открытости лицензии. Документация в последние годы тоже стала заметно хуже. Зато их язык разметки интерфейса, qml, довольно неплох. Kivy - GUI-фреймворк на python. Он во многих местах довольно сырой, приложения с ним довольно долго загружаются, но на нём можно легко и быстро написать приложение, и его язык разметки интерфейса, kv, тоже очень приятен.

Хотелось бы узнать ваше мнение, на каком языке лучше создать новый фреймворк?

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

C++ - прекрасный язык, если его правильно использовать. Единственная трудность с C++ - не так много людей, кто может его правильно использовать. Кажется, что язык потихоньку теряет свою популярность.

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

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

C# - не очень популярен в Linux окружении, возможно, будет тяжеловат во встраиваемом окружении.

JVM-based - кажется, что могут быть тяжеловаты во встраиваемом окружении.


Ответ на: комментарий от hobbit

Вот есть программа, которая пишет свои данные в cp1251, например. А я пишу другую программу, которая должна (помимо прочего) уметь читать файлы от первой программы. Это, может, не главная функция, но существенно облегчающая переход со старой программы.

И, соответственно, где-то в районе Qt4 случилась переходная версия, импортировавшая ретро, а сохранявшая в Unicode. Оба оставшихся необработанными с тех пор файла если что конвертнут потом ей.

t184256 ★★★★★
()

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

izzholtik ★★★
()
Ответ на: комментарий от t184256

переходная версия

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

Ты свой опыт, походу, очень сильно экстраполируешь на области, где он не работает.

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 1)
Ответ на: комментарий от hobbit

Нет, это у меня просто были неплохие выходные и вера в человечество проснулась.

t184256 ★★★★★
()
Ответ на: комментарий от AKonia

Повторюсь, попробуйте, пока такая оценка в 30-50 очень голословная, т.к. во-первых холостой загруз может быть связан с холостым прогоном конвеера на графическом ускорителе

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

embden
() автор топика
Ответ на: комментарий от embden

Смотря каких задач, да и питон в чистом виде не помню чтобы кто-то использовал, на питоне пишут сценарии, внутри которых медленные вещи написаны на си, но облачены питоновским интерфейсом

AKonia ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.