Сервис для
сео - оптимизаторов

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

Прекрасные инструменты с открытым исходным кодом для веб-разработчиков

Давным-давно, когда Web 2.0 был просто Web 1.0, нам приходилось спрашивать у людей указания, копировать их и надеяться, что у нас будет складная карта, которая поможет нам найти свой путь. Затем появился MapQuest, за которым последовали Google Maps в 2005 году. Сегодня кажется невозможным найти наш путь без карманных телефонов и веб-карт.

Карты Google и его двоюродные братья Yahoo Maps и MapQuest превратились в неотъемлемые части Интернета. Теперь для сайта странно предлагать адрес без карты, показывающей местоположение и предлагающие маршруты. API-интерфейсы сопоставления позволили людям легко вставлять фрагменты карт на свои веб-сайты; сейчас карты везде.

[Как много вы знаете об этом стойком инструменте разработчика? Узнайте в тесте InfoWorld JavaScript IQ. | Узнайте, как работать умнее, а не усерднее, с помощью Руководства по выживанию для разработчиков InfoWorld. | Следите за последними новостями разработчиков в информационном бюллетене InfoWorld Developer World. ]

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

Взрывной рост и бесконечный оптимизм прекратились в октябре 2011 года, когда Google начал взимать плату с активных пользователей. Легкие пользователи все еще могли бы получить услуги бесплатно, но все остальные собирались заплатить, чтобы поддержать большую карту в небе. Это не было так трагично, как могло бы показаться, но решение Google было одним из первых, которое сигнализировало об окончании абсолютно свободной эры.

В то время как некоторые ворчали, другие видели возможность. До изменения цены все были рады позволить крупным компаниям выполнять тяжелую работу, потому что никто не хотел конкурировать с бесплатным сервисом от Google. Зачем платить за то, что вы можете получить бесплатно? Новые цены были достаточно крутыми, чтобы открыть дверь для конкуренции, что позволило новым компаниям набрать обороты.

Эти новые стеки используют огромное количество программного обеспечения с открытым исходным кодом, смешанного с проприетарными инструментами и сервисами. Вы делаете то, что хотите сами, и платите за то, что не можете сделать. Лицензии с открытым исходным кодом дать вам контроль. Хотя некоторые по-прежнему недовольны тем, что не могут получить все бесплатно, нет сомнений, что новый рынок предлагает гораздо больше возможностей и возможностей, чем раньше.

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

Работать с этими инструментами может быть немного сложнее, чем с таким крупным провайдером, как Google. Некоторые из этих компаний делают Инструменты JavaScript для отображения карт и других просто поставьте необработанные плитки, которые браузеры используют для сборки карт. (Все основанные на браузере инструменты карт разбивают карты на предварительно визуализированные квадраты или фрагменты, которые можно загружать независимо.) Работа с кодом означает принятие решений о том, как вы хотите собрать фрагменты, - теперь под вашим контролем. Вы можете придерживаться одной простой библиотеки или комбинировать чужую библиотеку с плитками, которые вы сами производите.

Новые инструменты хороши, но новички по-прежнему будут сталкиваться с жесткой конкуренцией со стороны крупных компаний. MapQuest по-прежнему имеет самые красивые карты, на мой взгляд. Карты Bing от Microsoft предлагают аккуратный вид с высоты птичьего полета, который дает более приятную перспективу, чем вертикальные фотографии. Google вкладывает больше денег в улучшение 3D-изображений и улучшенный просмотр улиц, включая те, которые можно отключить от сети. Google также быстро интегрирует Карты Google с другими своими базами данных. Теперь можно, например, искать карты с названием компании. Оказывается, все вышеперечисленное конкурирует с Apple, которая выпускает свою собственную инструменты картирования для разработчиков iOS ,

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

OpenStreetMap

Источником данных для многих из этих программ является OpenStreetMap , большая коллекция координат и названий улиц по всему миру. Если вы хотите карту, вы можете взять эту огромную коллекцию координат и построить их. Вуаля!

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

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

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

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

OSGeo

OSGeo представляет собой набор пакетов с открытым исходным кодом для создания карт и их отображения в браузерах. Некоторые из проектов являются старыми и фактически устарели, а некоторые являются более новыми версиями, которые эффективно заменяют старые.

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

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

Группа опирается на это ядро, которое, похоже, стало стабильным в 2007 году. Среди новых проектов GeoMoose инструмент для смешивания данных OpenLayers с наложениями географических данных. Это популярно среди налоговых департаментов недвижимости в государственных органах.

Большинство проектов OSGeo защищены щедрым Лицензии BSD или MIT ,

TileMill

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

Основой продукта является Carto, язык для описания того, как комбинируются шрифты, линии и цвета. В большинстве случаев это версия CSS. Вы разрабатываете свои карты с тем же уголком своего мозга, который используете для определения внешнего вида ваших веб-страниц. Если вы хотите, чтобы главные улицы были толще, вы увеличиваете число рядом с CSS-подобным параметром "line-width".

TileMill превращает данные с открытым исходным кодом о мире в фрагменты карты, которые позволяют настраивать (или экспериментировать) внешний вид ваших карт.

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

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

