Информация об изменениях

Сообщение Re: gui для linux -- на чем? от 22.12.2016 11:59

Изменено 22.12.2016 12:08 463C21E2

Здравствуйте, Darooma, Вы писали:

D>на ум приходит только gtk на Rust и возможно на wxWidgets Haskell'e. не знаю насчет gtk для Haskell'a, возможно, подойдет. Все.


HTML же. Вообще не понимаю этих динозавров, застрявших в прошлом со своими кутэ. Конкретные реализации уже подсказали: Sciter, Electron, от себя добавлю CEF.

Если жёсткие ограничения по перфомансу (нужно что-то близкое к рилтайму, очень много примитивов и прочее подобное), тогда, конечно, никакого HTML, а писать лучше и вовсе нативно под ОС, без библиотек.

D> — С++ -- не хочу


Кто ж хочет.

D> — Python -- не хочу, надо, чтобы исходники были закрыты.


Это зря. Если грамотно отделить GUI layer от остального, его исходники воровать потеряет всякий смысл. Например, пару алгоритмов в нативном коде можно дергать из JS, оформив как обращение к API — вот и всё, и что с JS'ом сделаешь? Создатели сайтов это давно поняли.

D> — C# -- про mono ничего хорошего в целом не слышал.


Дело не в языке, а в том, к чему его привязать. WPF не зря имеет букву W в названии. Если говорит именно о языке, шарпик местами нравится мне гораздо больше, чем JS, хотя бы потому, что он эстетически приятнее (Pascal style и прочие мелочи), имеет самую потрясающую стандартную библиотеку (BCL/FCL) и встроенный LINQ (не надо тащить LINQ.js и прочее). А не нравится тем, что он типизированный и это у него в ДНК. Но говорить именно о языке как раз и нет никакого смысла, поскольку GUI не столько программируется, сколько дизайнится, в том числе — скриптуется, а если у вас это не так — значит у вас спагетти. Поэтому любой ЯП вторичен к ЯР, а ЯР давно уже остался один, который подмял под себя все остальные ))

D> — Java -- разве что. хотя, слышал, что там тоже для GUI косяки есть.


Аналогично.

Вообще, всем, кроме динозавров, понятно, что GUI должен быть декларативным, то есть основан на ML. Каждый и гнёт в сторону своего поделия — QML, XAML, FXML, тысячи их. Конечно, до фига ещё тех, кто пишет GUI императивно, типа, ::DrawRect() или ::DrawEllipse(), но про них что говорить. (Справедливости ради, императивщины такой и в Скайтере хватает, но там она затыкает какие-то дырки в CSS, а не предлагается как основной инструмент).

D>Желательно, но необязательно, чтобы это было кроссплатформенное.


Будет, если всюду использовать один движок, либо ограничиться стандартным CSS.
Re: gui для linux -- на чем?
Здравствуйте, Darooma, Вы писали:

D>на ум приходит только gtk на Rust и возможно на wxWidgets Haskell'e. не знаю насчет gtk для Haskell'a, возможно, подойдет. Все.


HTML же. Вообще не понимаю этих динозавров, застрявших в прошлом со своими кутэ. Конкретные реализации уже подсказали: Sciter, Electron, от себя добавлю CEF.

Если жёсткие ограничения по перфомансу (нужно что-то близкое к рилтайму, очень много примитивов и прочее подобное), тогда, конечно, никакого HTML, а писать лучше и вовсе нативно под ОС, без библиотек.

D> — С++ -- не хочу


Кто ж хочет.

D> — Python -- не хочу, надо, чтобы исходники были закрыты.


Это зря. Если грамотно отделить GUI layer от остального, его исходники воровать потеряет всякий смысл. Например, пару алгоритмов в нативном коде можно дергать из JS, оформив как обращение к API — вот и всё, и что с JS'ом сделаешь? Создатели сайтов это давно поняли.

D> — C# -- про mono ничего хорошего в целом не слышал.


Дело не в языке, а в том, к чему его привязать. WPF не зря имеет букву W в названии. Если говорит именно о ЯП, шарпик местами нравится мне гораздо больше, чем JS, хотя бы потому, что он эстетически приятнее (Pascal style и прочие мелочи), имеет самую потрясающую стандартную библиотеку (BCL/FCL) и встроенный LINQ (не надо тащить LINQ.js и прочее). А не нравится тем, что он типизированный и это у него в ДНК. Но говорить именно о ЯП как раз и нет никакого смысла, поскольку GUI не столько программируется, сколько дизайнится, в том числе — скриптуется, а если у вас это не так — значит у вас спагетти. Поэтому любой ЯП вторичен к ЯР, а ЯР давно уже остался один, который подмял под себя все остальные ))

D> — Java -- разве что. хотя, слышал, что там тоже для GUI косяки есть.


Аналогично.

Вообще, всем, кроме динозавров, понятно, что GUI должен быть декларативным, то есть основан на ML. Каждый и гнёт в сторону своего поделия — QML, XAML, FXML, тысячи их. Конечно, до фига ещё тех, кто пишет GUI императивно, типа, ::DrawRect() или ::DrawEllipse(), но про них что говорить. (Справедливости ради, императивщины такой и в Скайтере хватает, но там она затыкает какие-то дырки в CSS, а не предлагается как основной инструмент).

D>Желательно, но необязательно, чтобы это было кроссплатформенное.


Будет, если всюду использовать один движок, либо ограничиться стандартным CSS.