
Open Open Source 2GIS

2GIS has been issuing directories and city maps since 1999. During this time, we have come a long technological path - from one PC application with data for Novosibirsk to the API maps and directory, desktop applications on Windows, Ubuntu and OS X, mobile applications on Android, iOS, Windows Phone and Blackberry with data on 270 cities of the world.
Often we solve problems for which there are no ready-made tools. Or they are, but do not cover all needs. Therefore, we ourselves write frameworks and libraries for ourselves, most of which are related to test automation, assembly and development acceleration.
We are pleased to share these tools on the Github , and for convenience we also made the Open Source sectionon 2GIS. Technologies. So that you understand what is what, we will talk about our flagship open source tools.
Tar
If you remember, Tarsus was called the witty robot from the movie "Interstellar" - he was also asked to make the level of humor lower. In our interpretation, TARS is a gulp -based auto- builder of static projects, which reduces the level of frontend routines, facilitates and accelerates the process of html-layout of any complexity.
Main features of TARS:
- Jade or Handlebars as a html template engine;
- JSON for transferring data to templates. Eliminates tiring copy-paste;
- SCSS , LESS, or Stylus as a preprocessor for CSS;
- no external libraries and plugins (except html5shiv ). You can choose the library yourself;
- Chokidar module for watching files;
- clever work with images: playfully typeset websites for screens with high pixel density;
- several build modes: normal, with minified files, with a hash in the name of the css and js files;
- creating an archive with a finished assembly.
The author of the tool Artyom artemmalko Malko spoke in more detail about TARS in an article and a report .
Makeup
Despite the name, not only girls, but also guys use MakeUp in 2GIS. Our MakeUp is a JavaScript library for pleasant control over layout quality. In the library interface, we compare the layout of independent blocks in various states, previously described in the configuration file, with the design and look at where you need to direct the marafet.
Why do we need MakeUp:
- for quick manual regression of typesetting - if the states of the block are described in detail, the risk of breaking the layout with new changes will be minimal;
- to monitor the state of the blocks - most likely, almost every block in the project will be used in different states that differ in a set of modifiers, content. In order not to keep everything in mind, we use MakeUp;
- Design independent blocks in comfort.
If you integrate the library into the workflow, it easily becomes one of the main typesetting tools.
Slot
When the Online team had to do SEO, they came up with Slot , a JavaScript framework for developing modular isomorphic applications.
What makes Slot good:
- isomorphism :-)
- Single Page App + SEO. Each application state is described by a separate URL. Search engines get a page ready for indexing in a specific state;
- modularity + BEM. We build UI from independent reusable modules. The default framework supports the BEM methodology. But at the same time, you can use any layout written according to any agreements or without any agreements at all;
- build on gulp with one team. Automatic rebuilding of the project when the code changes. All you need is to add features to your application;
- works with the MakeUp module .
Winium
At first, the guys from the test automation team wrote separate tools, but then they realized that they wanted one framework for testing applications for Windows. This is how the Selenium-based Winium tool came about .
Why we love Winium:
- write tests using your favorite tools and any WebDriver-compatible programming language: Java, Objective-C, JavaScript with Node.js, PHP, Python, Ruby, C #, Clojure, etc .;
- We use any test framework.
Platforms:
- Windows Desktop (WPF, WinForms) Apps;
- Windows Store or Universal Apps for Windows Phone;
- Windows Phone Silverlight Apps.
And 42 more tools
See the full list of our Open Source products at Github or check out 2GIS Technologies . Use the tools for their intended purpose, put stars, fork and write feature requests.