2ГИС выпускает справочники и карты городов с 1999 года. За это время мы прошли большой технологический путь — от одного ПК-приложения с данными для Новосибирска до API карт и справочника, десктопных приложений на Windows, Ubuntu и OS X, мобильных приложений на Android, iOS, Windows Phone и Blackberry с данными по 270 городам мира.
Часто мы решаем задачи, для которых нет готовых инструментов. Или они есть, но не покрывают всех потребностей. Поэтому мы сами пишем для себя фреймворки и библиотеки, большая часть которых связана с автоматизацией тестирования, сборкой и ускорением разработки.
Этими инструментами с удовольствием делимся на Гитхабе, а для удобства сделали ещё и Open Source раздел на 2ГИС.Технологиях. Чтобы вы разобрались, что есть что, мы расскажем о наших флагманских инструментах с открытым кодом.
TARS
Если помните, Тарсом звали остроумного робота из фильма «Интерстеллар» — его ещё просили сделать уровень юмора пониже. В нашей интерпретации TARS — это основанный на gulp автосборщик статичных проектов, который снижает уровень frontend-рутины, облегчает и ускоряет процесс html-вёрстки любой сложности.
Главные фичи TARS:
- Jade или Handlebars как html-шаблонизатор;
- JSON для передачи данных в шаблоны. Избавляет от утомительного копипаста;
- SCSS, LESS или Stylus как препроцессор для CSS;
- Никаких внешних библиотек и плагинов (кроме html5shiv). Можно самому выбирать библиотеки;
- Модуль Chokidar для вотчинга файлов;
- Умная работа с изображениями: играючи верстаем сайты для экранов с высокой плотностью пикселей;
- Несколько режимов сборки: обычный, с минифицированными файлами, с хешем в названии css- и js-файлов;
- Создание архива с готовой сборкой.
Подробнее о TARS рассказал в статье и докладе автор инструмента Артём artemmalko Малко.
MakeUp
Несмотря на название, MakeUp’ом в 2ГИС пользуются не только девушки, но и парни. Наш MakeUp — это JavaScript-библиотека для приятного контроля за качеством вёрстки. В интерфейсе библиотеки мы сравниваем вёрстку независимых блоков в различных состояниях, заранее описанных в конфигурационном файле, с дизайном, и смотрим, где нужно навести марафет.
Зачем нам MakeUp:
- Для быстрой ручной регрессии вёрстки — если состояния блока подробно описаны, риск сломать вёрстку новыми изменениями будет минимальным;
- Чтобы следить за состоянием блоков — скорее всего, почти каждый блок в проекте будет использоваться в разных состояниях, отличающихся набором модификаторов, контентом. Чтобы не держать всё в голове, мы используем MakeUp;
- Разрабатывать независимые блоки с комфортом.
Если интегрировать библиотеку в рабочий процесс, она запросто становится одним из основных инструментов верстальщика.
Slot
Когда команде Онлайна пришлось заниматься SEO, они придумали Slot — JavaScript-фреймворк для разработки модульных изоморфных приложений.
Чем хорош Slot:
- Изоморфность :-)
- Single Page App + SEO. Каждое состояние приложения описывается отдельным URL. Поисковые роботы получают готовую для индексации страницу в конкретном состоянии;
- Модульность + БЭМ. Строим UI из независимых переиспользуемых модулей. Фреймворк по умолчанию поддерживает БЭМ-методологию;
- Сборка на gulp одной командой. Автоматическая пересборка проекта при изменении кода. Всё что нужно — дописать особенности своего приложения;
- Работает с модулем MakeUp.
Winium
Сначала ребята из команды автоматизации тестирования писали отдельные инструменты, но потом поняли, что хотят один фреймворк для тестирования приложений под Винду. Так появился Selenium-based инструмент Winium.
Почему мы любим Winium:
- Пишем тесты, используя любимые инструменты и любой WebDriver-совместимый язык программирования: Java, Objective-C, JavaScript with Node.js, PHP, Python, Ruby, C#, Clojure и т. д.;
- Используем любой тестовый фреймворк.
Платформы:
- Windows Desktop (WPF, WinForms) Apps;
- Windows Store or Universal Apps for Windows Phone;
- Windows Phone Silverlight Apps.
И ещё 42 инструмента
Полный список наших Open Source продуктов смотрите на Гитхабе или заглядывайте на 2ГИС.Технологии. Используйте инструменты по назначению, ставьте звёзды, форкайте и пишите фича-реквесты.
Автор: mrmixsun