Интервью с ведущим разработчиком jQuery Дэйвом Метвином
Многие из нас знакомы с JavaScript фрэймворком jQuery. Более того, мы довольно-таки часто используем его в наших проектах. Ну а что мы знаем о самих людях, которые тратят своё время на развитие самой популярной JavaScript библиотеки. Дэйв Метвин является соавтором, а также главой фонда jQuery. Мы обсудили его деятельность и видение развития фронт-энд разработки.
Расскажите о вашем профессиональном опыте. Как вы пришли к использованию JavaScript?
Я начал свою карьеру в качестве Си программиста на полный рабочий день. Мы работали над созданием встраиваемых систем для судовой навигации, робототехники, промышленной автоматизации и телекоммуникационных устройств. После этого я окунулся в электронный журнализм и вёл JavaScript колонку в журнале Windows. Когда WinMag закрыл передо мной двери, я стал соучредителем стартапа, где мы делали JavaScript-HTML утилиты для Windows, которые автоматизировали многие вещи.
Когда вы присоединились к проекту jQuery и какой личный вклад внесли?
Одновременно со своим стартапом, я продолжал искать лучший способ организации JavaScript HTML кода. Однажды я наткнулся на пост Джона Резига, где он описывал то, что в будущем стало jQuery. Я написал ему письмо, он ответил, что собирает список мэйлов заинтересовавшихся людей. Многие из них работают над проектом и сегодня. Умение подобрать хорошую команду - это безусловно заслуга Джона. Он очень открыт и готов к обсуждению любых идей.
Когда и почему Джон передал управление проектом вам?
Официально я возглавил команду в июле 2011 года, потому как до этого у меня было очень много другой работы. Думаю, что Джон хотел развивать свой потенциал дальше, и кажется, это ему удалось в следующем проекте - Khan Academy.
Как повлияло ваше назначение на сообщество и на проект в целом?
Бешеная популярность jQuery не позволяет кардинальным образом вносить изменения, даже если они призваны сделать проект ещё лучше; я имею в виду изменение API. Поскольку половина новых сайтов используют jQuery мы уверены, что хоть какие-то изменения библиотеки будут для кого-то критическими. Несмотря на то что мы выпускаем бета версии, многие пользователи ждут окончательного релиза, а только потом внедряют новый код. По этой причине можно сказать, что мы даже не можем предположить, какая будет реакция сообщества на то или иное изменение.
Что ожидает от вас сообщество? Что люди просят?
Когда в 2006 году вышел jQuery, веб разработчики, насытившиеся причудами браузров, были в восторге, ведь библиотека практически полностью решала вопрос кроссбраузерности. Многие люди, которые стали заниматься веб разработкой совсем недавно и не прочувствовали на себе тех проблем, очень удивляются и возмущаются, если jQuery не способствует устранению каких-то мелких различий отображения в разных браузерах. На самом деле разработчики должны понимать, что мы тоже ограничены и не можем решить абсолютно все проблемы браузеров. Кстати говоря, многие из данных проблем решаются несколькими строками кода в самом скрипте, или благодаря какому-то специфическому для этой задачи плагину.
Поскольку развитие библиотеки основано на волонтёрстве, как вы относитесь к таким запросам пользователей? Как выстраиваете приоритет задач?
В первую очередь, мы исправляем различного рода баги, потому как они больше всего влияют на торможение развития проекта и на реакции со стороны сообщества. Другие проблемы - это в большинстве своём проблемы браузеров, а не самой jQuery. Наша задача состоит в поиске оптимальных решений данных проблем, ну и конечно, устранения багов, которые возникают во время разработки.
В последнее время, со стороны какой-то части сообщества наблюдается негативная критика разработчиков библиотеки. Мне кажется, это глупо, ведь другие проекты, такие как Backbone и Ember содействуют развитию jQuery. Что вы думаете по этому поводу?
Поскольку благодаря jQuery и нескольким строчкам кода, можно получить ошеломляющий результат, очевидно, что библиотеку будут стараться использовать все, включая не профессионалов и людей слабо знакомых с веб разработкой. У одних что-то получается, у других нет, и они считают что сам jQuery сложен и не очень хорош. Я не вижу решения данной проблемы.
Вы думаете, что многие из недовольных людей забыли о сложностях кроссбраузерной разработки?p
Если взять к примеру IE 6/7/8, то в ядре jQuery написано ОЧЕНЬ много строк кода, решающих проблему кроссбраузерности. Я был очень огорчён тем фактом, что многие из них придётся оставить для jQuery 2.0. Такое ощущение, что создатели браузеров слишком заняты внедрением CSS3 или чем-то ещё, вместо того чтобы закрывать дыры в своих продуктах. Действительно, зачем им утруждать себя, если команда jQuery может это сделать?
Где вы видите место jQuery в иерархии новых библиотек, таких как Angular и Ember?
На самом деле, многие из новых продуктов содержат довольно-таки неплохие решения. В то время как jQuery занимается вопросами кроссбраузерного функционирования, новые библиотеки могут сконцентрироваться на других вещах. Мы с уважением относимся к их деятельности.
В чём заключается самая главная прелесть jQeury?
jQuery - это библиотека, предназначенная для упрощения обхода, манипуляции и извлечения HTML кода. Иногда люди хотят кардинальных изменений, спрашивают, почему мы не поддерживаем работу с форматами SVG, VML или другими технологиями. Ответ прост - для этого существуют плагины. Мы хотим, чтобы jQuery API был сфокусирован на работе с DOM-ом, и не будем добавлять навороты, которые нужны нескольким людям.
jQuery 2.0 будет сфокусирован на работу с современными браузерами. Некоторые видят в этом начало войны против IE. Как вы можете обосновать ваше решение для пользователей IE?
На данный момент, в jQuery 1.9 больше 10% кода - это решение проблем IE 6/7/8, и это в значительной мере бьёт по производительности. Существует огромное количество случаев, где этот код не нужен вообще. К примеру, при работе с приложениями Windows 8, использовании плагинов Chrome, Firefox, приложениями PhoneGap/Cordova, node.js и так далее.
Но на самом деле, проблема раздувается на ровном месте! Например, я не вижу смысла в ближайшие несколько лет, использовать jQuery 2.0 на целом ряде категорий сайтов. Ну а если всё-таки разработчики захотят внедрить новую версию, то пользователи IE всегда могут пользоваться условными комментариями для подключения более ранних версий библиотеки. Это не сложно.
Насколько мы знаем, ваша команда занимается не только развитием jQuery, но также jQUery UI, jQuery Mobile и QUnit. Каким образом вы организовываете синхронную разработку всего этого, и чему даёте особый приоритет?
Поскольку работа jQuery Mobile и jQuery UI основывается на функционале основной jQuery библиотеки, то их развитие строится в соответствии с ней. К тому же, мы всегда пишем юнит тесты для наших продуктов, выкладываем на GitHub и тут же видим, если что-то где-то поломалось, вступило в противоречие. QUnit развивается несколько иначе: мы сами являемся активными пользователями данного продукта. Бывают случаи, когда обновления данного продукта рушат все наши юнит тесты. В общем, всё пробуем на себе.
На ваших оффлайн события теперь обсуждается не только jQuery. Почему так происходит?
Мы устраиваем jQuery конференции для того, чтобы собраться с разработчиками сайтов и веб приложений. Да, они хотят узнать больше о jQuery, но мы не хотим на этом останавливаться. Каждый хороший разработчик должен постоянно расширять свой горизонт знаний и интересоваться другими инструментами, которые могут ему помочь.
Какие тенденции вы сегодня наблюдаете в развитие фронт-энд инструментов. На что разработчикам следует обратить внимание?
Инновации идут к нам со всех направлений. Конкуренция различных MV* фрэймворков, ускоряет развитие технологий, и думаю, вскоре мы увидим консолидированные усилия в построении хороших инструментов - в общем то, что случилось с jQuery.
Чтобы поставить точку в этом вопросе, хочу сказать - jQuery работает со стандартами W3C и ECMA. Это должно повлиять на решение тех разработчиков, которые ещё не определились, какой инструмент использовать.
Источник: http://feedproxy.google.com/~r/ruseller/CdHX/~3/G7Fs0apXDxw/lessons.php
Дайджест новых статей по интернет-маркетингу на ваш email
Новые статьи и публикации
- 2024-11-26 » Капитан грузового судна, или Как начать использовать Docker в своих проектах
- 2024-11-26 » Обеспечение безопасности ваших веб-приложений с помощью PHP OOP и PDO
- 2024-11-22 » Ошибки в Яндекс Вебмастере: как найти и исправить
- 2024-11-22 » Ошибки в Яндекс Вебмастере: как найти и исправить
- 2024-11-15 » Перенос сайта на WordPress с одного домена на другой
- 2024-11-08 » OSPanel 6: быстрый старт
- 2024-11-08 » Как установить PhpMyAdmin в Open Server Panel
- 2024-09-30 » Как быстро запустить Laravel на Windows
- 2024-09-25 » Next.js
- 2024-09-05 » OpenAI рассказал, как запретить ChatGPT использовать содержимое сайта для обучения
- 2024-08-28 » Чек-лист: как увеличить конверсию интернет-магазина на примере спортпита
- 2024-08-01 » WebSocket
- 2024-07-26 » Интеграция с Яндекс Еда
- 2024-07-26 » Интеграция с Эквайринг
- 2024-07-26 » Интеграция с СДЕК
- 2024-07-26 » Интеграция с Битрикс-24
- 2024-07-26 » Интеграция с Travelline
- 2024-07-26 » Интеграция с Iiko
- 2024-07-26 » Интеграция с Delivery Club
- 2024-07-26 » Интеграция с CRM
- 2024-07-26 » Интеграция с 1C-Бухгалтерия
- 2024-07-24 » Что такое сторителлинг: техники и примеры
- 2024-07-17 » Ошибка 404: что это такое и как ее использовать для бизнеса
- 2024-07-03 » Размещайте прайс-листы на FarPost.ru и продавайте товары быстро и выгодно
- 2024-07-01 » Профилирование кода в PHP
- 2024-06-28 » Изучаем ABC/XYZ-анализ: что это такое и какие решения с помощью него принимают
- 2024-06-17 » Зачем вам знать потребности клиента
- 2024-06-11 » Что нового в работе Яндекс Метрики: полный обзор обновления
- 2024-06-11 » Поведенческие факторы ранжирования в Яндексе
- 2024-06-11 » Скорость загрузки сайта: почему это важно и как влияет на ранжирование
Все мы сидим в сточной канаве, но некоторые при этом смотрят на звезды Уайльд Оскар - (1854-1900) - английский писатель |
Мы создаем сайты, которые работают! Профессионально обслуживаем и продвигаем их , а также по всей России и ближнему зарубежью с 2006 года!
Как мы работаем
Заявка
Позвоните или оставьте заявку на сайте.
Консультация
Обсуждаем что именно Вам нужно и помогаем определить как это лучше сделать!
Договор
Заключаем договор на оказание услуг, в котором прописаны условия и обязанности обеих сторон.
Выполнение работ
Непосредственно оказание требующихся услуг и работ по вашему заданию.
Поддержка
Сдача выполненых работ, последующие корректировки и поддержка при необходимости.