Лица .тостер {javascript}: Ральф и Ян

в 14:16, , рубрики: .тостер, ajax.org, cloud9, javascript, jquery, node.js, Блог компании .тостер, метки: , , , , ,

Привет, любители .тостов!

Вместе с вами мы с нетерпением ждем наступления пятницы 25-го мая, когда на одной сцене сойдутся одни из лучших javascript-ориентированных программистов со своими мыслями о настоящем и будущем.

А пока остается почти месяц до события, которое мы стремимся сделать лучшим кодо-ориентированным событием до летних каникул — продолжим знакомиться со спикерами .тостер {javascript}.

image

Знакомьтесь: миловидный мужчина в правой части фотографии — Ральф Уитбэк, со-автор подкаста Official jQuery и senior developer в компании appendTo, по-совместительству — участник jQuery Foundation. Здесь опубликованы наиболее интересные отрывки нашего разговора с Ральфом о технологиях, работе и разработке:

Я пишу код уже примерно 20 лет — ровно с того момента, как в старших классах я записался на факультатив «Basic/Pascal. После первого же занятия я знал, что стану программистом…

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

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

… около 5 лет назад я возглавил команду, которая перевозила очень большой сайт локального университета (Ральф живет в Рочестере, недалеко от Нью-Йорка) на новую платформу. Менялось все — дизайн, архитектура, а вот необходимость перенести 40 000 страниц, наполненных важным контентом, сначала поставила нас в ступор, отчасти из-за очень сжатых временных сроков. Но мы все успели, а сайт работает до сих пор — для меня он является своеобразным памятником хорошему дизайну и коду, не устаревающему с годами…

… что касается технологий, то я использую HTML5, CSS3, jQuery, Backbone.js, jQuery Mobile, AmplifyJS, modernizr, uglifyJS. В то же время мне очень нравятся nodeJS, d3.js, а некоторые мои коллеги используют anvil.js, postal.js и machina.js в своих проектах…

… мой совет всем новичкам примерно одинаков — подберите IDE под себя и изучите его насквозь. Чем лучше вы научитесь использовать инструмент для повседневной работы — тем лучше будет ее результат…

… а профессионалам ничего советовать не нужно — если вы считаете себя экспертом, то вы сами знаете что изучать и что использовать, мои слова не будут для вас новостью. В случае, если вы не знаете, что изучать и чем пользовать — вам стоит пересмотреть свою позицию „профессионала“…

… в appendTo мы уже достаточно давно работаем над проблемой удаленного обучения — презентаций, вебинаров и так далее. Мы пытаемся упростить весь процесс: создаем YAML-файл с путями тех сессий, которые хочет видеть клиент — это позволяет нам быстро и просто выстроить расписание слайдов для данного клиента. Система использует nodeJS для маркировки файлов, каждый из которых представляет сессию презентаций и конвертирует их в интерактивные HTML-слайды. Сделано на коленке, работает отлично…

… если бы мобильные вендоры могли стандартизировать свои практики применения HTML-технологий — они бы облегчили жизнь всем разработчикам, не только мобильным, но и веб-девелоперам, которых пока большинство. Раньше мы думали, что кросс-браузерная совместимость — это сложно, но по-сравнению с мобильным рынком — это просто подарок судьбы :)

image

В отличие от Ральфа, у которого уже трое детей, второй фигурант данной публикации совсем молод — Яну Йонгбуму этим летом исполнится 23 года. Впрочем, назвать его „зеленым“ язык не поворачивается — Ян поддерживает NodeJS-бэкэнд IDE Cloud9 (бывший Ajax.org). Наш разговор с ним не менее увлекателен, отчасти потому, что Ян, буквально, с самого детства в окружении программистов:

… я до сих пор помню, как все началось — мне было 10 лет, когда отец принес домой копию Visual Basic 6 Learning Edition и книгу „VB6 за 24 часа“, которую я одолел за выходные. Конечно же, первое, что я попытался написать было игрой, где школьные учителя били друг-друга…

… более-менее осознанно я начал писать код в конце 90-х и с того момента акценты в разработке изменились на 180 градусов. Раньше мы писали приложения для работы на локальном компьютере, сейчас же основной упор идет на разработку базирующуюся в вебе, где миллионы одновременных пользователей выполняют работу. Но суть самой разработки, как мне кажется, остается той же самое — мы пытаемся создать что-то, полезное для группы людей. Вряд ли это когда-то изменится…

