Рубрика:
Разработка /
Персона
|
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|
Дэйв Метвин: «Internet Explorer? Можно вас попросить не ругаться?»
На вопросы «Системного администратора» отвечает глава проекта jQuery
|
Дэйв Метвин (Dave Methvin) – президент jQuery Foundation и ведущий разработчик ядра jQuery. Член команды jQuery с первого выпуска библиотеки в 2006 году. Также является веб-разработчиком и консультантом по программному обеспечению для крупных компаний, специализирующихся на веб-оптимизации производительности. |
– jQuery мы все хорошо знаем, она активно используется и стала де-факто стандартом. А какой библиотека виделась в начале ее создания?
– В 2006 году, когда я стал работать с Джоном Резигом (JavaScript-евангелист в Mozilla Corporation. Больше всего известен как автор JavaScript-библиотеки jQuery – Прим. ред.), речь шла просто о разработке библиотеки для удобной работы с DOM.
– Как вы пришли в проект jQuery?
– В 2006 году я написал Джону Резигу электронное письмо с указанием на некоторые возможные баги библиотеки и способы их исправления. Джону понравились мои идеи, и он предложил мне присоединиться к команде разработчиков библиотеки.
– И в итоге вы проект возглавили…
– Это был выбор «все или ничего». С каждым годом мой вклад в развитие проекта становился все больше и больше, я начинал с исправления багов, а потом стал заниматься его архитектурой. Когда Джон переключился на другие проекты, мне оставалось или возглавить начатое дело или уйти.
– Расскажите о процессе разработки jQuery. Как происходит взаимодействие с профессиональным сообществом?
– Сообщество очень помогает библиотеке благодаря активности контрибьюторов. Многие участники, так же, как и я, пока не пришел в проект, сообщают нам об ошибках, иногда включаются в разработку. И, конечно, никуда не деться от людей, которые что-то создают и предлагают нам.
– Часто ли вас просят добавить ту или иную функциональность?
– Я считаю, что у сообщества достаточно возможностей разработать какие-то функции вне библиотеки, в качестве плагинов. Если попросить сообщество дать список того, что еще нужно сделать, мы просто никогда с этим не справимся.
– Недавно вы озвучили: «Мы верим, что ядро jQuery API практически завершено к настоящему моменту». Следует ли это понимать так, что ничего принципиально нового в библиотеке уже не будет?
– Я действительно считаю, что больше нет необходимости включать в API новый функционал. Это не значит, что разработка будет прекращена – мы будем работать над производительностью, над оптимизацией, да и производители браузеров не дадут скучать. А для развития функциональности есть плагины.
– Prototype, Dojo, MooTools, ExtJS – удобные, продуманные инструменты. Почему не они стали самыми популярными, что именно позволило jQuery победить?
– Я думаю, в лидеры библиотеку вывела ее простота, jQuery изначально разрабатывалась так, чтобы ее было легко использовать. С ее помощью очень просто начать непрофессиональную разработку. Например, у Prototype была проблема с совместимостью с браузером Internet Explorer, для решения которой надо было обладать должной квалификацией. С jQuery таких проблем нет.
– Почему вы будучи Си-разработчиком занялись JavaScript? Не слишком ли было неуютно с отсутствием типизации и прочими «вольностями»?
– Я столкнулся с задачей написания пользовательских интерфейсов, разрабатывая программы на платформе Windows. Причем понадобилось, чтобы эти интерфейсы работали в браузере. Особого выбора у меня не было.
– Сейчас на JavaScript пишут интерфейсы, игры, сервисы, серверы, кодеки и даже операционные системы. Как могло случиться, что язык, созданный за десять дней, почти «на коленке», стал одним из самых распространенных и используемых в мире?
– Я думаю, по двум причинам. Во-первых, JavaScript собрал концепции и возможности из многих современных языков – C, Scala, ADA, C++, Java… Вторая причина заключается в легкости и доступности разработки. Для JavaScript нужен только браузер – он есть у всех!
– Сейчас не редкость, что человек, считающий себя JavaScript-разработчиком, просто не может без применения сторонних библиотек написать асинхронный запрос к серверу или обход дерева DOM-объектов. Не находите, что тут jQuery сыграла не совсем благовидную роль?
– Да! На самом деле меня иногда потрясают вопросы на jQuery-форуме, вроде таких: как с помощью jQuery получить сумму двух чисел?
– А может, это нормальная ситуация, например, разработчикам на языках высокого уровня не надо знать ассемблер!
– Основная задача разработчиков, которые пишут для разработчиков, создать инструменты, позволяющие людям работать без участия экспертов.
– Почему бы синтаксис jQuery просто не включить в ядро JavaScript?
– Это было бы довольно сложно осуществить. Дело в существовании и поддержке различных версий библиотеки. Если бы у браузеров была возможность осуществлять Just-in-time-компиляцию и выполнение байт-кода, то тогда бы плагин jQuery мог бы просто стать частью браузера. За одним неизбежно следует другое, если бы в браузерах было так, то тогда бы все скрипты могли бы исполняться именно таким образом.
– CoffeeScript, Dart, Haxe, ClojureScript, TypeScript... Как вы относитесь к этим «исправлениям» JavaScript?
– Мне кажется, что целей, к которым стремятся эти проекты, скорее достигнет ES6. По крайней мере мне бы этого хотелось.
– Не сделают ли они jQuery менее необходимой?
– Точно нет.
– Что вы думаете о современных MVC JavaScript-фреймворках? Каким вы видите место jQuery среди такого разнообразия?
– Разработчики Angular, Amber, Backbone делают очень интересные, просто потрясающие вещи, и я рад, что они используют jQuery.
– Нет мыслей затеять нечто подобное в рамках проекта jQuery?
– Нет необходимости. У нас разные задачи. Один из ключевых разработчиков Amber работает в проекте jQuery. И это нормальная ситуация.
– Новые стандарты – HTML5, CSS3 с новыми DOM-объектами, стилями, медиа и прочими возможностями. Как появление этих технологий отражается на jQuery?
– Либо никак не отражается на jQuery, либо jQuery отлично их обрабатывает.
– Как повлияет на проект стандарт ES6? Что от него ждут разработчики?
– Разработчики ждут разработчиков браузеров, я думаю, что нужно ждать еще пять – десять лет.
– Сейчас JavaScript активно действует далеко за пределами браузера, какие тут перспективы у jQuery?
– jQuery давно используется в node.js.
– Есть ли место jQuery на сервере? Что интересного может дать использование библиотеки без DOM и браузера?
– Модель jQuery очень популярна на серверной стороне, когда речь идет о работе с документами. Например, когда вы хотите прочитать какой-то документ или создать его на стороне сервера.
– Прошедшим летом текущая версия jQuery сменила первую цифру. С какими радикальными изменениями, кроме снятия с поддержки браузеров Internet Explorer...
– Можно вас попросить не ругаться?
– С какими изменениями, кроме снятия с поддержки браузеров Internet Explorer 6-8, это связано?
– На самом деле радикальные изменения состоят в том, что, избавившись от огромного количества необходимого для поддержки этих браузеров кода, библиотека стала компактнее и существенно быстрее.
– Какие современные веб-технологии кажутся вам наиболее интересными и перспективными? Почему?
– Те, которые расширяют веб-платформу, которые дают больше возможностей для JavaScript и HTML и различных медиарасширений, которые ориентированы на медийное вещание посредством открытых технологий. А вот закрытые технологии, решающие те же задачи, не представляются мне перспективными.
Беседовал Кирилл Сухов
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|