JavaScript выбран в качестве основного языка разработки приложений для GNOME
На состоявшемся на днях съезде 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, а также связанных с ним биндингов, инструментария и документации, с целью достижения нового уровня качества, но это решение ни в коем случае не означает забвения биндингов для других языков», подчеркнул Рейттер.