Программа которая рисует маршрут передвижения

Всем привет! Меня зовут Александр, я разрабатываю ActiveTrip.me — cервис для построения маршрутов для пеших, велосипедных, водных походов и путешествий, а также для хранения и группировки интересных мест в виде меток.

О том, почему мы начали делать такой сервис, расскажем подробно в отдельной статье, а здесь осветим технические особенности.

Что уже можно делать в сервисе:

  1. Строить автоматически маршрут по тропам и дорогам в зависимости от предполагаемого типа передвижения
  2. Строить автоматически маршрут по рекам
  3. Строить маршрут без привязки к дорогам (по прямой между двумя точками)
  4. Строить несколько маршрутов на одной карте
  5. Отмечать важные места на маршруте метками
  6. Изучать местность благодаря разным картам и слоям
  7. Шарить маршруты и скачивать в форматах GPX и KML

Скоро будет добавлена возможность совместного редактирования маршрутов (как в Figma).

КАК СДЕЛАТЬ АНИМИРОВАННУЮ КАРТУ МАРШРУТА?

Реализация такого картографического сервиса подразумевает решение нескольких базовых задач:

  • Работа с картами и слоями. Получение, хранение и раздача пользователям интересующих их карт и дополнительных слоев
  • Работа с геоданными. Предоставление пользователю инструмента для построения маршрута по точкам с указанием набора дополнительных ограничений, к которым можно отнести:
  • Выбранный способ передвижения: пешком, на велосипеде, на автомобиле, по рекам
  • Тип покрытия поверхности: асфальт, грунт
  • Протяженности маршрута
  • Типах покрытия поверхности, по которым проходит маршрут: асфальт или грунт. Важно для велосипедистов и внедорожных путешествий
  • Информации о высотах: график профиля высоты маршрута, суммарные набор и сброс высоты, максимальная и минимальная высота на маршруте и т.д. Важно для любого похода в горной местности

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

  • Возможность поделиться созданным треком через прямую ссылку
  • Импорт GPX и KML-файлов в сервис для последующего редактирования. GPX и KML являются форматами представления трехмерных пространственных геокоординат и основаны на XML-разметке. Большинство навигаторов и навигационных приложений (Garmin, Locus, OsmAnd) используют именно GPX-формат, однако некоторые (Maps.me, Organic Maps) поддерживают только KML-формат
  • Экспорт GPX и KML-файлов. После подготовки маршрута на нашем сервисе его можно загрузить в навигатор или в мобильное приложение и отправиться в путешествие

Существует множество способов реализации каждой из перечисленных выше фич в своем собственном картографическом сервисе. Как правило, можно:

  • Прибегнуть к использованию доступных SDK, open source модулей и библиотек, подняв свой собственный сервер
  • Воспользоваться специализированными сервисами, предоставляющими возможность интеграции через API

Построение маршрута

При попытке решения задачи построения маршрутов, мы обратились к известным open source решениям. Стояла задача справиться с минимальными затратами на вычислительные и финансовые ресурсы (на старте у нас был в наличии скромный VPS сервер с 1 ТБ HDD и 4 GB RAM).

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

Valhalla

Сборка и запуск Valhalla с использованием собственных ресурсов подробно описаны в документации и состоят из двух шагов:

  1. Необходимо развернуть подготовленный контейнер или собрать его самостоятельно из исходников через CMake. Исходники включают в себя http-сервис, а также набор утилит для препроцессинга геоданных
  2. Далее скачать OSM-данные нужных регионов и скормить утилите препроцессинга

При развертывании процессинг отдельных небольших регионов осуществляется на упомянутом железе за десятки минут (для Швейцарии потребовалось 20 минут). Процессинг стран Европы и Азии отрабатывал несколько суток и, в итоге, завершился с ошибкой.

GraphHopper

Алгоритм запуска инстанса GraphHopper во многом аналогичен.

