Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
потому что это единственный способ сделать красивый кроссплатформенный GUI на данный момент
Вопросы: я могу с помощью JavaScript прочитать строку из файла?Вы слышали про node.js?
1) Кроссплатформенность.Unix/Linux (X11), Windows, OS X.
2) Должна быть возможность написать приложение полностью на скриптовом языке.Вот здесь у них перечислены Tcl/Tk, Perl, Guile, Python, Ruby и др. Lua, правда, не упоминается.
3) Это должен быть развитый язык общего назначения с широким набором библиотек. Т.е. я должен иметь возможность на этом скриптовом языке работать с файлами, и многое другое.
4) Богатый набор стандартных виджетов, возможность легко создавать собственные — произвольного внешнего вида и поведения.На мной вкус довольно богатый «из коробки», собственные создаются или наследуются легко и просто.
5) API должен быть лаконичным и простым, хорошо также иметь возможность описывать GUI декларативно (типа QML, Kivy language).К API у меня нареканий нет; но декларативные средства (если не считать fluid) отсутствуют.
6) Графический редактор интерфейса (как Qt Designer).FLUID, входит в поставку. Не такой продвинутый, как Qt Designer, конечно, но пользоваться можно.
8) Библиотека должна использовать OpenGL там, где это оправдано. (по данным Google больше 90% всех устройств поддерживают OpenGL ES 2.0)Natively supports 3D graphics via OpenGL and its built-in GLUT emulation. Другое дело, что это все-таки скорее для кастомных виджетов.
7) Идентичный на всех платформах внешний вид.Это все можно сказать про FLTK.
9) Библиотека должна быть удобна в сборке и установке, иметь хорошую, регулярно обновляемую документацию. Она не должна быть избыточна (в той же Qt переписали почти все стандартные библиотеки C++).
10) Небольшой размер. Простое приложение с GUI не должно весить под 100 МБ.
11) Небольшое число зависимостей, как можно более распространённых и без жёсткой привязки к конкретной версии.
#include <stdio.h>
int main (void)
{
printf ("Hello World\n");
}
JS до сих пор узконаправленный — он работает только в браузере. А можно напрямую к JS прикрутить код на C/C++? Разве только в рамках Qt. Тот же Python уделывает JS по широте возможностей, а Lua по простоте встраивания его и в него.JS уже давно не только «браузерный»; есть легковесные, легко встраиваемые реализации (например, duktape), хотя Lua, конечно, встраивать проще (чтобы к duktape «прикрутить код на C/C++», нужно писать много boilerplate кода, который по-хорошему должен авто-генерироваться, по типу SWIG).
Нативная UI-библиотека для Go