
2GIS has been publishing reference books and maps of cities since 1999. During this time we have traveled a large technological path - from a single PC application with data for Novosibirsk to an API of maps and reference books, 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 write for ourselves frameworks and libraries, most of which are related to testing automation, building and accelerating development.
We are happy to share these tools on
Github , and for convenience we also made the
Open Source section on 2G.Technologies. So that you understand what is what, we will talk about our flagship tools with open source.
Tars
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
collector of static projects that reduces the level of the frontend routine, facilitates and speeds up the process of html-layout of any complexity.
')
Main features of TARS:- Jade or Handlebars as html template;
- JSON for transferring data to templates. Eliminates tedious copy-paste;
- SCSS , LESS or Stylus as a preprocessor for CSS;
- no external libraries and plugins (except html5shiv ). You can choose libraries yourself;
- Chokidar module for embedding files;
- clever work with images: playfully make up sites for screens with high pixel density;
- several build modes: normal, with minified files, with a hash in the name of css and js files;
- creating an archive with a ready-made assembly.
Artem
Artemmalko Malko, the author of the tool, described in more detail about TARS in the
article and the
report .
Makeup
Despite the name, MakeUp in 2GIS is used not only by girls, but also by guys. Our
MakeUp is a JavaScript library for pleasant control over the quality of the layout. In the library interface, we compare the layout of independent blocks in various states, previously described in the configuration file, with the design and see where we need to put the marafet.
Why do we need MakeUp:- for quick manual regression of layout - if the block states are described in detail, the risk of breaking the layout with new changes will be minimal;
- to keep track of the state of the blocks - most likely, almost every block in the project will be used in different states, differing in the set of modifiers, in content. In order not to keep everything in mind, we use MakeUp;
- develop independent blocks with comfort.
If you integrate the library into the workflow, it easily becomes one of the main tools of the layout designer.
Slot
When the Online team had to deal with SEO, they invented
Slot - a JavaScript framework for developing modular isomorphic applications.
What Slot is good for:- isomorphism :-)
- Single Page App + SEO. Each application state is described by a separate URL. Search robots get a page ready for indexation in a particular state;
- modularity + BEM. We build UI from the independent reused modules. The default framework supports the BEM methodology. But at the same time you can use any layout, written under any agreements or without agreements at all;
- build on gulp with one command. Automatic reassembly of the project when changing the code. All you need is to add the features of 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 want a single framework for testing applications under Windu. This is how the
Winium Selenium-based tool
appeared .
Why we love Winium:- We write tests using our favorite tools and any WebDriver-compatible programming language: Java, Objective-C, JavaScript with Node.js, PHP, Python, Ruby, C #, Clojure, and so on;
- 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
For a complete list of our open source products, look at
Github or look at
2G.Technologies . Use the tools for the intended purpose, put the stars, fork and write feature requests.