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ГИС.Технологии. Используйте инструменты по назначению, ставьте звёзды, форкайте и пишите фича-реквесты.
Комментарии (6)
mva
17.04.2015 09:28+6Ещё бы Linux-клиент заопенсорсили (карты уж, ясное дело, никто не просит)…
А то у меня судороги от того, как его собирают и линкуют :'(
// просто вот уже который его релиз пытаюсь опакетить его под систему отличную от Ubuntu и натыкаюсь то на кривую линковку, что ему нужно одновременно две несовместимых версии libicuuc, то на то, что «забандленная» версия Qt5 какая-то «не такая», как «ванильная» и поэтому при попытке загрузки скачанного файла города 2gis берёт и сегфолтится.
А ещё он зачем-то лезет сохранять города (и временные файлы) в /var/lib. Будучи запущенным из-под юзера, да :'(
Draku1a
22.04.2015 02:11Респект 2GIS! Как лучшему карто-справочнику для телефонов (для меня, как для пешехода — самый лучший вариант навигации)!
atrolov
25.04.2015 22:40Регулярно пользуюсь, очень полезный и качественный продукт! Его существование невозможно без современных технологий, спасибо за то что делитесь ими с общественностью.
amarao
Много плюсов в irl'ную карму. Молодцы.