Процессинг занимает в разы меньшее количество времени (~12 часов на весь мир), но требует значительного количества RAM. В нашем случае это около ~128 ГБ на препроцессинг и ~64 ГБ для дальнейшей работы сервиса (хранит данные в памяти в сжатом виде).

Завышенные нами числа относительно упомянутых в документации появляются из-за необходимости работы не только с автомобильными маршрутами, но и пешими с велосипедными.

Альтернатива — использование уже развернутой версии GraphHopper Direction API. Бесплатная версия ограничена 500 запросами в день, что даже для реализации прототипа оказалось недостаточно.

Mapbox

Mapbox — широко известный поставщик пользовательских онлайн-карт, сервисов навигации и геопоиска для веб-сайтов и приложений.

Также Mapbox хостит и предоставляет возможность использования Valhalla в рамках Navigation API. В бесплатном варианте использования доступно до 100000 запросов в месяц.

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

BRouter

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

Отличается гораздо более низкими требованиями с точки зрения ресурсов. Данные после препроцессинга занимают кратно меньше места, чем в случае с GraphHopper и Valhalla.

Возможно обновление данных на регулярной основе (на текущий момент BRouter поставляет свежие данные раз в неделю).

Из недостатков — строит маршрут медленнее, чем решения, построенные на базе Valhalla.

Из ключевых преимуществ — возможность построения маршрутов по воде.

Что мы в итоге используем для построения маршрута?

Для реализации прототипа мы решили ограничиться использованием Valhalla API, предоставляемое Mapbox, для построения маршрутов по земле, для воды использовали развернутый на собственном железе сервер Brouter.

Читайте также:
Как делать программы в паскале с if

Для оптимизации количества запросов к Mapbox (с учетом ограничения бесплатного использования) мы внедрили следующее:

  1. Построенный пользователем маршрут мы сжимаем с использованием Polyline Encoding алгоритма и кешируем на своей стороне. При повторном обращении к созданному треку мы избегаем лишних вызовов к API и отрисовываем трек на основе сохраненных данных
  2. При внесении модификаций в построенный маршрут мы перестраиваем лишь необходимый участок. Помимо оптимизации количества вызовов мы улучшаем пользовательский опыт, поскольку операция обновления маршрута в общем случае не идемпотентна: у нас нет гарантии, что для одинакового набора точек мы всегда будем получать маршруты идентичного вида

Расчет высоты

Поход к расчету высоты мы посмотрели у создателя проекта Nakarte.me:

  1. Берем открытые данные о высотах из http://viewfinderpanoramas.org
  2. Осуществляем препроцессинг данных о высотах с использованием утилиты и складываем их в БД
  3. Поднимаем сервер, работающий с подготовленными данными. Сервер по переданной на вход нитке маршрута осуществляет интерполяцию высот на основе подготовленных данных и отдает результат
  4. Данные скачиваются с данного сайта, препроцессятся с помощью утилиты и складываются в SQLite на собственном сервере
  5. После этого с помощью программ из того же репозитория создается микросервис, который интерполирует высоты, используя полученные после препроцессинга данные

Геокодирование

Геокодирование используется для повышения удобства использования сервиса.

Прямое геокодирование — получение по заданному адресу координат географической точки. Обратное геокодирование, соответственно, решает обратную задачу: получение адреса или названия, расположенного в точке объекта, по указанным координатам.

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

  1. Для прямого геокодирования мы используем API от MapyCZ компании Seznam (в статье выше его не упоминают)
  2. Для задачи обратного геокодирования мы используем Mapbox в рамках того же бесплатного лимита, что и для построения маршрутов

Для сервиса возможности обратного геокодирования полезны в двух сценариях:

  1. Автогенерация названия маршрута по стартовой точке
  2. Индексация построенных пользователями маршрутов для дальнейшего формирования каталога. Может быть полезно для реализации функциональности вида «найти все построенные треки пользователей, проходящие через село X». При этом относительно дешево решается проблема локализации — API принимает на вход набор необходимых языков

Импорт и экспорт треков

