LINUX.ORG.RU

JavaScript выбран в качестве основного языка разработки приложений для GNOME

 


0

3

На состоявшемся на днях съезде GNOME Developer Experience Hackfest команда разработчиков GNOME рассмотрела вопрос выработки рекомендаций по выбору языка программирования для разработки приложений, создаваемых для работы в GNOME. Мотивом определения рекомендованного по умолчанию языка стали участившиеся вопросы начинающих разработчиков о том, какой инструментарий надо использовать при написании приложений для GNOME. До настоящего момента однозначного ответа на этот вопрос не было, но теперь команда разработчиков GNOME решила стандартизировать JavaScript как язык для написания пользовательских приложений GNOME, одновременно рекомендуя язык Си для написания системных библиотек.

Съезд разработчиков GNOME состоялся перед открытием конференции FOSDEM 2013 в Брюсселе. По вопросу выбора единого языка для разработки приложений GNOME было достигнуто обоюдное согласие участников обсуждения, поскольку единый язык упрощает разработчикам подготовку документации и обмен знаниями с новичками, а также облегчает задачу по интеграции приложений, написанных для десктопа с использованием предоставляемой проектом инфраструктуры.

Выбор JavaScript обусловлен несколькими факторами:

* JavaScript уже хорошо поддерживается в GNOME 3, так как GNOME Shell использует его для реализации пользовательского интерфейса и дополнений;

* Наблюдается большая работа по оптимизации производительности JavaScript, его развития как встраиваемого и не зависимого от фреймворков языка;

* Имеется успешный опыт применения JavaScript для аналогичных целей в таких системах, как Windows 8, Firefox OS, webOS, Tizen и KDE, что, как надеется команда разработчиков, упростит работу новых членов команды GNOME;

* JavaScript прекрасно отвечает потребностям GNOME в динамическом и высокоуровневом языке;

* JavaScript является самодостаточным решением, легко интегрируемым в платформу и не связанным с собственным набором базовых библиотек.

Разработчики GNOME отмечают, что выбор JavaScript по умолчанию вовсе не означает отказ от поддержки других языков. Разработка существующих биндингов и обеспечение совместимости с различными языками программирования будет производиться как и раньше. «Очень важно понять, что данное решение направлено на выдвижение на первый план JavaScript, а также связанных с ним биндингов, инструментария и документации, с целью достижения нового уровня качества, но это решение ни в коем случае не означает забвения биндингов для других языков», подчеркнул Рейттер.


Говорят с приходом американцев в Афганистан, выросло производство маковой соломки в этой стране. Видать волна докатилась.

leonidko ★★★ ()

Корабль в бутылке в корабле в бутылке

Прозреваю будущее: написанный на JS браузер, в котором крутится JS-среда, обеспечивающая интерпретацию локальных веб-JS-приложений.

Где все эти люди берут такую траву?

geekless ★★ ()

Вместо тега «поехали» должен быть тег «упоролись». Прозреваю тонны быдлокода на JS. Gnome мертвеет ниже 0.

toney ★★★★★ ()
Ответ на: Корабль в бутылке в корабле в бутылке от geekless

Прозреваю будущее: написанный на JS браузер, в котором крутится JS-среда, обеспечивающая интерпретацию локальных веб-JS-приложений.

Аналогичная мысль возникла. Не стал её высказывать, ибо пока не додумался, в какой среде будет запускаться такой браузер.

toney ★★★★★ ()
Последнее исправление: toney (всего исправлений: 1)

Хорошие новости, хоть я не любитель JS, и тем более Gnome, видно что линуксы развиваются быстрее остальных «ОС». Они сообразили, что к чему.

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

видно что линуксы развиваются быстрее остальных «ОС»

«Остальные ОС» уже 1,5 года как уже перешли на JS в кое-каком интерфейсе.

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

Они сообразили, что к чему.

И что же к чему? Видя, как этот кусок говна тормозит и лагает даже будучи написанным на си, у меня только одно предположение: ямайские ученые доказали, что ничего нет.

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

Ну и в линуксе пока что в «кое-каком», причем на 1,5 года медленнее чем в «кое-каком» интерфейсе в «остальных ОС» :)

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

Ну, Gnome становится рабочей средой будущего - рантаймом для веб приложений.

Lorchanin ()

Windows 8, Firefox OS, webOS, Tizen и KDE

Гном решил присоединиться к вечеринке на кладбище?

Kor03d ★★ ()

А чего вы так волнуетесь? Гномом сейчас кто-то пользуется что ли? Просто у меня сложилось такое впечатление что большинство свалило на Юнити и Кеды, если не считать оставшихся на втором Гноме.

firestarter ★★★☆ ()

Ненужно выбран в качестве основного языка разработки ненужно для ненужно

fixed.

wintrolls ☆☆ ()
Ответ на: комментарий от firestarter

За неимением лучших альтернатив во всяких убунтах по-дефолту идут гномовские приложения.

PolarFox ★★★★★ ()
Последнее исправление: PolarFox (всего исправлений: 1)

Песец. Теперь гном будет тормозить так же как кеды?

