Карты Bing — Javascript против Silverlight

В настоящее время я оцениваю создание картографической системы для построения данных. Эти данные будут состоять из слоев формы (сетка — хранится в столбце географии SQL 2008) и нескольких точек (первоначально ~ 5500 — точки широты и долготы в той же базе данных), которые будут отображать расположение элементов в сетке. Итак, мой вопрос: есть ли большая разница между реализацией SilverLight Bing Map и реализацией на основе JavaScript. Вот что я могу почерпнуть из своего исследования:

Профи SilverLight

  • Может быстрее обрабатывать большие объемы данных
  • API/SDK для прямой привязки к коду приложения .NET

Профи JavaScript

  • Не нужно загружать/устанавливать Silverlight на стороне клиента
  • Может использовать JQuery или другие фреймворки для извлечения данных из веб-сервиса (я знаю, что SL может сделать это с использованием WCF, но я довольно хорошо знаю JQuery)

Из этого списка я знаю, что, похоже, мне следует использовать Silverlight, однако я также «НИКОГДА» не занимался кодированием с использованием материала XAML. Большая часть моего опыта в последнее время связана с .NET MVC, и я не могу не принять это во внимание. Кто-нибудь знает «соотношение» производительности между SilverLight и Javascript или в какой момент реализация JavaScript задохнется? Еще одна вещь: я просмотрел проект DataConnect на codeplex, но он, похоже, не работает - я не могу заставить функции WKT или XAML работать ни на их живом сайте, ни в загруженном проекте.

Если кто-то из присутствующих провел сравнение/имеет мудрые слова для руководства/может добавить в мой список какой-либо из двух вариантов, я внимательно слушаю.

ИЗМЕНИТЬ

Я нашел отличный пример приложения Javascript/.NET MVC с использованием SQL 2008 в CodePlex — Ajax Map Data Connector. В нем приведены примеры извлечения полигонов, линий и точек интереса из базы данных, размещения их на карте с использованием фрагментов изображений или MS API, а также использования пересечения для определения элементов вокруг точки или в пределах ограниченного прямоугольника.


person Tommy    schedule 11.02.2011    source источник
comment
Не так давно Microsoft заявила, что они также удаляют Silverlight с настольных компьютеров, или, по крайней мере, это подразумевалось.   -  person Rob    schedule 12.02.2011
comment
Спасибо, Роб, мне в любом случае было некомфортно с Silverlight, но если это будет следующая большая вещь - я подумал, что это будет не менее хорошим началом, чем любое другое.   -  person Tommy    schedule 23.02.2011


Ответы (2)


Лично я предпочитаю версию Javascript, потому что она более мультиплатформенная (например, мобильные) и легко интегрируется в веб-приложение (плюс я также люблю jQuery), но я думаю, что решающим фактором, вероятно, является что вы делаете? хотите использовать приложение для ?


Однако для Javascript, даже если мне нравится версия 7, вы можете пока придерживаться версии 6.3, потому что слишком много основных компонентов было удалено (но планируется повторно добавить в будущем), например. инфобоксы и кластеризация на стороне клиента (конечно, вы можете делать свои реализации, что я и сделал лично, но я бы посоветовал пока использовать 6.3).

person wildpeaks    schedule 11.02.2011
comment
Спасибо за ваши мысли. Да, я думаю, что пока буду придерживаться элемента управления JavaScript. Меня беспокоит то, что данные формы/точки будут подавлять клиента в будущем. Но до этого времени (которого может никогда не случиться) я хочу хотя бы сделать прототип. Мы всегда можем провести рефакторинг позже! - person Tommy; 11.02.2011

Я бы выбрал элемент управления javascript (лучшая поддержка нескольких устройств, в настоящее время он более активно развивается, чем элемент управления Silverlight, звучит лучше для вашего набора навыков). Однако не пытайтесь нанести на него 5500 точек. Он умрет.

Более того, если вы думаете о построении 5500 точек, то в любом случае что-то не так с дизайном вашего приложения — конечный пользователь не сможет различить такое количество разных точек на карте. Позвольте им фильтровать определенные типы точек или извлекать только те, которые видны в текущем представлении карты, или использовать кластеризацию для группировки точек при более высоких уровнях масштабирования — вам следует искать не более 100–200 видимых точек данных. на карте в любой момент. Если вам действительно необходимо нанести на карту такое количество точек, предварительно визуализируйте их как мозаичный слой и кэшируйте его, а не пытайтесь нанести динамические векторные данные на карту.

И я не согласен с wildpeaks — v 7.0 — это последняя стабильная версия платформы Bing Maps AJAX, которая представляет собой серьезное изменение по сравнению с v6.3. Если вы начнете программировать с версии 6.3 сейчас, вам придется пройти через потрясения позже, когда вам придется перейти на версию 7.0. Лучше начать с версии 7.0, чем изучать устаревший API.

person Alastair Aitchison    schedule 11.02.2011
comment
Спасибо за советы! Я собирался/собираюсь использовать тайлинг для более низких уровней масштабирования и векторный рендеринг для более высоких, а также кластеризацию. Я также думаю, что для слоя формы типы данных геометрии/географии SQL2008 помогают с пересечениями точек и делают формы менее «четкими» при более низких уровнях масштабирования. Просто кажется, что MS в последнее время действительно продвигает эту версию Silverlight ...! - person Tommy; 12.02.2011