LINUX.ORG.RU

Десктоп приложения GNOME на языке JavaScript

 ,


0

0

Сайт ArsTechnica.com опубликовал статью, рассматривающую наиболее продвинутые средства для создания десктоп приложений на языке JavaScript, интегрируемых в окружение GNOME.

«Недавно мы провели обзор возможностей скриптинга в популярном аудиоплеере для KDE — Amarok'е. Значительное расширение функционала было реализовано с помощью скриптинга, и, как было показано в статье, это оказалось очень лёгкой задачей даже для простого пользователя.

В скором времени на платформе GNOME может появиться схожая функциональность. Два проекта (чуть ниже) могут предоставить набор JavaScript привязок и „встраиваемый“ скриптинг для разработчиков на GTK+.

  • Проект Seed (http://live.gnome.org/Seed) — это библиотека и интерпретатор, работающие над WebKit JavaScriptCore.
  • Проект Gjs (http://live.gnome.org/Gjs) — JavaScript-движок, основанный на Spidermonkey.»

>>> Статья

ппц. xml был. js хотят. давайте сразу на Brainfuck'е делать конфиги.

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

anonymous
()

Прикольно статью рассказал.
Насколько я поню, смысл был том, что ещё первые версии Гнома скриптовались scheme(guile) а теперь вот можно и JavaScript.

Примеры приложений в статье для Seed.

Обе группы, по предложению Gjs работают над стандартизацией подхода.

Gjs использует Gecko a Seed WebCore, соответственно Javascript в Gjs более продвинутый c let, генераторами, итераторами и прочим.

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

BF как раз проще будет чем даже текст Хаскель, только хаскель или английский :)

anonymous
()
Ответ на: комментарий от gaa

> Вот неожиданно то как! Пользователь-то, оказывается, не тупой имбецил и может, а главное --- хочет писать программы!

Внезапно, прозрение кдешника? :)

AP ★★★★★
()

Наконец-то ! Давно пора все глючные быдлопитоновские приблуды из десктопа выкинуть.

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

ДА, ДА, ДА!!! ...И добавить в десктоп быдложаваскриптовские приблуды.

anonymous
()

Если честно, то я совсем не понял такого негативного отношения к новости. Есть много программ, где конфиги являются "программами" на другом языке (обычно более высокого уровня).

emacs -- lisp

awesome wm -- lua

xmonad -- haskell

Или все дело что это яваскрипт?.. который все ненавидят(?)

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

JS позиционируется так: GNOME - JS GTK - JS Gimp - JS

где-то так. :)

anonymous
()

Хорошо, статью прочел, примеры посмотрел. Однако думаю, что все это немного пока сыровато. А как обстоят дела в конкурирующем лагере? Можно ли создать полноценные приложения на QtScript? Если да, ткните носом в примеры и документацию.

anonymous
()

ну и отлично. че не нравится-то? когда на схеме писали для sawfish, не жаловались же. а тут схема с сишным синтаксисом, специально для неосиливших ^_^

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

>Нет - в том что конфиг исполняемый. О чем мечтали лугогвские слиспом сбылось на жабаскрипте:)

То, о чём я тут толкую, т.е. конфиг для произвольного приложения на JS - это ещё ни разу не сбылось. Это только мои мечты.

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

>а тут схема с сишным синтаксисом, специально для неосиливших ^_^

Только неосилившие JS считают, что в нём сишный синтаксис. В целом он не более сишный, чем у перла.

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

>а я как написал? ох уж эти капитаны.

А ты написал, что javascript - это схема с сишным синтаксисом, что неверно. Впрочем, конечно, "сишность" JS больше, чем у схемы.

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

> Нет - в том что конфиг исполняемый. О чем мечтали лугогвские слиспом сбылось на жабаскрипте:)

А как же легиндарный конфиг на сноболе? А lua? В-общем, хорошая идея.

Но топик, это javascript как язык общего назначения.

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

> Gjs использует Gecko a Seed WebCore, соответственно Javascript в Gjs более продвинутый c let, генераторами, итераторами и прочим.

В комитете, вообще, бойня. Mozilla продвигает в стандарт языка реально красивую функциональщину, а M$ блокирует все инициативы. Им де не осилить. Козлы.

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

>Mozilla продвигает в стандарт языка реально красивую функциональщину

Мне честно говоря не верится, что люди, у которых "конфиг на JS" выглядит как последовательность вот такого вот:

user_pref("calendar.view.visiblehours", 12);

может продвигать в стандарт что-то "реально красивое".

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

Он же автогенерируемый. А как по Вашему его надо было сделать? С элементами дуракозащищенности и межверсиронной совместимости.

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

> Гномеры изобрели плазму?

Нет, это плазма изобрела гномеров.

darkstyler
()
Ответ на: комментарий от Loh

>Он же автогенерируемый. А как по Вашему его надо было сделать? С элементами дуракозащищенности и межверсиронной совместимости.

Делать как я здесь написал выше. Конструкция {ключ:значение,...} по сути не содержит кода, она парсится транслятором и отправляется в память. Скорость при должной оптимизации парсера можно получить как у xml. Обратно в тот-же вид - сериализацией.

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

>Делать как я здесь написал выше. Конструкция {ключ:значение,...} по сути не содержит кода, она парсится транслятором и отправляется в память. Скорость при должной оптимизации парсера можно получить как у xml. Обратно в тот-же вид - сериализацией.

json еще быстрей и как раз имеет вид {ключ:значение,...}, но он именно, что не содержит кода. Это сериализация объектов. А конфиг предполагается с кодом, с активным содержимым.

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

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

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

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

естественно, но конфиг должен быть по возможности простым и единообразным. По моему мозиловцам это удалось.

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

Тут выше жаловались, что, мол, так конфиги станут ещё менее читаемыми, чем XML. Так вот их мозилла напугала.

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

>... конфиг для произвольного приложения на JS

А как же валидация, неужто программно реализовывать?

anonymous
()
Ответ на: комментарий от legolegs

по моему, как раз наоборот.

Сложность xml в том и состоит, что много скобок из ничего.

а тут нормальный синтаксис.

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

>А как же валидация, неужто программно реализовывать?

Какая валидация? Та, которой нет в ini?

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

> json еще быстрей и как раз имеет вид {ключ:значение,...}, но он именно, что не содержит кода. Это сериализация объектов.

Дааа? А функции с кодом - это не объекты?

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

>Дааа? А функции с кодом - это не объекты?

ну вообщето функции с кодом, это функции. А объекты как раз могут содержать функции.

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