Дэйв Мэтвин: jQuery создают личности

    В современном мире вряд ли найдется Frontend-разработчик, который никогда не пользовался библиотекой jQuery. Именно jQuery значительно упростила работу с JavaScript и позволила разработчикам не беспокоиться о кросс-браузерных вопросах.

    Команда jQuery работает над проектом уже почти семь лет. Дэйв Мэтвин (Dave Methvin) – президент jQuery Foundation – прошёл долгий путь от участника сообщества до главного разработчика ядра. Сейчас Дэйв готовится к приезду на первую российскую конференцию, посвящённую библиотеке jQuery, #jQueryRussia.



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

    В: Какие тренды в jQuery-разработке вы считаете наиболее интересными?

    О: jQuery сейчас вышла далеко за пределы веб-страницы. Люди используют jQuery в аддонах Chrome и Firefox, приложениях PhoneGap и приложениях Windows 8 Metro. jQuery используется даже на серверах через Node.js. Одна из причин, по которой мы сочли важным выпустить jQuery 2.0, — это поддержка платформ, использующих HTML, CSS и JavaScript, но не являющихся традиционными страницами в веб-браузере.

    В: Версия jQuery 2.x утратила совместимость с IE<9. Что она получила взамен, следует ли нам использовать её или 1.x везде пока что подходящий вариант?

    О: jQuery 2.0 стала меньше по размерам, поскольку мы смогли избавиться от кода, который был необходим для старых версий IE. Это позволяет библиотеке быстрее загружаться, а также увеличивает производительность некоторых операций, которым больше не нужна проверка, связанная с поддержкой старых версий IE. Конечно, прежние версии IE ещё достаточно широко используются в сети, поэтому наша команда будет поддерживать jQuery 1.x и обеспечивать её взаимодействие с 2.х. Мы рекомендуем использовать jQuery 1.x для тех веб-сайтов, которые, скорее всего, будут открываться в IE8 и более старых версиях.

    В: Что вы думаете о Web Components и «родных» средствах шаблонизации?

    О: Команда jQuery очень воодушевлена Web Components и сотрудничает с W3C для определения этого стандарта. Также мы работаем над проектом Polymer, чтобы реализовать новые функции, вроде Pointer Events, в прежних версиях браузеров. Мы хотим, чтобы разработчики с помощью jQuery могли легко работать и на новых, и на уже существующих платформах, что особенно важно в современном мире, когда версии браузеров выпускаются с разной скоростью и разной функциональностью.

    В: Что вы думаете о разработке и перспективах внедрения стандарта ES6? Будет ли это новый язык, медленно воспринимаемый сообществом или большинство браузеров тут же обновят свои движки под него?

    О: У ES6 есть несколько замечательных функций, но, скорее всего, пройдёт несколько лет до того момента, когда разработчики смогут использовать его в открытом вебе, поскольку его текущее состояние изменяется очень медленно. Например, половина существующих мобильных устройств на Android до сих пор работают на версии 2.3 и предыдущих! В проектах, где среда исполнения не является проблемой, например, Node.js или в корпоративных приложениях, разработчик сможет использовать ES6 быстрее. Но jQuery не сможет воспользоваться достоинствами ES6 до тех пор, пока большинство систем не будут поддерживать ES6. Ну, или нам стоит создать jQuery 3.0 :-)

    В: На конференциях jQuery вы обсуждаете не только вопросы, касающиеся самой библиотеки. Какие тренды Frontend-разработки вы можете назвать, за какими из них порекомендуете следить разработчикам?

    О: Идеи адаптивного дизайна и прогрессивного улучшения сейчас витают в воздухе, и именно они являются теми направлениями Frontend-разработки, которые программистам нужно использовать, если они ещё не делают этого. Сайт http://www.bostonglobe.com/ — прекрасный пример концепта единого гибкого дизайна, работающего на всех видах мобильных устройств.

    В: В современном мире разработки существует множество относительно новых фреймворков, таких как AngularJS и Ember. Как в эту экосистему включается jQuery?

    О: jQuery – это фундаментальный компонент и для AngularJS, и для Ember. AngularJS поддерживает версию «jQuery light», но разработчики могут использовать вместе с ним и полную версию jQuery и jQuery UI. Разработчикам также стоит помнить, что любой фреймворк, даже такой простой как Backbone, полностью зависит от JavaScript. Это может привести к проблемам с адаптивным дизайном или с поисковыми движками.

    В: jQuery появилась в 2006 г. С тех пор прошло достаточно много времени, меняются и ожидания тех, кто использует библиотеку. Насколько изменилось сообщество jQuery за эти годы?

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

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

    Мы верим, что ядро jQuery API практически завершено к настоящему моменту. Почти всё, что просят добавить пользователи в jQuery, может быть реализовано в качестве плагинов, либо с помощью нескольких строк кода на странице пользователя. Это позволяет добавить нужные функции, не утяжеляя приложения и не сказываясь на его производительности.

    В: Как проходит работа в баг-трэкинговой системе? Как сортируете запросы и определяете наиболее приоритетные тикеты?

    О: Каждый проект jQuery снабжён баг-трэкинговой системой, которая принимает отчёты о найденных багах и предложения о функционале. Трэкер jQuery Core находится по адресу http://bugs.jquery.com, но с этой страницы можно перейти и в отдельные баг-трэкеры для jQuery UI, jQuery Mobile и другие проекты.

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

    В: Когда вы подключились к разработке jQuery, библиотека была еще достаточно молодой. Что именно заинтересовало вас в ней, почему вы стали вкладывать в нее свои силы и время?

    О: Изначально в jQuery меня заинтересовали даже не веб-страницы. В то время я писал Windows-приложение, которое использовало средства Microsoft WebBrowser для переноса HTML внутри окна, чтобы оно работало в Интернет-окружении. Написание JavaScript-кода для этого приложения было очень нудной работой до тех пор, пока я не столкнулся с jQuery. Скорость написания кода значительно увеличилась, и с ним стало проще работать.

    Я очень благодарен создателю jQuery, Джону Резигу, за его готовность помочь людям и поддержку их идей. После опыта со своим приложением я послал Джону электронное письмо, в котором изложил предложения по улучшению jQuery, — это произошло вскоре после её выхода в 2006 г. Джон с радостью мне ответил и добавил меня в список рассылки пользователей jQuery, которые обсуждали будущее библиотеки. Я активно стал работать с баг-трэкером, и, в конце концов, стал членом команды.

    В: Когда-то вы работали над jQuery в качестве участника команды разработчиков. Теперь вы ведущий разработчик ядра. Как это повлияло на ваше восприятие проекта и работу с ним?

    О: Что мне действительно нравится в команде jQuery – вовлечённость каждого участника во все аспекты проекта. Это включает в себя сортировку багов, отслеживание запросов на изменения, написание патчей, поиск решений по будущим релизам. Таков был подход Джона, когда он управлял проектом, и я стараюсь продолжать эту традицию. Это похоже на управление стаей сообразительных котов. Каждый участник достаточно умён, чтобы самостоятельно принимать решения без излишних указаний.

    В: Что вы считаете главным в команде, разрабатывающей продукт, которым пользуются миллионы пользователей? Какие три-четыре качества вы назвали бы самыми критическими для разработчиков таких проектов?

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

    Самое главное – осознавать, что мы несём ответственность за библиотеку, которая используется в более чем 60% из 10,000 топ-сайтах Интернета. Если мы совершим ошибку в новом релизе, это скажется на тысячах сайтов. Порой люди расстраиваются, когда мы отказываемся исправлять то, что им кажется багом. Но то, что для одного – баг, для другого – фича. Внесение изменений в поведение библиотеки может иметь далеко идущие последствия, которые сложно оценить до релиза.

    В: Конференция jQuery побывала уже во многих странах. В России она пройдёт впервые. Есть ли у вас какие-нибудь ожидания от российской аудитории?

    О: У нас уже есть опыт взаимодействия с российскими разработчиками. Один из членов нашей команды – русский программист. Олег Гайдаренко официально вошел в состав команды в этом году, но до этого несколько лет вносил посильный вклад в jQuery в качестве пользователя. Олег работает Frontend-разработчиком в Yandex, поэтому ему очень знакомы проблемы библиотеки. Мы очень надеемся, что и другие участники российского сообщества присоединятся к нам.

    От редакции: Старт ежегодной конференции jQuery был дан в 2007 году в Бостоне, и с тех пор по всему миру состоялось около двух десятков конференций под этим брендом, в том числе в Вене, Оксфорде, Сеуле, Портланде и Сан-Франциско. В 2013 году силами ITmozg знаменитая конференция впервые пройдет в России.
    Метки:
    • +18
    • 8,5k
    • 7
    Поделиться публикацией
    Похожие публикации
    Реклама помогает поддерживать и развивать наши сервисы

    Подробнее
    Реклама
    Комментарии 7
    • +3
      Люблю jQuery
      • +9
        Любите лучше девушек. А jQuery используйте в работе.
        • 0
          Девушек я обожаю. А jQuery люблю использовать в работе, не правильно выразился, простите.
      • +4
        Хорошая библиотека, но очень развращает, потихоньку забываешь чистый JavaScript.
        • +2
          Скорее забываешь браузерные API, сам то яваскрипт в любом случае используется.
          • +1
            Я изучил сначала jQuery, потом уже начал на js программировать. Некоторые вещи действительно после «плюшек» jQuery на js не используются и забываются.
        • 0
          Ответ на вопрос про баг-трекинговую систему капитанский на 100%. Но что поделать, каков вопрос, таков и ответ.

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