Загрузку и скачивание пользовательских треков мы поддерживаем в виде GPX и KML-файлов. Эти файлы можно использовать в мобильных приложениях и портативных навигаторах. Кроме этого, можно расшарить свой трек через публичную ссылку

Отрисовка маршрутов на карте

На данный момент отрисовка полностью основана на использовании библиотеки Leaflet. Из коробки поддерживается отображение слоёв карт в формате Tiled web map, отображение геометрических объектов, линий и маркеров.

Из возникших и еще не решенных проблем — Leaflet не справляется с одновременной отрисовкой большого числа маркеров (> 100 шт.). Пока обходим это через динамическое отображение в зависимости от масштаба, но такой подход уместен не во всех случаях.

Сейчас мы с командой активно развиваем ActiveTrip.me и регулярно выпускаем обновления. Буду благодарен, если найдете время для тестирования и дадите обратную связь.

Также у проекта есть активное русскоязычное сообщество в Telegram. А новости о проекте мы публикуем в Telegram и VK.

Источник: habr.com

Онлайн-сервисы и приложения для создания веломаршрутов

велосипедная дорожка

Маршруты – дело очень важное. От того, куда и как мы поедем, зависит всё удовольствие от катания на велосипеде. Раньше маршруты планировались на бумажной карте карандашом, с курвиметром и офицерской линейкой. Сейчас нам на помощь приходят десятки приложений, сервисов и мобильных решений, от которых некуда деваться.

Велосипедный мир достаточно небольшой, поэтому специализированных сервисов и программ мало. Большинство серьёзных наработок универсальные – как продукция мировых гигантов Google, Yandex и Baidu или карты Navitel для автомобилистов.

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

Веломаршруты

Для начала – зачем мы прокладываем маршрут? Несколько направлений:

  • Велотуризм – когда путь и есть самоцель, его следует преодолеть и насладиться и нагрузкой, и красотами. Здесь в первую очередь помогает опыт, а не приложения. Очень важно участие человека в планировании.
  • Прогулки – здесь, наоборот, маршрут следует планировать автоматически, указав точки, которые хочется посетить. Сервис автоматически построит оптимальный путь с минимальными затратами сил.
  • Передвижение – требования двояки, с одной стороны, велосипедист, скорее всего, знает местность лучше любого сервиса, а с другой, возможно, место назначения новое и понадобится автоматическая прокладка.

маршруты для велопрогулок по Москве

Кроме планирования веломаршрута, существует и часть накопления опыта. Раньше, опять же, любители велотуризма обменивались атласами с отмеченными интересными картами, теперь этим проще всего заниматься с помощью онлайн-сервисов.

Вторая интереснейшая задача – это запись GPS-треков для последующего анализа своего передвижения. Речь, скорее, о спортсменах и туристах, ведь им важно знать, какие элементы пути оказались простыми, а на каких возникли проблемы. Никто не отменял и соревновательной части. Многие отрезки измеряются, и по ним проходят настоящие самоорганизованные соревнования в том, кто быстрее преодолеет участок.

Онлайн-карты

Самый популярный и доступный, пожалуй, большинству тип сервиса – это онлайн-карты. Раньше существовала программа «Google Планета земля» и несколько более старых альтернатив, которые не получили широкого распространения. В настоящее время карты от мировых гигантов стали частью нашей жизни, и вот почему:

  • всегда доступная карта любой местности;
  • актуальная информация об инфраструктуре и возможностях передвижения;
  • быстрые измерения и изменения в собственных картах;
  • обсуждение и отправка нарисованного маршрута.
Читайте также:
Список литературы по целевым программам

Да, в онлайн картах главное – это «рисование». Т.е. сервисы становятся заменой бумажной карты, по которой мы чертим свой маршрут, используя собственную голову. Стоит отметить, что многие сервисы развиваются в сторону социальности и навигации, но отстают от своих специализированных конкурентов. Однако большинство из «конкурентов» в итоге используют OSM, Google или Yandex как основу для отрисовки карт.

