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

Комментарии (6)


  1. amarao
    16.04.2015 16:11
    +10

    Много плюсов в irl'ную карму. Молодцы.


  1. KIBIs
    16.04.2015 20:34
    +5

    Так держать! Интенсивно использую ваши справочники, теперь и инструменты.


  1. JiLiZART
    16.04.2015 22:36
    +1

    Ну вот, а я спать собирался


  1. mva
    17.04.2015 09:28
    +6

    Ещё бы Linux-клиент заопенсорсили (карты уж, ясное дело, никто не просит)…
    А то у меня судороги от того, как его собирают и линкуют :'(

    // просто вот уже который его релиз пытаюсь опакетить его под систему отличную от Ubuntu и натыкаюсь то на кривую линковку, что ему нужно одновременно две несовместимых версии libicuuc, то на то, что «забандленная» версия Qt5 какая-то «не такая», как «ванильная» и поэтому при попытке загрузки скачанного файла города 2gis берёт и сегфолтится.

    А ещё он зачем-то лезет сохранять города (и временные файлы) в /var/lib. Будучи запущенным из-под юзера, да :'(


  1. Draku1a
    22.04.2015 02:11

    Респект 2GIS! Как лучшему карто-справочнику для телефонов (для меня, как для пешехода — самый лучший вариант навигации)!


  1. atrolov
    25.04.2015 22:40

    Регулярно пользуюсь, очень полезный и качественный продукт! Его существование невозможно без современных технологий, спасибо за то что делитесь ими с общественностью.