Больше картографических источников

Если вы создаете свой сайт или приложение из среды Ext, вы захотите взглянуть на GeoExt , Код заполнит панель данными из OpenStreetMap, а затем позволит вам добавить свои собственные слои и всплывающие окна, чтобы сделать карты более презентабельными. Лучшим названием класса может быть Symbolizer, который позволяет вам помещать произвольные векторные фигуры в слой, плавающий над картой. Код доступен с лицензией BSD.

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

JQVMap представляет собой набор векторных контуров основных стран, встроенных в плагин jQuery. Вы устанавливаете его на своей веб-странице и указываете код на DIV, который затем заполняется масштабируемой картой. Параметры позволяют вам выбрать цвета и добавить наложение мыши. Это простой способ позволить кому-то выбрать страну, нажав на карту.

Скромные карты является надежным, базовым API для размещения карты в DIV. Это как Google Maps, но с открытым исходным кодом. Вы указываете API на свой DIV и выбираете источник листов карты; Скромные Карты в значительной степени делают все остальное.

Modest Maps хорошо работает с различными провайдерами листов, которые часто совместно используют библиотеку или используют ее как строительный блок. HTMAPL инструмент для написания кода вашей карты в шаблонах HTML и jQuery вместо чистого JavaScript и HTML, является одним из них.

HTMAPL - это плагин jQuery, который соединяет HTML с Modest Maps для упрощения создания веб-карт.

Опытный художник может творить чудеса с данными OpenStreetMap. Некоторые из моих любимых приходят из Тычинка - студия общего дизайна, выпускающая плитки по лицензии Creative Commons. Карты местности хороши, но акварельные карты открывают глаза. Цвета сочетаются друг с другом, как будто они были нарисованы вручную грязной акварельной кистью.

Вот несколько примеров, показывающих Черно-белая плитка "Тонер" , Акварельные плитки , а также Плитки местности ,

Большинство картографических инструментов построены из стеков веб-технологий, потому что большинство людей предполагают, что карты будут использоваться мобильными браузерами. Mapnik написано в C ++ для настольных пользователей, хотя он предлагает питон привязки, которые могут быть использованы в браузерных приложениях.

Код представляет собой большую трубу для манипулирования географическими данными и подачи их в Библиотека рендеринга AGG «антизерновой» инструмент, который отлично справляется с сглаживанием. Качество показывает тоже - у карт MapNik есть некоторые самые приятные детали, которые я видел. Google был большим сторонником этого проекта во время недавнего Саммерса Кодекса, и я надеюсь, что это продолжится. Пользователям рабочего стола тоже нужны карты.

Торговля за инструментами

Все эти инструменты с открытым исходным кодом не появляются из ниоткуда. TileMill, например, был создан MapBox , компания, которая делает свои деньги, продавая загрузки фрагментов карты. Вы можете поиграть с данными и сделать все красивые картинки бесплатно, но как только люди будут смотреть на ваши фрагменты карты более 3000 раз в месяц, пришло время платить.

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

MapBox предоставляет достаточное количество открытого исходного кода, включая не только TileMill, но и Wax, инструмент, который упрощает использование библиотек, таких как Modest Maps, для встраивания плиток MapBox на ваш сайт. Моя любимая часть воска TileJSON , базовый формат для упаковки данных о плитках.

В этом примере на stamen.com показано использование плиток акварели, тонера и рельефа тычинки на одной карте.

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

Программное обеспечение OpenGeo представляет собой полный стек, включающий базу данных, настроенную для хранения географических данных (PostGIS); сервер и кеш для доставки листов карт (GeoServer и GeoWebCache); и отображать библиотеки в JavaScript (OpenLayers и GeoExt). Когда вы покупаете лицензию в OpenGeo, вы получаете стек, объединяющий их все от одних и тех же программистов, которые о них заботятся.

Если вы просто играете с картами, CloudMade - хорошее место для начала. CloudMade раздает карты он создан из данных OpenStreetMap. Как и данные, они защищены лицензией Creative Commons-Share Alike. Если вы хотите использовать эти плитки, CloudMade предлагает листовка , полнофункциональная библиотека для размещения карт на веб-страницах. Это маленький и оптимизированный для добавления дополнительных слоев и булавки. Вот пример, который я сделал с Leaflet ,

Похожие

BricKuber - Как построить робота для решения задач кубика Raspberry Pi Rubiks
... кодом, который вы можете создать самостоятельно. Мы хотели создать робота для решения кубиков Рубика с Raspberry Pi. Вместо скорости мы пошли с простотой: если у вас есть Raspberry Pi, комплект BrickPi и стандартный набор LEGO Mindstorms EV3 или NXT, вы легко сможете пройти по нашим стопам. Программное обеспечение написано на языке программирования Python. Вы можете увидеть все Исходный код
Веб-сервисы RESTful
книга от Леонард Ричардсон а также Сэм Руби Уведомление об устаревании: веб-службы RESTful были заменены новой книгой 2013 года RESTful веб-API , Вы
Как много вы знаете об этом стойком инструменте разработчика?