OpenStreetMap

http://www.openstreetmap.org/

Первый сервис, о котором стоит рассказать, – это OpenStreetMap. Немного перегруженные карты – квинтэссенция свободы в современном мире. Все карты этого ресурса составляются и проверяются пользователями. Тысячи людей по всему миру отмечают объекты, их изменения и свойства, следят за актуальностью информации.

OpenStreetMap

Для велосипедистов OSM будет полезен в том плане, что на этих картах отражаются не только дороги и жилые массивы, но и многие достопримечательности, и, что самое главное, велодорожки и инфраструктура для велосипедистов. Среди активистов их достаточно много, потому карты так полезны для нас.

К минусам сервиса можно отнести слабую социальную составляющую (никаких «поделиться» и «отправить другу») и перегруженность самих карт (что не всегда плохо). Кроме того, данный сервис, являясь в первую очередь картографическим, не предлагает дополнительных функций, как другие участники этого раздела.

Google Maps

https://www.google.ru/maps

Популярность «Google Планета Земля» понемногу падает, а вот карты от Гугл становятся всё популярнее. Спутниковые снимки, базы заведений, быстрая работа и широкие социальные возможности – всё привлекает велосипедистов к всемирной корпорации. На картах Google рисовать свой путь удобно, а хранить его и делиться им – ещё проще.

Google Maps

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

Однако навигация от Google всё равно уступает специализированным сервисам и даже своему русскому конкуренту – Яндексу.

Яндекс.Карты

http://maps.yandex.ru/

«Наш ответ Гуглу» – Яндекс.Карты на деле даже немного превосходят глобальную корпорацию. И хороши карты от Яндекса по двум причинам:

  1. Полнота данных о России и СНГ – любые другие сервисы, включая Ovi и китайцев, не говоря о Google, плохо знают российские деревни и просёлки. Они просто отсутствуют на картах. Яндекс же скрупулёзно демонстрирует все грунтовки и даже тропинки, уступая лишь OSM по полносте.
  2. Действительно, хорошая навигация. Хоть и автомобильная, не учитывающая перепады высот, но строящая навигационные маршруты логика в Яндексе разработана великолепно.

Яндекс.Карты

Кроме того, карты Яндекса могут использоваться в качестве источника для Яндекс.Навигатора с голосовыми подсказками по ходу движения. В Google для этого придётся использовать дополнительные приложения от сторонних разработчиков.

GPS треки

Большой привет от профессиональных спортсменов и автолюбителей – это GPS треки и сервисы для их хранения. Навигация, используемая в автомобилях, – достаточно старый продукт, и уже двадцать лет назад в ходу были записи поездок – так называемые GPS треки.

Сейчас сервисы ушли далеко вперёд от простого хранения информации с GPS-навигатора. Они предлагают целый набор услуг:

  • построение статистики по записи поездки;
  • планирование поездки (т.е. проложение маршрута, что нам и нужно);
  • обмен и катологизацию различных маршрутов.

Как видим, кроме картографической функции, сервисы треков предлагают нам много интересного, потому особенно интересны. Так как мы рассматриваем построение путей для велосипедистов, рассмотрим соответствующие сервисы.

Bikemap.Net

http://www.bikemap.net

Пожалуй, крупнейший сайт для хранения и обсуждения различных треков велосипедистов. Огромное количество загрузок в Европе и Америке, хорошее покрытие по России и большое число русскоязычных пользователей. Часть ассоциации из нескольких трек-сайтов, включающих любителей велосипедов, бега, мопедов и даже роликовых коньков.

Bikemap.Net

Прокладывание маршрута очень удобно для велосипедиста. Автоматически строится график высот, по которому можно определить грядущую нагрузку.

С социальной составляющей тоже нет проблем – все маршруты могут быть публичными, обсуждаемыми. Сам каталог удобен и позволяет подобрать себе трек по нужным параметрам – стиль катания, общая продолжительность пути.

