• История одного прогресс-бара



      Наверное, любому программисту, который разрабатывает пользовательский интерфейс на C#/XAML, приходилось писать нестандартные элементы управления. В нашей веселой команде 2GIS для Windows Phone мы довольно часто делаем это, и такие задачи стали почти рутиной. Но об одном случае мне хочется рассказать подробнее. Все началось с того, что однажды нам понадобилось написать весьма своеобразный прогресс-бар.

      Читать дальше
    • WebGL для всех

      • Tutorial


      Идея данной статьи родилась после нескольких мучительных недель изучения WebGL. На личном примере выяснилось, что люди, не сталкивающиеся до этого с 3D-графикой, имеют в основном ошибочные представления о работе данной технологии. К тому же была проблема с поиском информации в интернете.

      WebGL, в отличие от Javascript, имеет высокий порог вхождения, его до сих пор мало кто использует, а ещё меньше тех, кто об этом пишет. Большинство руководств или статей перепрыгивают сразу на использование какой-нибудь библиотеки. Но мы-то с вами знаем, что большие универсальные инструменты не всегда пригодны для наших задач или, возможно, делают это на неприемлемом уровне: проигрывают в скорости, поставляются с ненужным багажом и т.д.

      Этой статьёй хочется облегчить порог вхождения в чистый WebGL, дать начальное представление и подсказать, куда двигаться дальше.
      Поехали!
    • Выступи на CodeFest



        Конференции разработчиков CodeFest пять лет. Все пять лет мы формировали программу только силами программного комитета: искали спикеров, приглашали, подкупали, угрожали. Всё сами. Вы все пять лет попрекаете нас этим. Мол, в программу снаружи не пробиться. Мы всё осознали и хотим сделать предстоящую конференцию более открытой. Поэтому приглашаем вас выступить на CodeFest.
        Читать дальше →
        • +18
        • 5,1k
        • 4
      • Winium: теперь для Windows Phone


          Для автоматизации тестирования под Windows Phone и Windows нет удобных и открытых инструментов, которые можно легко адаптировать под свои нужды. Те, что есть, закрыты, ограничены и предлагают свой подход, отличающийся от общепринятых стандартов вроде Selenium WebDriver.

          Мой коллега skyline-gleb недавно писал на Хабре, как мы разработали свой selenium-like инструмент автоматизации функционального тестирования desktop-приложений под Windows. Параллельно мы разрабатывали аналогичный инструмент, только под мобильные платформы от Microsoft.

          О том, почему взялись его писать, какую пользу получили от использования единой платформы для автоматизации тестирования под все мобильные платформы и как внедрить это на вашем проекте, читайте в этой статье.
          Читать дальше →
          • +19
          • 8,1k
          • 9
        • Продолжаем бороться с frontend-рутиной

            image

            Прошло полгода с последней новости о TARS на хабре.

            Напомню, что TARS — это сборщик html-верстки, основанный на gulp, в помощь любому frontend-разработчику (или даже целой команде), для создания проектов любой сложности. За последние шесть месяцев было закрыто 88 issue, выпущено 7 версий, появился CLI, так вышло, что с yeoman’ом отношения не сложились, поэтому появилась своя версия. TARS переехал в свой новый дом на github, обзавелся командой из 4 разработчиков + небольшой армией фанатов. Кстати, огромное вам спасибо за мгновенные фидбеки после релизов и не только. TARS был внедрен в нескольких вебстудиях России и за рубежом. Сборщик научил компонентному подходу не один десяток разработчиков, привлек в ряды frontend’еров тех, кто боялся всей рутины верстки. В общем, появилось много всего нового, и об этом хотелось бы рассказать.
            Подробности
          • Пешком по тайлам



              Для автомобилистов проблему незнакомых улиц давно решили навигаторами. Но даже автомобилисты ходят пешком. Если магазин через дорогу, то мы встаём и идём. Трудности появляются, если предстоит пройти пятьсот метров по незнакомой улице и два-три раза свернуть.

              Ни один из известных нам сервисов не строил маршрут из точки А до точки Б там, где нет тропинок и тротуаров, зато полно заборов и домов причудливых очертаний.

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

              Принято считать, что такой способ строить маршруты неприемлем, потому что съедает много ресурсов. Под катом — как мы с этим справились.
              Читать дальше →
            • Winium.Desktop: Selenium для desktop-приложений под Windows


                Привет, меня зовут Глеб, и я занимаюсь автоматизацией тестирования в 2ГИС. Больше года назад я писал о нашем инструменте Cruciatus — с его помощью мы тестируем UI desktop-приложений под Windows.

                Cruciatus отлично решает задачу доступа к контролам, но тесты пишутся строго на C#. Это мешает шарить знания и опыт между тестировщиками под разные платформы: mobile, web и desktop.

                Решение мы увидели в Selenium — пожалуй, самом известном инструменте для автоматизации тестирования. В этой статье я расскажу, как мы скрестили Cruciatus и Selenium и как тестировать интерфейс Windows desktop-приложений с помощью привычных Selenium-биндингов.
                Читать дальше →
              • Как провести Testing Dojo



                  Есть такая штука — Testing Dojo. Это соревнования, где участники ищут баги в приложениях. Кто больше найдёт — тот и победил. Обычно соревнуются командами. Если баги приходится искать вручную, участвуют только тестировщики. Если в бой идут автотесты, подключаются разработчики.

                  В 2ГИС Testing Dojo уже давно стал доброй традицией: проводим его третий год подряд. За это время мы много поняли о том, как делать лучше. Под катом поделимся опытом: вдруг и вы захотите сделать свой Testing Dojo.
                  Читать дальше →
                  • +14
                  • 4,1k
                  • 1
                • DevDay — открытые встречи для общительных айтишников



                    Три года назад веб-разработчики 2ГИС собирались раз в месяц, чтобы поговорить о насущном. В большом отделе трудно уследить за всем подряд, и мы рассказывали друг другу, какими методами и инструментами решаем интересные задачи. Делали по два небольших доклада в рабочее время.

                    Потом подумали: чтобы развиваться самим, нужно общаться с разработчиками из других компаний. Делиться своим опытом и спрашивать о вещах, в которых они разбираются лучше. Так появились DevDay — открытые встречи для общительных айтишников в Новосибирске.
                    Читать дальше →
                    • +15
                    • 6,9k
                    • 7
                  • Дайджест о технологиях 2ГИС

                      image

                      Наши эксперты охотно делятся опытом разработки, тестирования, дизайна и управления продуктами. Весной они выступили на конференциях Mobius, CodeFest, CocoaHeads Moscow и Dump — мы собрали видео и слайды с выступлений и подготовили для вас дайджест.

                      В дайджесте доклады о реактивном программировании, автоматизации тестирования windows-приложений, автоматизации рутинных фронтенд-задач, дизайне продуктов в 2ГИС и DevOps в энтерпрайзе.
                      Читать дальше →
                    • Новый 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. Поэтому чтобы принять участие — обновите ваш девайс и запишитесь.
                                        Читать дальше →

                                      Самое читаемое