Статьи

Главные разработчики: Дилан Шиманн (создатель Dojo)

Дилан Шиманн (Dylan Schiemann) — одна из самых выдающихся фигур в мире JavaScript и open source. Дилан появляется на конференциях по всему миру, поддерживает проекты с открытым исходным кодом с помощью Dojo Foundation и, самое главное, возглавляет проект Dojo Toolkit . Я поговорил с Диланом о том, чем он занимается сегодня, о выпуске Dojo 1.8 , о том, что мы можем увидеть в Dojo 2.0, и каковы его планы на будущее.


Мы готовы начать работу над 2.0, что будет серьезным усилием.

Привет, Дэвид, моя самая большая страсть — создавать вещи, будь то продукты, проекты, команды и т. Д. Я в настоящее время являюсь руководителем проекта Dojo Toolkit и президентом Фонда Dojo . В последние годы я писал не так много кода, но в этом году я снова стал активнее вносить свой вклад и использовать Dojo. Мы очень рады выпуску 1.8, с бесчисленными часами усилий по улучшению базы кода и документации. Мы готовы начать работу над 2.0, что будет серьезным усилием.

Я также являюсь генеральным директором SitePen , компании, которая предоставляет профессиональные услуги (разработка, консалтинг, обучение и поддержка) организациям, создающим великолепные веб-приложения на основе JavaScript и HTML5. В SitePen невероятно сильная команда экспертов по Dojo и JavaScript, и я каждый день смущаюсь работой, проделанной командами SitePen и Dojo. Мы также недавно объявили о dgrid , невероятно легком, гибком сеточном компоненте с открытым исходным кодом, который построен на Dojo и прост в использовании с другими наборами инструментов. SitePen также работает над своим первым отраслевым продуктом, о котором мы объявим позже в этом году.


У нас были отсрочки и обещания в течение нескольких лет.

Додзё имеет репутацию лидера в освоении новых вещей. Как вы упомянули, у нас были отсрочки и обещания в течение нескольких лет. Наша поддержка нативной векторной графики началась в 2005 году. Аспектно-ориентированные концепции программирования, пабы на стороне клиента, автономное и локальное хранилище в режиме реального времени, история браузера, привязки хранилищ данных для виджетов и многое другое относятся ко всем версиям Dojo от 2005 или 2006. В последнее время наши усилия в области мобильных устройств сделали упор на расширение возможностей мобильных устройств, таких как сетки, чат в реальном времени, графики, датчики, трехмерные интерфейсы и многое другое.


С самого начала Dojo уделял большое внимание открытому вебу, предоставляя полный, но модульный инструментарий для продуктивной работы с JavaScript. У нас были проблемы с ростом в течение года. Например, было время, когда конфигурация Dojo по умолчанию загружалась очень медленно, без четких шагов, чтобы сделать ее быстрее.

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

Конечно, легче выучить что-то меньшее, чем то, что делает больше, но наши энергичные пользователи быстро отмечают, что немного больше обучения заранее экономит им бесчисленные часы на вещи, которые Dojo облегчает. Когда мы запустили Dojo, мы представили сообщество JavaScript, где разработчики могли бы работать вместе, а не постоянно изобретать велосипед. Речь никогда не шла о войне с инструментами, речь шла о создании наилучшего набора инструментов и работе в очень открытой экосистеме, которой также могли бы доверять предприятия.


1.8 имеет новый Ajax API, dojo/request , который упрощает и предоставляет расширения практически для всего, что я могу себе представить, делая HTTP-запрос из браузера или из приложения Node.js. Мы также ввели dojo/Router для упрощения маршрутизации между представлениями. Для 1.8 он работает с изменениями в хэше браузера для совместимости с поддерживаемыми в настоящее время браузерами, а для 2.0 он будет работать с API истории HTML5.

dojox/mobile получил обширные улучшения API и 26 новых виджетов. Есть впечатляющий новый полноценный виджет Календарь, и, конечно же, есть dgrid. Наши реализации синтаксического анализатора и обещаний также получили значительные улучшения. Этот выпуск содержит сотни доработок и исправлений ошибок, которые делают его очень стабильным и стабильным, а также поддержку не браузерных платформ, таких как Node.js. И, конечно, документация, в частности API Viewer и справочное руководство, впечатляют.


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


Работа Dojo на стороне сервера делает возможным многое …

Dojo Foundation уже имеет довольно внушительную серверную JavaScript-инфраструктуру под названием Persevere, которая для многих похожа на Dojo для серверной стороны с поддержкой хранилищ объектов, служб RESTful, реального времени и многого другого. Но работа Dojo на стороне сервера делает возможным многие вещи, такие как тестирование или предварительный рендеринг виджетов в инициализированное состояние на стороне сервера перед рендерингом клиенту, который является недавним проектом GitHub .