Для записи и следования по маршруту существует одноимённое приложение – практически полноценный навигатор. Пожалуй, из раздела хранилищ треков Bikemap.Net – лидер на сегодняшний день.

OpenCycleMap

http://www.opencyclemap.org

«Дочернее» предприятие от OpenStreetMap использует карту OSM, дополняя слоями реальных GPS-треков велосипедистов. Красивая карта Европы даёт нам понять, где этот сервис особенно популярен. К сожалению, в России его поклонников практически нет, несмотря на очень насыщенный функционал и возможность прокладывать маршруты с учётом карты высот и велосипедных дорожек.

OpenCycleMap

Следует отметить, что в системе огромное количество междугородних треков, т.е. используется он с вполне практическими целями – узнать, как наиболее эффективно путешествовать между городами на велосипеде. Собственно, для интересного путешествия на двух колёсах по Европе лучшего сервиса не сыскать.

GPSies

http://www.gpsies.com

Очень старый и надёжный сервис хранения треков из Германии. Огромная база треков с покрытием по всей России может понравиться многим велотуристам «старой школы», но в наши дни слабое собственное приложение, устаревший дизайн и не очень понятная логика работы отпугивают больше пользователей, чем привлекают.

GPSies

MyTracks

Если GPSies – это сервис без приложения, то MyTracks – отличное приложение без навязчивого сервиса. Записываем, анализируем маршруты. Понятное дело, ни о каком построении маршрута речь не идёт.

Спортивные трекеры

Для спортивных трекеров карты – далеко не самое главное. Но, понимая, что большинство заботящихся о своём здоровье пользователей будут ездить на велосипеде, бегать или совершать прогулки по горам – производители приложений включают в их состав маршрутную составляющую. Обычно это контракт с Google или OSM, и дальнейшее использование функционала, аналогичного хранилищам GPS-треков.

Читайте также:
Где хранятся программы на ПК

К сожалению, выделенного трекера с прокладкой маршрутов для велосипедистов пока сделано не было, и треки прокладываются по автомобильным или пешеходным правилам, изредка – с приоритетом велодорожек, но не более.
Спортивных приложений огромное количество. Разберём лишь те из них, которыми довелось пользоваться автору данной статьи.

Endomondo

Home

Один из наиболее серьёзных и комплексных сервисов для спорта. Огромное количество вводимых данных, интересные расчёты и подведение статистики. Универсальное приложение и универсальный веб-сервис позволяет удобно использовать одно приложение для всех типов активностей, а сильная социальная составляющая позволяет привлечь и друзей.

Endomondo

К минусам можно отнести тяжеловесность приложения – с каждым обновлением требования к «железу» растут (особенно к доступной оперативной памяти), и быстрое поглощение батарейки.

Маршруты приложение прокладывает быстро и хорошо, навигация с голосовым помощником работает на отлично, но маршрут прокладывает автомобильный.

MapMyRide

http://www.mapmyride.com/

Аналог Endomondo, но с раздельными приложениями для каждой активности. Особо они не отличаются, но на смартфонах использовать немного удобнее. Приложение так же, как и конкурент, очень любит дорогое «железо» и работает, полностью используя его возможности. Навигационные функции вполне стандартные.

MapMyRide

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

Пожалуй, для требовательного велосипедиста MapMyRide – лучший выбор.

Strava

https://www.strava.com/

Strava не выглядят лидерами рынка, но приложение очень и очень неплохое. Обычная Google-навигация, простой интерфейс и безотказная работа даже на слабых смартфонах – вот фишка Strava. Достойный трекер без ненужных функций, который популярен у сотен тысяч пользователей.

Strava

Последние релизы Strava добавляют социальной составляющей для обсуждения маршрутов и конкурирования по отрезкам, что не может не радовать.

Заключение

