LINUX.ORG.RU
ФорумTalks

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



Последнее исправление: Ok (всего исправлений: 1)
Ответ на: комментарий от Deleted

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

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

На картинке как раз пример того, каким интерфейс быть не должен.

Вообще-то любое рассуждение об интерфейсе вообще и о «простом пользователе», без указания конкретной задачи и конкретных групп людей бессмысленно. Так что не надо говорить, должен или не должен. Но факт: HTML тонет там, где остальные тулкиты (будь то генерация кода или декларативный QML) идут ровно.

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

ага в томже dojo вообще исключения давятся, потому что нормально обработать их неполучится, и вся морда в итоге молча не работает, а дебажить этот код - пипец.

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

Deleted
()
Ответ на: комментарий от border-radius

Но при этом под GNOME и KDE есть уйма вариантов кастомного оформления интерфейса.

Но при этом все приложения поддерживают единый системный Look&Feel, и заботится об этом тулкит (Qt/Gtk+), программисту об этом думать вообще не нужно. А вот в случае с HTML/CSS скажите, как вы будете поддерживать системный Look&Feel?

hippi90 ★★★★★
()
Ответ на: комментарий от border-radius

Говори за себя

ты меня за глюк считаешь уже?

И не такую туфту генерили.

что твой язык уже мешки ворочает? покажи код, я поржу

Если поля выцепляются из базы, то такое обычно пишут на шаблонизаторах.

такие примитивные вещи я генерю, а пишет их детсад типа вашего ибо вам платят за отжимание на клаве

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

Тулкит отвечает только за look, за feel отвечает программист. Наглядный пример — OK Отмена Применить в кде и их отсутствие в гноме.

PolarFox ★★★★★
()
Ответ на: комментарий от border-radius

Если поля выцепляются из базы, то такое обычно пишут на шаблонизаторах

А говорили, интерфейс можно менять без перезагрузки страницы и манкей-патчинга. Банальное значение в поле задаётся двумя способами: инициализация шаблонизатором и редактирование скриптами на javascript.

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

Зачастую невовремя вылетающее исключение или невовремя вызываемое действие могут поломать интерфейсы, основанные на манкей-патчинге DOM.

Есть реальные примеры? Поломать интерфейс невовремя вызываемым действием можно только в том случае, если не пользоваться коллбэками. А работа с DOM без коллбэков - признак лютых ССЗБ. Вот стили как раз менять безопасно.

border-radius
()
Ответ на: комментарий от PolarFox

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

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

пользователи этого интерфеса тебя убьют если ты сделаешь другой

СиндромУтёнка.жпг.

бухучета

Что ещё ожидать от людей, с детства приученных к убогим бумажным формочкам.

PolarFox ★★★★★
()
Ответ на: комментарий от border-radius

Вот стили как раз менять безопасно.

бгг из-за костыльности вашего html уползший кусок морды в -1000 это норма 8)

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

HTML и JS — говно, я не оспариваю. Но всё же универсальное говно. ☺

Ну я его чем-то плохим не считаю, и с универсальностью целиком согласен. Но когда говорят, что все тулкиты уступают паре HTML5 + CSS, смешно становится, ибо удобный и быстрый интерфейс на этой паре намного труднее сделать by design. Зато клиенты к серверным системам или информационно-развлекательные приложения с журнальной вёрсткой хорошо идут.

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

СиндромУтёнка.жпг.

у тебя еще и этот дагноз?

Что ещё ожидать от людей, с детства приученных к убогим бумажным формочкам.

они свою работу делают хорошо, а ты? Ты убеждаешь других что твое мнение - важнее. Узрей разницу 8)

Deleted
()
Ответ на: комментарий от border-radius

ога ога, например есть ввода адреса:

страна

область\штат

город

улица

и мы в html загружаем сразу все? нет. в html вешаем коллбеки (которые глючат), потом манкей дрочингом грузим значения, и так каждый раз, и это тебе любо! Хаха

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

бгг из-за костыльности вашего html уползший кусок морды в -1000 это норма 8)

Это норма из-за криворукости индусов, такое написавших. HTML тут ни при чём. Сам, когда вижу такое, хочется убиват.

border-radius
()
Ответ на: комментарий от PolarFox

да, у них это профессиональное требование, _им_ этот интерфейс _удобнее_

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

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

на кутях у тебя при загрузке штатов начинается генерится исходник на сях или там всеже есть разница между данными и кодом?

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

да, у них это профессиональное требование, _им_ этот интерфейс _удобнее_

Ну ок, ок, тогда для создания таких приложений и средства используйте подходящие. 1С там или аксес. А у нас тут жном, линукс десктопный, а не бухгалтерский.

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

Не будет варнинга или ошибки при отсутсвии id=«Штаты». То есть будет исключение, но уже на этапе выполнения. Помнится мне одна тёмная история с кучей коллбеков, когда я вылетающее в javascript исключение полчаса искал и не нашёл.

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

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

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

Всё, завязываю кормить, слишком толсто пошло. Пусть IE-дегенераты до сих пор думают о глючном обезьяньем HTML, им так удобнее.

border-radius
()
Ответ на: комментарий от Deleted

Какое ещё радиальное искажение? Что ещё за тип объектива? Вроде на всех нормальных фотоаппаратах просто кнопку нажал и готово, что им ещё надо?

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

Не будет варнинга или ошибки при отсутсвии id=«Штаты». То есть будет исключение, но уже на этапе выполнения.

А что мешает проверять возвращаемое значение?

border-radius
()
Ответ на: комментарий от PolarFox

прямо: ты неграмотный трепач

криво: возьми в зубы ботинокfirebug, выполни свой говнокод, когда исправишь и таки добавишь элемент посмотри исходный код, а потом почитай про то как влияют манипуляции dom на документ и больше не садишь в лужи а то зад простудишь

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

так это border-radius тебя кормит, а то вы оба такой тупняк несете

Deleted
()
Ответ на: комментарий от border-radius

А что мешает проверять возвращаемое значение?

И что делать дальше? Перебирать id «Штаны», «Штатыы», «Шаты»? Отправлять багрепорт на email начальнику, который разбудит кодера хоть в 3 часа ночи и пошлёт исправлять? Показывать алерт «сепулька с grpfsef=1454 внезапно окуклилась»?

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

большинство свалило на Юнити и Кеды

и XFCE.

и MATE

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

Твои проги работают с DOM по крону? Не вижу причины, по которой нельзя обработать null, возвращенный от getElementById в случае ненайденного элемента. Или вы настолько забиваете на тестирование, что такие ситуации реальны?

border-radius
()
Ответ на: комментарий от border-radius

HTML головного мозга. Следующий!

Deleted
()

JavаSсriрt - это тот язык где программист не знает, что действительно делает его программа, пока не обвешает её с ног до головы всеми известными и экспериментальными системами отлова ошибок и попутно напишет свой вариант строгой типизации?

Желаю им удачи и чтобы огонь в их сердце пылал так же жарко, как и под котлом.

Nebuchadnezzar ★★★★
()
Ответ на: комментарий от border-radius

Не вижу причины, по которой нельзя обработать null, возвращенный от getElementById в случае ненайденного элемента.

Невозможно обработать его так, чтобы программа продолжила корректную работу, как будто бы ненайденного элемента не было. Обязательно не сработает какое-то действие. Именно в этом принципиальная проблема манкей-патчинга и «фичи» некоторых языков под общепринятым названием null object.

Наличие нужных элементов в .ui в Qt в большинстве случаев проверяется при компиляции. Или хотя бы в консоль выводится ясное указание, что в такой строчке кода нету нужного слота (теоретически это можно проверить при компиляции, например с помощью плагина к шлангу, но не всё коту масленица).

quiet_readonly ★★★★
()
Последнее исправление: quiet_readonly (всего исправлений: 2)
Ответ на: комментарий от quiet_readonly

Невозможно обработать его так, чтобы программа продолжила корректную работу, как будто бы ненайденного элемента не было.

В вышеуказанной конструкции невозможно, а если результат вынести в отдельную переменную, то вполне возможно. И да, в каких случаях его может не быть? Изначальный HTML можно считать тем же ui-layout-ом.

border-radius
()

Почему не visual basic? Пардон , не gambas?

record ★★★★★
()
Последнее исправление: record (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.