Тысячи часов ценного вклада сообщества, а также открытый и привлекательный процесс для участия и вклада. Кроме того, такие компании, как SitePen и IBM, будут делать исправления на основе срочных запросов от своих клиентов. Мы были лучше в этом выпуске с постановкой целей и привлечением большего количества людей, что было действительно здорово. У нас есть много давних участников, но также есть много новых людей, которые сделали 1,8 удивительными.


Мы начнем с очистки наших API-интерфейсов, удаления поддержки вещей, которые были объявлены устаревшими для нескольких выпусков, и просто перейдем к упрощенной отправной точке. Мы также подробно рассмотрим, какие браузеры и платформы мы должны поддерживать … теперь намного проще с помощью встроенного средства обнаружения функций has.js, и действительно легко исключить функции из оптимизированных сборок, но мы все еще хотим упростить обслуживание инструментария.

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


Большая часть DojoX будет разделена на отдельные проекты со своими собственными циклами выпуска.

Я думаю, что многое из того, что мы сделали в последнее время, было связано с производительностью разработчиков и поддержкой вашего кода. Например, AMD решает многие проблемы, с которыми сталкиваются команды при управлении своими кодами или совместном использовании разрозненных модулей. Я верю, что мы увидим довольно масштабную трансформацию способов создания виджетов, чтобы заставить вещи работать больше как работает dgrid. Большая часть DojoX будет разделена на отдельные проекты со своими собственными циклами выпуска. Оттуда становится легче втиснуть больше в браузер и получать больше от наших приложений. Таким образом, мы начнем видеть поддержку таких функций, как HTML5 JavaScript File API или более совершенные способы управления локальным хранилищем. Я ожидаю, что работа с хранилищами объектов и запросами будет беспрепятственно обрабатывать локальные, автономные и удаленные возможности, и в то же время предоставит хуки для настройки по мере необходимости. Dojo всегда предлагал отличные функции с максимально возможным количеством точек расширения, чтобы он мог работать так, как вам нужно.

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

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

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


В настоящее время у нас есть ранняя система управления пакетами, которая называется cpm, со списком доступных пакетов по адресу http://packages.dojofoundation.org/ . dgrid — самый популярный пакет Dojo, доступный сегодня. DojoX, скорее всего, будет разделен, некоторые функции перейдут в Dojo или Dijit, а другие функции, такие как gfx и charting, станут их собственными пакетами верхнего уровня. Они будут по-прежнему доступны под той же лицензией, что и Dojo, а в основных выпусках будут инструменты для простого объединения популярных пакетов в удобные сборки, но выпускать их будет намного легче, чем Dojo.


Это действительно более стабильно, чем любой из виджетов сетки Dojo сегодня

Несколько лет назад мы внедрили оригинальный DataGrid в Dojo, фактически заплатив разработчикам самого популярного стороннего виджета, чтобы он внес его в Dojo Foundation. SitePen, Mozilla и несколько других внесли свой вклад в это. После многих лет итераций и появления мобильных браузеров пришло время для новой, с нуля переписки, которая будет хорошо работать на мобильных и настольных ПК, будет невероятно модульной и работать со всеми новейшими API и функциями. Это стало dgrid. Хотя мы до сих пор называем это бета-версией, она действительно более стабильна, чем любой из современных виджетов сетки Dojo, и мы обнаруживаем, что множество компаний уже используют ее в производстве. Мы также поддерживаем соглашения по стилю jQuery ThemeRoller, так что довольно просто использовать dgrid внутри приложения jQuery без какого-либо другого Dojo, если это ваши предпочтения.


Начните с нашей превосходной серии учебных пособий http://dojotoolkit.org/documentation/, которая сейчас обновляется до версии 1.8. Подпишитесь на нашу рассылку и задавайте вопросы http://mail.dojotoolkit.org/mailman/listinfo/dojo-interest . Попробуйте, напишите нам (на каждой странице документации есть ссылка, чтобы оставить отзыв на этой странице. Мы исправили почти 1000 проблем с документацией, о которых сообщалось только в этом году), подайте сообщения об ошибках или заявки, подпишите лицензионное соглашение для участника онлайн ( http://dojofoundation.org/about/claForm ) и начните вносить вклад в области, которые вас интересуют больше всего.

У нас есть еженедельное собрание IRC на irc.freenode.net # dojo-meeting в 14:00 по тихоокеанскому времени по средам, или вы можете найти нас на #dojo в другое время.

И, конечно, блог SitePen , наши семинары или службы поддержки, если вам нужна помощь прямо сейчас.


Вердикт? Дилан, SitePen и, самое главное, Dojo Toolkit делают большие вещи в сообществе открытого исходного кода. Набор функций и импульс Dojo Toolkit невозможно игнорировать, и разработчики, желающие создать мощные веб-приложения, не должны смотреть дальше, чем Dojo Toolkit.