… не совру, если скажу, что 98% моей разработки протекает в „моем собственном“ IDE. Вообще возможность создать мир своими руками внутри уже существующего мира буквально возбуждает меня, я чувствую себя Леонардо ДиКаприо в самый напряженный момент фильма Inception…

… однажды, в своем прежнем месте работы — www.funda.nl, я создал „умное“ поле поиска, содержавшее географический индекс всей Голландии, подсказывавшее различные варианты во время печати. На первый взгляд звучит не так круто, но эта штука на самом деле способна выстроить „иерархию“ запроса, сравнивать результаты, править грамматику, воспроизводить звуки и так далее и так далее, выдерживая до 300 запросов в секунду. И наконец — оно работало! На главной странице сайта, куда приходит 400к уникальных посетителей каждый день поиск очень востребован, до сих пор работает продукт, написанный мной в свободное время…

… все в той же Funda, куда я пришел работать в проекте „Virtual Tour“ (что-то типа Google Streetview для навигации внутри зданий), пытались создать большой продукт на базе Flash'а, который настолько утяжелял все, что фактически мы начали задаваться вопросом целесообразности создания технологии. В итоге, за 5 дней до дедлайна у нас не было ничего похожего на демо или рабочий прототип. Это был мой первый день на работе и в конце-концов я сказал своей новой команде: „это не сработает“. Мы быстро составили схему, почесали головы и решили использовать имеющиеся flash-компоненты вместе с javascript. Через 3 часа мы написали прототип, а конечный продукт был написан за день до „красной“ даты…

… в свое время переход с SVN на GIT был настоящим „приключением“, но сегодня я уже настолько привык к изменившейся схеме контроля версий, что вынужден признать — GIT просто лучше, и он работает. Традиционные SCM, как например CVS или SVN, были настоящей головной болью, когда нужно было выстроить сложную (хотя, по-правде, простую тоже) стратегию мерджей и бранчей и я уже всерьез начал думать, что это „дефинитивно сложно“ и не может быть проще, а потом пришел GIT и решил проблему…

… технология, которую я оцениваю выше всего — это, конечно, node.js. С его помощью мы рашаем проблему того, что „асинхронное“ и „неблокируемое“ программирование чрезмерно усложнено. Наверное каждый писал приложения для Windows, ведшее к белому экрану без отклика на клики по причине блокировки рабочего оператора. Node значительно упростил весь процесс без необходимости создания новых потоков или проблем связанных с параллелизмом…

… мой совет всем новичкам — идите учить javascript :) это язык для веба которые используется везде, а кейсы становятся лучше и ярче с каждым годом. Javascript позволяет писать серверные приложения, клиентские приложения, мобильные приложения и что-то еще, вероятно пока не созданное :) Сегодня js-экосистема просто огромна — это хочется использовать себе во благо…

… не нужно думать о javascript как о внебрачном ребенке C++ и HTML — это очень мощный по функционалу и достаточно экспрессивные язык, которые позволит свежим взглядом посмотреть на то, что вы делаете…

… работать в Cloud9 очень круто, но мне нравится поддерживать и свои проекты. То, чем я горжусь больше всего — это FMSE (http://code.google.com/p/scoutframeworkfm2009/), программируемый чит-менеджер для популярного Football Manager, который выставляет себя как источник данных, прилепленный к любой другой базе данных. Тем не менее, он несовместим с SQL-подобными решениями, но отлично работает с актуальной памятью, используемой Football Manager'ом в настоящее время. Поэтому когда вам нужно что-то „изменить“ — вы действительно переписываете кусок памяти. Это очень круто, а инструменты, созданные поверх этого фреймворка, используются более чем полумиллионом человек. Единственный момент, вызывающий сожаление заключается в том, что открытая версия перестала развиваться после того, как был выпущен FM2011, но FMRTE (http://www.fmrte.com/) создан поверх и до сих пор жив, активен и раздает люлей…

… Будущее туманно, но я думаю, что технологии совместной работы над проектами будут востребованы — в мире все больше людей, все больший процент которых работает удаленно и удобное окружение для коллаборации будет популярно сегодня, завтра и, пожалуй, через 10 лет...

Не забывайте отмечаться в событиях на Хабре, что вы идете на .тостер {javascript}, и подписывайтесь на наши официальные каналы в твиттере (@toster_ru), Вконтакте и Facebook'е.

Автор: Shapelez


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js