Esri当前提供3种不同的Web API,可以免费下载。

它们是否相等?

如果不是,那么每个API的相对优势/劣势是什么?

评论

如果我们有3个答案并随着时间的流逝添加或扩展每个内容的“许可”编辑,那就太好了。是否违反GSE政策?

@Brad,因为这是社区Wiki,所以拥有至少100名代表的任何人都可以编辑任何帖子。我不知道只允许“允许”编辑3个帖子的方法。 OTOH,也许具有更细粒度的响应,将允许用户对每个优点或缺点的相关性进行投票。所以也许我应该将我的答案分为5个答案?

我认为他们是平等的。也许更好的回答方法是描述它们之间的不同?

@mwalker同意,标题已更改。

2011年Esri用户大会问答中的精彩摘要:events.esri.com/uc/QandA / ...

#1 楼

从完全抽象的管理角度来看,这三个API是相同的。它们表示在Web浏览器中运行的代码,其目的是通过Internet向用户显示地图数据。您可以使用任何API创建成功,有意义的映射应用程序。

此外,每个API中每种优势/劣势(差异)的影响会因受众而异。程序员将对语言功能或缺点非常感兴趣,您的网络人员将希望了解带宽要求和服务器先决条件,GIS人员将深切关注显示的地图是否真实呈现,并且最终用户可能不太关心所有这些只是想做他们开始做的事。

因此,这是有关这三个API的一些关键事项:


跨域资源处理:Silverlight和Flex可以使用“跨域策略”文件在TARGET服务器上。因此,第三方地图发布者可能会授予您访问权限。使用Javascript API,通常通过使用您选择的服务器端语言(PHP,JSP,ASP等)实现“代理页面”来处理跨域请求。对于大多数服务器来说,这种“软需求”并不是一个大问题,但确实增加了另一层复杂性。请注意,如果您所需的资源没有暴露必要的跨域文件,则没有什么可以阻止您使用与插件API相同的代理页面。
图形:Silverlight和Flex都允许您轻松地在用户上绘制任意像素接口。 Javascript也允许这样做,但是您可以快速地使浏览器的能力超载,而无需进行仔细的代码和准备。同样,只能使用Java脚本通过Web服务直接以二进制格式或网络流量进行操作。
开发人员环境:我对此有偏见。 Silverlight是我开发的最爱。 Visual Studio环境成熟,快速,并且具有一流的调试器。 Java语言排在第二位。现在可用的工具比以往任何时候都更好,并且总是在不断改进,但是我们似乎永远无法逃避“您必须在所有受支持的浏览器上进行测试,然后修复那些奇怪的事情”的诅咒。 Flex环境似乎过时且过时,并且基本上阻碍了开发。


评论


调试JavaScript是一场噩梦!至少对于我来说。

–乔治·席尔瓦(George Silva)
2011-3-7 13:02

@George在Chrome的内置调试器,Firebug和IE Developer Toolbar之间,它现在已经不像以前那样糟糕了。

–mwalker
2011-3-7在17:18

#2 楼

Silverlight / WPF缺点


需要插件
与javascript(HTML5)相比,未来的不确定性

Silverlight / WPF优点


得到Visual Studio的完全支持
具有更好的多线程支持(至少与flex相比)。
更好的SOAP支持(Esri的SOAP比REST更完整)。


评论


Silverlight似乎对开发人员具有很多优势,而对广大用户而言却没有那么多...

– DavidF
2011年3月3日在18:37

@DavidF-我要说的是,它是为已经拥有共享点,.net以及每台计算机已经安装和使用的此类应用程序的企业用户设计的。因此,部署20,000台计算机相对容易

– dassouki
2011年3月3日在18:56

@dassouki-好的一点,在那些可信任的情况下,WPF XBAP是有意义的。我将更新Silverlight以包括WPF。

– Kirk Kuykendall
2011年3月3日19:16



#3 楼

我想所有这些答案都不错,但有些过时了。与Javascript相比,Flex和Silverlight肯定很受欢迎,有些人可能认为使用这些API构建应用程序确实很容易,但是Flex和Silverlight的最大缺点是它们是插件。

HTML5的出现和Javascript是Web App开发的组成部分,因此,未来就是Javascript API。随着Adobe放弃Flash和Silverlight 5是Microsoft的最后更新,Flex和Silverlight现在是冗余技术。

因此,如果您要使用ESRI API开始Web GIS应用程序开发,请像这样开始学习Javascript API。是不久的将来唯一的未来。

#4 楼

Silverlight和Flex API是迄今为止最受欢迎的ArcGIS API,并且具有作为浏览器插件的优势,该插件提供了更加丰富和一致的用户体验,这对于GIS Web应用程序通常非常重要。如果您喜欢.NET开发,Silverlight可能是最佳选择,而Flex更适合喜欢Adobe环境的开发人员。与Silverlight相比,Flex还具有被广泛用作浏览器插件的优势。

由于不需要浏览器插件,因此Javascript API具有跨平台扩展的优势,因此可以在iPhone和iPad等iOS设备中使用。缺点是您经常会看到应用程序在各种浏览器(例如IE,Chrome,Firebox,Safari等)中的行为差异。

就功能而言,它们确实非常相似,这就是esri一直试图解决这些问题,并且似乎致力于继续保持它们之间强大的功能均等性。因此,随着富客户端和Javascript跨平台的普及,我认为这实际上取决于Flex和Silverlight的优势。

#5 楼

有一个用于Flex的ArcGIS Viewer。

有一个用于Silverlight的ArcGIS Viewer。

,但是目前没有Esri支持的ArcGIS Viewer for Javascript,也没有计划的

请参阅相关问题。

“查看器”是Esri用于Web应用程序的术语,它使用户无需编写任何代码即可创建映射Web应用程序。通常,这些创建的Web地图应用程序将是查看器,但是使用适当的加载项(或小部件),可以创建具有编辑功能的查看器。

评论


可以说,将ArcGIS Online与模板一起使用...在某种意义上是JavaScript的查看器-无需编码,即可为您提供基本的地图功能。

–awesomo
13年1月21日在19:15

#6 楼

它们都不支持开放标准,因此如果ESRI决定3比1或2太多,您将遭受供应商锁定和投资损失的风险。

评论


如果Esri更改它,我会认为版本号会增加(当前为1.0)。如果您构建了一个实现该工具的工具,那为什么不能继续使用该工具呢?

–德里克·斯温利(Derek Swingley)
2011年3月3日19:32

如果[x]标准更改怎么办?没有人会百分百地确定一切都会永远相同。

–乔治·席尔瓦(George Silva)
2011-3-3在19:36

@Swingley在ArcServer11推出后仅支持Rest2.0时,您的所有工作都搞砸了(我记得Avenue和AML)。

–伊恩·特顿♦
2011年3月3日在20:34

仍在使用Avenue和AMLS ...

– Mapperz♦
2011年3月3日在21:48

ArcGIS 10(工作站)中的@iant AML工具help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//…

– Mapperz♦
2011年3月4日在4:05