Современные приложения для прокладки маршрутов вышли из автомобильного мира и всё ещё максимально сильно связаны с ним. В велосипедной же части самые интересные наработки – в части спортивных трекеров. По сути обзора можно сказать, что, если вы велосипедист «старой школы» и вам нужна хорошая карта без лишней интерактивности, OpenStreetMap, Bikemap и Google будут лучшими помощниками. Современным профессионалам поможет Bikemap и OpenCycleMap, а простым любителям лучше всего остановиться на одном из спортивных приложений.

Возможности прокладывания маршрутов во всех этих программах очень схожи и достаточно стары. Это прокладка по карте с учётом дорог. Появляющиеся доработки в связи с высотами и велодорожками – пока скорее НИОКР, чем эффективно используемые функции. Тренд последних лет – социальность, соревнования и обсуждения маршрутов. Этими новинками стоит пользоваться, хотя к эффективному планированию они имеют весьма косвенное отношение.

Источник: velofans.ru

Программа которая рисует маршрут передвижения

Первым делом после покупки мотоцикла я пошёл искать приложения-компаньоны, чтобы записывать свои поездки. Люблю статистику и приложения, да. Протестировал три приложения, которые умеют записывать маршрут, собирают всякую статистику, помогают строить поездки и общаться с другими мотоциклистами.

* конечно, приложений существует больше, и, конечно, именно ваше я забыл упомянуть — напишите об этом в комментариях.

Все эти приложения ставятся на обычный смартфон, никакого хитрого бортового компьютера не нужно.

Yamaha MyRide

★★★☆☆ Google Play | AppStore | сайт
бесплатное, без рекламы

Это приложение рекомендовали чаще всего.

Стандартный набор функций для таких приложений:

  • Можно создать профиль
  • Добавить мотоцикл
  • Записывать пройденные маршруты
  • Вести общую статистику по пройденному расстоянию
  • совсем бесплатное и без рекламы
  • умеет измерять угол наклона в поворотах
  • есть геймификация

Минусы

  • нельзя добавить кастомный байк, особенно если у вас какой-то непопулярный бренд, будете всё время видеть Other brand — Other bike.
  • нет русского языка, и, видимо, не предвидится
  • очень плохо работают фильтры для поиска чужих маршрутов

Riser

★★★★★ Google Play | AppStore | сайт
бесплатное, без рекламы | подписка 2099 руб. в год

Плюсы

  • удобные социальные функции — тематические группы, друзья, комментарии.
  • организация групповых поездок («getaways») для поиска попутчиков
  • можно делать публичным часть пути с добавлением фоточек
  • есть полноценный веб-сайт, где можно смотреть свои записи и комментировать чужие
  • можно добавить мотоцикл любой марки, даже малоизвестной
  • странный поиск чужих маршрутов, всё время предлагает австралию и нидерланды
  • русский язык всё ещё делают
  • платная подписка довольно дорогая (хотя можно и без неё)
  • неудобно добавлять людей в друзья — ссылки приглашения работают странно, приходится искать по полному имени

Calimoto

★★★★★ Google Play | AppStore | сайт
бесплатное, без рекламы | подписка 1305 руб. в год

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

Плюсы

  • полноценная веб-версия с планировщиком поездок
  • импорт и экспорт маршрутов в GPX даже в бесплатной версии
  • премиум-версия дешевле, чем у других платных вариантов
  • рекламы и существенных ограничений нет даже в бесплатной версии, можно пользоваться без проблем

  • можно добавить только мотоцикл из базы данных (большой, но не абсолютно полной)
  • нет русского языка (но планируется)

В платной версии есть измерение угла наклона в поворотах и ускорения (то, что Yamaha MyRide делает бесплатно), предупреждение об ограничениях скорости на дорогах, офлайн-карты и прочие некритичные мелочи.

Сам я сейчас колеблюсь между Riser и Calimoto, оба приложения одинаково хороши и работают стабильно, обоим разработчикам я помогаю в меру своей компетенции. В очереди на тестирование Rever и Rlive, хотя у них не видно принципиальных отличий от уже протестированных.

А чем пользуетесь (и пользуетесь ли) вы?

Источник: bikepost.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru