过去,我总是主张尽可能使用jQuery而非Flash,主要是因为SEO(搜索引擎优化)方面的考虑。
据我所知,Silverlight没有与搜索引擎爬虫相同的问题。我越来越喜欢使用jQuery,但我很好奇其与Silverlight相比的优缺点。
对于可以使用jQuery或Silverlight的情况,是否有记录的原因支持或反对使用任何一种技术?
过去,我总是主张尽可能使用jQuery而非Flash,主要是因为SEO(搜索引擎优化)方面的考虑。
据我所知,Silverlight没有与搜索引擎爬虫相同的问题。我越来越喜欢使用jQuery,但我很好奇其与Silverlight相比的优缺点。
对于可以使用jQuery或Silverlight的情况,是否有记录的原因支持或反对使用任何一种技术?
需要记住的关键是,"jQuery"不是我们可以真正评估的独立技术。它只是一堆JavaScript函数。当然,它们是非常棒的JavaScript函数,使JavaScript变得非常容易编写,但对于浏览器(它不关心“易用性”),它们只是普通的、平凡的函数。
因此,你的问题实际上是:“在既可以使用JavaScript,也可以使用Silverlight的情况下,有没有文档记录了使用这两种技术的优缺点?”
这是一个更加直接的问题。今天使用的每个主流浏览器都支持JavaScript。当然,用户可以禁用它,但大多数人不会这样做,所有流行浏览器的默认设置都是保持启用状态。
相比之下,Silverlight在大多数平台上都没有预装,并且在某些平台上无法安装(例如iOS设备)。因此,即使用户愿意启用Silverlight,他们可能仍然需要下载和安装它——这比许多人仅仅为了查看你的网站而愿意承担的工作要多。
我们还不能说JavaScript是普遍的,但它是任何基于Web的客户端脚本语言中最接近普遍的。
底线:如果你可以使用HTML、CSS和JavaScript实现相同的目标,永远不要使用专门的技术(Flash、Silverlight、任何浏览器插件等)。这并不是说其他技术在Web上没有用武之地,但如果你仅仅使用它们来复制浏览器已经具有的功能,那么你就是在无缘无故地缩小了你的目标受众。
我在网络开发方面还比较新,但我的理解是Silverlight在几个平台上无法运行,例如iPhone或iPad。它是微软的一种东西,我不喜欢它需要下载的事实。jQuery更加通用,可以在所有浏览器上使用,而不需要安装。
确实有一些平台不支持Silverlight。因此,如果这对您的情况很重要,请不要使用Silverlight。
如果您正在开发一个公共网站,并且希望覆盖全球所有人,那么请不要使用Silverlight。这样做会限制您的覆盖范围。所有其他答案似乎都是基于这个前提,并在这个狭窄的范围内是正确的。
然而,当需要一个丰富的用户界面来支持应用程序时,HTML、CSS、JavaScript和jQuery等最低公共分母方法可能不是您最好的选择。
请记住,当iPhone首次推出时,苹果公司的说法是应用程序应该是基于浏览器的。听起来很棒。但现实是本地API提供了不可用的功能。因此,应用商店应运而生。
Silverlight也是如此。Silverlight中有一些在浏览器中不存在的功能。这些功能可能使您能够在应用程序中创建一种体验,而这种体验在HTML中无法匹配。Silverlight是一个非常好的、高效的开发环境,在许多情况下是正确的选择。
我最喜欢的例子是Facebook。几乎每个使用浏览器的人都曾经访问过Facebook网站。所有Facebook功能都可以在那里提供的HTML界面上使用。然而,几乎没有人在iPhone、iPad、Android、Windows Phone 7或其他任何平台上使用Facebook浏览器界面。只有在全尺寸PC(Mac、Windows或Linux)上才使用浏览器界面。即使在那里,一些本地UI应用程序可能会占主导地位,但我不确定这一点。它们肯定至少很受欢迎。原因很明显。这些非HTML应用程序的用户界面更好。
不要误解,jQuery很棒,通常是正确答案和好答案。甚至微软也放弃了自己的Ajax框架,跳上了jQuery的车,理由充分。它是一种好技术,通常被成功地使用。
但是,如果您使用HTML作为界面创建应用程序,您可能会被另一个解决相同问题但提供更丰富用户界面的应用程序碾压。即使其他人必须创建多个UI,他仍然可能成为赢家。