Эта статья была первоначально опубликована 25 мая 2016 г.

На этой неделе наша команда запустила долгожданный адаптивный дизайн домашней страницы. Для нас это очень важно не только потому, что домашняя страница служит входной дверью для нашего сайта и нашего бренда, но и потому, что она запускает наши планы по переводу всех страниц Refinery29 (категории, статьи, слайд-шоу и т. д.) на адаптивный дизайн. . И это не только красиво во всех размерах окон, новая домашняя страница использует совершенно новую комплексную архитектуру… так что *два снимка* для команды, которая ее запустила.

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

  • Клаудия Соса, инженер по контролю качества: «Внутренняя архитектура была полностью перестроена для домашней страницы, что означало множество зависимостей для интеграционного тестирования. Много раз мы завершали тестирование только на фронтенде или только на бэкенде. Было очень важно следить за большими функциональными областями, к которым нам придется вернуться позже для всестороннего сквозного тестирования. Несмотря на множество проблем, с которыми мы столкнулись, это поможет нам улучшить только ключевые области в процессе планирования при переносе остальной части сайта. В целом, отличная команда для работы и проект, из которого я многому научился!»
  • Карло Франциско, старший инженер-программист: «Что касается внешнего интерфейса, мы решили строить с использованием новых перспективных технологий, таких как React и Redux. Самый большой урок, который я извлёк из работы в этих библиотеках, заключается в том, что многие передовые практики просто ещё не изучены, и что у нас есть огромная возможность сделать собственное дело относительно того, какими должны быть эти передовые практики. И это кажется невероятно вдохновляющим, но это также сильно зависит от нашего обмена тем, что мы узнали, с более широким сообществом открытого исходного кода».
  • Крис Слоуп, старший инженер-программист: «Создание этого проекта с нуля с помощью React и Redux дало мне новое понимание чисто функциональных шаблонов программирования, которые позволили нам быстро создавать прототипы и итерации на нашем фронте. - конец как можно безболезненнее. В частности, декларативное составление нашего уровня представления резко уменьшило сложность нашего потока данных и пользовательского интерфейса. Наши новые инструменты и инфраструктура позволят нам быстро разрабатывать элегантные, гибкие и производительные интерфейсы, рассчитанные на длительное время».
  • Эмили Хенгемиле, менеджер по продукту: «Этот проект был создан с любовью. Каждая часть домашней страницы, от инструментов нашего редактора до адаптивного UX и сквозной архитектуры, является новой, новой, НОВОЙ! Очень интересно быть частью стартовой команды, которая представляет миру нашу более быструю и масштабируемую платформу. Чтобы быть первым, не обойтись без проблем, включая оценку времени, архитектурные решения по всему стеку и неизвестные новые технологии. В конце концов, преодоление всех трудностей окупается сполна — благодаря этому Refinery29.com идет в будущее!»
  • Райан Кэтлин, разработчик платформы: «Данные на главной странице используют два новых API, разработанных в соответствии со строгими стандартами и тщательно протестированных. Все это окупилось, чтобы увидеть быстрое время отклика и безошибочные журналы при запуске. Весь проект привлекал команду к решению множества новых задач. Все с энтузиазмом принялись решать проблемы и осваивать новые навыки».
  • Цзинцзин Донг, разработчик платформы: «В рамках работы над серверной частью этого проекта мы по-новому использовали многие инструменты — Doctrine, Redis, Solr, Foundry, список можно продолжить. Это был отличный опыт обучения, и здорово, что все это окупилось. Я уверен, что это будет первый из многих успехов всей команды».
  • Минг Хоу, разработчик платформы: «Я изучил Zeppelin благодаря своей команде. Короче говоря, мило, замечательные люди. прекрасные времена».
  • Николь Пикулин, старший UX-дизайнер: «Поскольку мы потратили так много времени на создание этой новой домашней страницы, мы решили разработать систему, которая будет достаточно масштабируемой, чтобы служить долго. Наша система позволяет нам легко и быстро добавлять новые типы карт и настраивать дизайн!»
  • Джеймс Кабрера, дизайнер интерфейсов: «Это больше, чем кажется на первый взгляд. За кулисами этого обновления происходит многое, что заслуживает большего внимания. Это позволит нам быть более гибкими и предоставлять чрезвычайно универсальный и адаптируемый контент. Команда усердно работала с нуля, чтобы внедрить эту прекрасную новую систему».
  • Иосип Херцег, инженер-программист: «Что касается Dash, наша задача заключалась в создании инструмента для создания гибких макетов страниц. Комбинация различных настраиваемых модулей, которые будут состоять из различных комбинаций пользовательских опций, была проблемой для команды Dash (я и Джен). В процессе разработки приходилось решать множество различных задач и проблем. В этом процессе мы использовали существующие компоненты React из Dash, но нам также пришлось начать писать свои собственные компоненты. Мне понравился такой подход. Я надеюсь, что продолжу работу с React в будущем и, возможно, внесу некоторые улучшения в существующий код тире. У меня также была возможность поработать напрямую с командой Zeppelin. В целом: отличный проект, отличная команда!»
  • Джен Кэллоуэй, инженер-программист: «Объединить людей и команды, которые раньше не работали вместе, может быть непросто, особенно в очень крупном проекте. Я действительно не думал о создании команды как о *таком* важном раньше, но теперь я действительно понимаю, почему это так ценно».
  • Джейк МакГроу, технический директор: «Переход от монолитной кодовой базы к сервис-ориентированной архитектуре потребует много времени для интеграции и тестирования. Раньше у нас была единая кодовая база для домашней страницы, теперь новая домашняя страница использует четыре кодовые базы. Каждая интеграция должна пройти дополнительный этап тестирования».
  • Мэтт Андерсон, инженер DevOps: «Разработка новых рабочих процессов может быть сложной задачей, даже когда все идет хорошо, новейшие элементы всегда вызывают наибольшие подозрения. Однако было очень приятно протестировать этот новый стек в многосерверной среде, прежде чем запускать его в производство, и таким образом мы обнаружили несколько интересных ошибок».