drull ★☆☆☆ ()

Правильно я сделал что остановился на втором гноме.

drull ★☆☆☆ ()

Ненужно выбрано для ненужно.

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

Теперь гном будет тормозить так же как кеды?

У меня Кеды не тормозят, ЧЯДНТ? Про Гном ничего сказать не могу, видел только на скриншотах (а третий даже и на них не видел, кстати, поэтому и создаётся такое впечатление что им никто почти не пользуется).

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

(а третий даже и на них не видел, кстати, поэтому и создаётся такое впечатление что им никто почти не пользуется).

Суслика видишь?

KennyMinigun ★★★★★ ()

не связанным с собственным набором базовых библиотек.

Питончик, стало быть, не подходит, потому что под него уже куча всего написано. Ну ладно, JS так JS: function foo(){(function(){return function(){do_foo();};})();}. Ладно. Но есть же node.js, под него туча модулей (npmjs.org) с готовым менеджером пакетов. Но не-е-ет. Надо написать свой gjs, в котором ни хрена нет, зато свой.

Вместо аккуратных стектрейсов нода вы на каждый чих получите segfault, потому что это не прослойка (типа appjs), а низкоуровневый биндинг. Документации нету, она вся либо под C, либо под питон. Причем под каждым скриптовым языком все немножко разное, иначе было бы неинтересно.

Вот пример. Берем док по питону. Там написано:

  from gi.repository import Gtk
  win = Gtk.Window()
  win.connect("delete-event", Gtk.main_quit)
  win.show_all()
  Gtk.main()
Работает, отлично. Переводим на JS:
  var Gtk = imports.gi.Gtk;
  var win = new Gtk.Window();
  win.connect("delete-event", Gtk.main_quit);
  win.show_all();
  Gtk.main();
Что получим? Естественно, segfault, что же еще. Надо было сделать Gtk.init(null).

Удачи в отладке сегфолтов, гномы! ();};})();}

crimson_eyes ()

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

quiet_readonly ★★★★ ()
Ответ на: Корабль в бутылке в корабле в бутылке от geekless

Прозреваю будущее: написанный на JS браузер, в котором крутится JS-среда, обеспечивающая интерпретацию локальных веб-JS-приложений.

Где вы берёте эту траву?

Чем плохо использование javascript там, где явно нет боттлнеков?

quiet_readonly ★★★★ ()

Хм, надо подкинуть им идею, что GNOME 4 можно бы написать на Java: отличная платформа, Ънтерпрайз, веб-ориентированно. Я серьезно.

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

ООП на Javascript нулевое.

Что-то недавно изменилось и его убрали?

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

А чего вы так волнуетесь? Гномом сейчас кто-то пользуется что ли? Просто у меня сложилось такое впечатление что большинство свалило на Юнити

Юнити это тоже Гном 3

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

Подписываюсь под каждым словом. С инфраструктурой в плане API, языков и сред разработки у гнома традиционно беда. Вероятно, из-за этого и не взлетит (разве что на чужих крыльях).

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

Вместо тега «поехали» должен быть тег «поехавшие»

fixed

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

если сделать конпелятор жс в нативный код - почему бы не на процессоре

stevejobs ★★★☆☆ ()

теперь это тред-детектор

  • неосиляторов джаваскрипта
  • фапающих на C/C++ (возможно, не написавших ничего (более hello word`a) на нем)
  • не понимающих что и на C/C++ можна написать тормозное поделие
ZuBB ★★★★★ ()
Ответ на: комментарий от crimson_eyes

Что получим? Естественно, segfault, что же еще. Надо было сделать Gtk.init(null).

Gtk.init(null).

будем надеяться что это починят

ZuBB ★★★★★ ()

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

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

если сделать конпелятор жс в нативный код - почему бы не на процессоре

Только ограниченный получится, как в Unity3D. Только хватит ли смелости создателям такого компилятора сделать его библиотекой? Чтобы не в нотепаде кодировать с кривой подсветкой ключевых слов, а в православной IDE или в vim, но с диагностикой ошибок и корректным автодополнением (с выводом типов).

quiet_readonly ★★★★ ()

Нет, такая среда мне не нужна. Видимо, пора искать замену единственному гномовскому приложению, которое я использую.

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

теперь это тред-детектор

Яваскрипт замечательный язык. У неосиляторов он конечно в голове спутан с броузерами и DOМ моделью. и с ООП там все в порядке, хоть и не в том стиле что в Яве или С++. Так что всем смотреть Crockford on JavaScript http://www.youtube.com/watch?v=ya4UHuXNygM

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

не на пустом месте родился стереотип, что фф тормозит.

Не на пустом, хром и опера быстрее запускаются из-за более оптимизированного процесса инициализации и отсутствия XUL.

quiet_readonly ★★★★ ()

Ну теперь-то виндоусу точно конец.

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

теперь это тред-детектор

* неосиляторов джаваскрипта
* фапающих на C/C++ (возможно, не написавших ничего (более hello word`a) на нем)
* не понимающих что и на C/C++ можна написать тормозное поделие

А ты из каких будешь?

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