Открой Open Source 2ГИС
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ГИС.Технологии. Используйте инструменты по назначению, ставьте звёзды, форкайте и пишите фича-реквесты.