Хабрахабр

Github.com отказывается от использования jQuery и переходит на чистый JavaScript

Сегодня Mislav Marohnić объявил о том, что разработчики Github избавились от jQuery на фронтенде GitHub.com. Казалось бы, в самом этом факте нет ничего примечательного, если бы не один интересный момент.

Вместо них были использованы следующие средства: Проблема выбора нового фреймворка для фронтенда была решена радикально — решено было обойтись без фреймворков в принципе.

  • querySelectorAll (который предположительно был вдохновлен когда-то именно jQuery),
  • fetch для работы с AJAX,
  • delegated-events для обработки событий,
  • полифиллы для работы с DOM,
  • пользовательские элементы (Custom Elements), которые сейчас на подъеме.

Помимо Custom Elements, ничего другого из Web Components было решено не использовать. Разработчики присматривались к Shadow DOM и были бы не против прибегнуть к нему — однако, в силу того, что на полифиллах скорость поиска в DOM оставляет желать лучшего, им пришлось пока отложить эту затею.

По их словам, для того, чтобы «отдавать» посетителям меньше килобайт, иметь возможность использовать более явно выраженный синтаксис для выполнения манипуляций с DOM, а также ради возможности использовать библиотеку Flow. Зачем разработчикам в принципе потребовалось все это сделать? По словам разработчиков, процесс ухода с jQuery занял годы.
image JS для статического анализа типов.

Эдди Османи из команды Google Chrome оценил быструю скорость работы и загрузки новой версии сайта

На смену плагину jquery-pjax пришел vanilla pjax, который «заточен» специально под Github, снабжен улучшениями и тесно связан с кодовой базой — к сожалению, код используемой Github версии библиотеки вряд ли будет открыт в связи с трудностью ее поддержки в будущем.

Для браузеров, в которых отсутствует нативная поддержка fetch, в Github был написан собственный полифилл; для делегирования событий используется библиотека delegated-events. Кстати, многие из своих веб-компонентов Github выкладывает в open source — посмотреть их можно по ссылке, в дальнейшем список будет расширяться. Обе библиотеки доступны под лицензией MIT.

Показать больше

Похожие публикации

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»