• Новый 2ГИС под Windows Phone: архитектура и стек технологий

      картинка для привлечения внимания

      Шел 2013 год. За доллар давали 30 рублей, а я устроился в компанию 2ГИС разрабатывать под Windows Phone. Мне удалось поучаствовать в запуске почти готового к тому времени приложения 2ГИС, которое в скором времени стало доступно нашим пользователям в Marketplace.

      Была у этого приложения одна досадная особенность: оно работало на нашем WebAPI, и, соответственно, требовало подключения к Интернету. Поэтому почти сразу возникла необходимость научить 2ГИС под WP работать офлайн. А заодно решить другие насущные проблемы.
      Читать дальше →
    • «Прачечная, зачем вы мне звоните?» – мы выпустили новый 2GIS Dialer

        Есть такие релизы, про которые совсем не хочется писать, что это «обновление». То есть, технически, так и есть: мажорный релиз 1.0., добавили невероятное количество всего, ещё столько же улучшили. Но фактически — это полностью переписанное приложение.

        Обновление 2GIS Dialer именно такой случай.



        Мы выпустили первую версию 2GIS Dialer чуть больше года назад. За это время мы успели встать на миллион устройств, поймать и вылечить несколько критичных багов, собрать огромное количество фидбека и понять, что нужно улучшить в первую очередь, прежде, чем двигаться дальше.
        Читать дальше →
      • Открой Open Source 2ГИС

          Open Source 2ГИС
          2ГИС выпускает справочники и карты городов с 1999 года. За это время мы прошли большой технологический путь — от одного ПК-приложения с данными для Новосибирска до API карт и справочника, десктопных приложений на Windows, Ubuntu и OS X, мобильных приложений на Android, iOS, Windows Phone и Blackberry с данными по 270 городам мира.

          Часто мы решаем задачи, для которых нет готовых инструментов. Или они есть, но не покрывают всех потребностей. Поэтому мы сами пишем для себя фреймворки и библиотеки, большая часть которых связана с автоматизацией тестирования, сборкой и ускорением разработки.

          Этими инструментами с удовольствием делимся на Гитхабе, а для удобства сделали ещё и Open Source раздел на 2ГИС.Технологиях. Чтобы вы разобрались, что есть что, мы расскажем о наших флагманских инструментах с открытым кодом.
          Читать дальше →
        • TARS, сделай уровень frontend-рутины 0%

            image

            Frontend с каждым днём становится сложнее. Задачи — объёмнее, пользовательский интерфейс — насыщеннее, HTML, CSS и Javascript — огромнее, а сон фронтендера — короче и беспокойнее. Необходимо грамотно структурировать код, выполнять множество рутинных задач (компиляция css- и js-препроцессоров, сборка спрайтов, подготовка и оптимизация изображений, минификация файлов и др). Если вы работаете в команде — это автоматически увеличивает сложность разработки. Чтобы решить эти проблемы, я создал TARS — сборщик html-вёрстки, основанный на gulpjs.
            Уменьшить рутину
          • Главные темы CodeFest 2015

              image

              По традиции в последние выходные марта мы проводим крупнейшую IT-конференцию за Уралом. 28—29 марта встречаемся там же, где и в прошлом, и позапрошлом, и позапозапрошлом году — в новосибирском Экспоцентре. Поводы те же: познакомиться с крутыми спикерами, пообщаться с коллегами по отрасли и пошуметь на афтепати.

              В программе семь треков: mobile-, frontend- и backend-разработка, тестирование, управление продуктами и проектами, дизайн и поток квартирников — так у нас называются дискуссионные панели.
              Итак, к главным темам программы
              • +22
              • 8,7k
              • 3
            • BattleGIS — JavaScript-движок для игры в Танчики



                Танчики на денди — классический пример синдрома утёнка в плоскости видеоигр. Современные игры настолько круты, что сложно отличить скриншот от фотографии. Однако взрослые дядьки могут часами двигать по экрану восьмибитные пиксели, вспоминая счастливое детство.

                Хотелось сделать чего-нибудь эдакого, чтоб можно было собраться с коллегами в большой переговорке и за разного рода напитками весело провести время. Это должно было быть связано с профессиональной деятельностью: JavaScript`ом или вёрсткой, ведь чтобы погамать в Кваку или выехать на шашлыки, быть frontend-разработчиком совсем не обязательно.

                Так родилась идея сделать JavaScript AI-challenge.
                Читать дальше →
              • Одиннадцатиклассница, или тестируем баги вёрстки



                  В современном вебе несправедливо мало внимания уделяется хоть сколько-нибудь автоматизированному тестированию UI. Особенно это касается статической вёрстки. На проекте 2ГИС Онлайн мы попытались частично восполнить этот пробел. Какие полезные практики мы приобрели, и о каких хороших библиотеках мы узнали, расскажем далее.
                  Получить плюс пять к качеству
                • Суперсилы Chrome DevTools



                    Я работаю в команде Онлайн. Мы делаем веб-версию справочника 2ГИС. Это долгоживущий активно развивающийся проект, в котором JavaScript используется как основной язык как на клиенте, так и на сервере.

                    Важное место в работе занимают инструменты анализа и отладки приложения. Популярные JavaScript фреймворки как правило обладают собственным инструментарием, заточенным под конкретную идеологию. Наша ситуация осложняется тем, что под капотом Онлайна гудит фреймворк собственного производства — Slot — также находящийся в стадии активной доработки.

                    В этой статье я расскажу, как мы используем стандартные браузерные инструменты разработчика для эффективной отладки и исследования. Эти рецепты направлены в первую очередь на изучение приложения снаружи-внутрь, поэтому подойдут для любого проекта.
                    Читать дальше →
                  • Бета нового 2ГИС под Windows Phone (офлайн!)



                      Некоторые считают, что в эпоху повсеместных Wi-Fi, LTE и облачных технологий от офлайновых приложений можно отказаться. Реально существующие люди, которые знают, что интернет есть не везде и не всегда, с ними не согласятся. Более трех тысяч отзывов в Windows Phone Store с просьбами об офлайновом 2ГИС тому подтверждение.

                      Даже пользователи компьютеров, где, казалось бы, не может не быть интернета, просили нас сделать офлайн-версию для Mac и Linux. Мы как раз её тестируем. На мобильных устройствах проблемы с подключением встречаются куда чаще.

                      Windows Phone оставался единственной платформой, где 2ГИС не работал без интернета. Да, приложение есть, но работает на API 2GIS и требует подключения к сети. Почему так случилось — долгая история и отчасти уже рассказанная на Хабре.

                      Сегодня мы объявляем о начале бета-тестирования нового 2ГИС для WP 8.1. Поэтому чтобы принять участие — обновите ваш девайс и запишитесь.
                      Читать дальше →
                    • Бета нового 2ГИС для вашего компьютера

                        image

                        Год назад, в ноябре, мы впервые представили Новый 2ГИС. Немного волновались, как воспримут обновление наши пользователи. И было очень приятно, когда фидбэк показал, что мы на верном пути. Спасибо вам всем!

                        Сегодня новый дизайн, новый поиск, новая логика, функции и возможности — все, что было представлено тогда в онлайн-версии, переезжает в 2ГИС для компьютеров. Бета-версия приложения под Windows, OS X и Ubuntu, наконец, готова — встречайте!

                        А пока файлы качаются, расскажем вам еще немного про новый 2ГИС.
                        Читать дальше →
                      • Изоморфные JavaScript-приложения с Catberry.js



                          UPD:
                          Время шло… Фреймворк развивался и много чего из этой статьи уже устарело.
                          Но не смотря ни на что, свежий материал можно найти вот на этих слайдах, а к ним еще есть видео.

                          Catberry.js — это фреймворк для разработки изоморфных JavaScript-приложений на node.js с использованием модульной архитектуры и быстрых механизмов рендеринга. Этот фреймворк позволяет написать модуль приложения один раз и использовать его как на сервере для рендеринга страниц для поисковых роботов, так и в браузере для одностраничного приложения, запрашивая только данные для шаблонов.
                          Читать дальше →
                        • Статистика пользователей 2ГИС: правила ETL и препроцессинг данных



                            Чтобы понимать предпочтения пользователей и оценивать эффективность работы сервисов 2ГИС, мы собираем обезличенную информацию. Наши заказчики — это продакт-менеджеры, представители коммерции и маркетинга, партнёры и рекламодатели, которые смотрят статистику в личном кабинете.

                            Пользовательская статистика насчитывает от 21 до 27 параметров. Она включает в себя город, рубрику, фирму и так далее.

                            Большое количество параметров событий ведёт к большому количеству отчётов: суммарные показатели, средние значения, отклонения, топ-10, -100, -1000 и ещё много чего. При таком раскладе трудно предсказать, какая именно информация пригодится завтра. А когда эта необходимость появится, предоставить данные будет нужно as soon as possible.

                            Знакомо?
                            Узнать, как мы с этим справились
                            • +27
                            • 12,3k
                            • 2
                          • UI в Enterprise-приложении, или как мы делали удобную систему для создания карт

                              Обычно мы рассказываем про то, как делаем внешние продукты или их отдельные фичи — сам 2ГИС, его графику и типографику или Этажи. При этом тема внутренних продуктов ещё ни разу не поднималась. Исправляем эту досадную оплошность на примере «Fiji» — продукта для отрисовки интерактивной карты.


                              Читать дальше →
                            • 2GIS API 2.0

                                Мы рассказали про новый 2ГИС почти всё. Точнее, почти обо всём, с чем сталкивается пользователь. Настало время рассказать о том, что у него “под капотом”. Угадали, речь об API 2ГИС.

                                Если вы пользовались новым 2ГИС с момента его появления, вы уже видели 2GIS API 2.0 в деле. Сегодня же он вышел из статуса беты и стал доступен всем желающим. Отдельно хотим поблагодарить тех, кто участвовал в тестировании: ребята, спасибо, вы помогли сделать продукт именно таким, каким он получился. То есть более, чем неплохим.

                                Если вам не терпится попробовать новый API, то посмотрите сюда. Те, кто любит не только смотреть, но и читать, загляните под кат.


                                Читать дальше →
                              • Реактивное программирование под Android

                                  Отказоустойчивость, отзывчивость, ориентированность на события и масштабируемость — четыре принципа нынче популярного реактивного программирования. Именно следуя им создаётся backend больших систем с одновременной поддержкой десятков тысяч соединений.

                                  Отзывчивость, простота, гибкость и расширяемость кода — принципы, которые можно закрепить за реактивным UI.

                                  Наверняка, если совместить реактивные backend и UI, то можно получить качественный продукт. Именно его мы и попытались сделать, разрабатывая 2GIS Dialer — звонилки, которая работает через API и при этом должна оставаться быстрой и удобной.


                                  Читать дальше →
                                • 2GIS for %browser% или как мы делали расширение

                                    Однажды мы задали себе вопрос: как мы можем помочь пользователю выбрать компанию за пределами 2gis.ru? Вариант реализации идеи в виде браузерного расширения был предложен практически сразу, и после этапов исследования и планирования мы приступили к разработке 2GIS for browsers.

                                    В качестве основного варианта реализации мы остановились на кнопке сбоку адресной строки, при нажатии на которую открывается информационное окно. Дополнительно — подсвечивать номера телефонов внутри содержимого сайтов.



                                    Читать дальше →
                                  • 2ГИС Этажи. Лестница к продукту

                                      Мы любим изучать города и особенности жизни в них. Обнаруживать проблемы городских жителей и предлагать решения в продуктах 2ГИС. Например, чтобы люди быстрее находили компании, мы подготовили данные о входах в миллион компаний страны.

                                      Решая одну проблему, мы обнаружили другую. Да, теперь 2ГИС приводит пользователей прямо к двери, но что если организация или банкомат находятся внутри большого здания?



                                      По сути, мы бросили человека с его проблемой, так и не показав, где именно находится объект его поиска. Нужно было срочно искать решение.

                                      Так появилась идея, которую мы назвали «Этажи».

                                      Помимо истории новой возможности в 2ГИС хочется поделиться нашим подходом к её созданию, рассказать об участниках и особенностях процесса создания. Поэтому познакомьтесь с ролями, которые будут появляться на каждой ступеньке формулирования продукта.

                                      Читать дальше →
                                    • 2ГИС показал новое

                                        13 мая прошла презентация новых возможностей продуктов 2ГИС. Про некоторые из них мы сегодня уже говорили, настал черёд рассказать про остальное.


                                        Читать дальше →
                                      • Что делать, если 2gis.ru — дополнительный шаг в выборе компании?

                                          Задача 2ГИС — сделать выбор фирм в городах быстрым, удобным и приятным. Но, надо признать, мы не способны решить 100% жизненных ситуаций. Зато способны немного помочь в их решении. Как? С помощью расширения для браузеров.

                                          Читать дальше →
                                        Самое читаемое