.net xaml是什么 - Silverlight vs Flex




11 Answers

我认为你应该将Silverlight视为一种长期的游戏,就像微软似乎正在做的那样。 当你关心覆盖范围和安装基础时,关于什么时候使用Silverlight和Flash有明显的平衡,但是Silverlight是一个很好的方向:

  1. 次要优势 - 正如微软用.NET构建“更好的Java”一样,他们能够看到如何从头开始设计RIA插件。 他们的优势在于知道人们今天如何使用网络,而Flash的发明者却无法准确猜测。 Flash可以添加功能,但他们无法真实地查看平台并重新开始。

  2. 开发人员的熟悉程度 - 尽管Silverlight是一种新模式,但开发人员并不完全陌生。 他们将会“得到”Silverlight的工作方式,这比他们理解用新的脚本语言和新的事件范例创建新的开发环境要快得多。

  3. 摆脱Flash中的时间线模型 - Flash最初是为基于关键帧的动画制作的,虽然有多种方法可以将其抽象化,但它是Flash工作原理的核心。 Silverlight抛弃了以应用程序为中心的模型。

  4. ScottGu - ScottGu开始关注Silverlight。 Nuff说。

  5. 酷炫的新功能 - 尽管Silverlight在一些显而易见的功能(如网络摄像头/麦克风集成,或3D /图形加速)方面仍有一些追赶Flash的功能,但Silverlight中内置了一些流畅的新技术 - Deep Zoom就是一个例子。 我在Silverlight方面看到了更多的“革命性”技术,而Flash现在似乎处于维护模式。

silverlight是什麼 microsoft

我公司开发了几种类型的应用程序。 我们的许多业务来自多媒体类型的应用程序,通常在Flash中完成。 然而,现在房子的这一侧正在开始向Flex开发迁移。

我们大部分的其他开发都是使用.NET完成的。 我试图推动Silverlight开发,因为它会更好地利用.NET开发人员。 我更喜欢Flex平台上的Silverlight平台,因为Silverlight都是.NET代码。 我们有更多的.NET开发人员,而不是Flash / Flex开发人员,我们大多数的Flash / Flex开发人员都是图形艺术家(不是真正的程序员)。 他们现在推向Flex的唯一原因是它看起来像是从Flash开始的逻辑步骤。

我已经使用两者进行了开发,并且我确实相信Silverlight更易于使用。 但我试图说服那些只有Flash开发人员的人。

所以这里是我的问题:如果我要参加一个会议来赞扬Silverlight,那么为什么一个公司想用Silverlight代替Flex呢? 除了显而易见的“并非每个人都拥有Silverlight”之外,每个人有什么优点和缺点?




我认为Silverlight对于拥有.NET开发人员但没有设计师经验的公司来说是最有利的。

就搜索C#或VB开发人员与查找ActionScript专家而言,技能集会更容易找到。 但是有一个折衷:

设计经验不仅是对具有艺术技能的设计师的投资,也是对Adobe提供的知识和工具的投资。 您几乎可以保证专业设计师使用Mac并具有Adobe工具的使用经验。

现在,Silverlight设计工具已经出炉了,可能会让人头疼。 例如,在尝试渲染包含IValueConverter的任何xaml时混合错误,这是有问题的。 我不知道Adobe开发人员的经历是什么,我确定它很有毛病。

所以在游戏的这个阶段,它归结为人力资源:

如果你有.NET经验,并且很少投资于设计技能,请去Silverlight。 编程技巧/工具将可以转让。 如果您拥有Flex的设计经验和技能。 设计师技能/工具将可以转让。

无论哪种方式,客户端平台都需要与服务进行通信以获取数据,因此您将始终利用您在后端的现有编程专业知识。

从另一个角度解释了观点:

我认为您应该将Flex视为一种长期的游戏,就像Adobe似乎正在做的一样。 当你关心覆盖范围和安装基础时,关于何时使用Silverlight和Flex有一个明显的平衡点,但这里有更多的原因,Flex是一个很好的方向:

  1. 次要优势 - 就像Adobe用Flash构建“更好的Java Applet”一样,他们能够看到如何从头开始设计运行时。 他们的优势在于知道人们今天如何使用网络,现有客户平台的发明人可能永远无法准确猜到。 .NET可以添加功能,但他们不能实际地查找平台并重新开始。

  2. 设计师熟悉 - 尽管Flex / AIR是一种新的编程模型,但对设计人员来说并不完全陌生。 他们将“得到”Flex的工作方式比他们理解的新特性差的工具和新的动画范例引发新的设计环境快得多。

  3. 在Silverlight-.NET中摆脱RGB颜色模型最初是为Windows构建的,它是它的工作原理的核心。 很久以前,Flex为以设计为中心的模型而抛弃。

  4. 你所有的工具都在你的Mac上运行。 Nuff说。

  5. 很酷的功能 - Silverlight在一些明显的功能(如网络摄像头/麦克风集成,或3D /图形加速)方面仍有一些追赶Flash的功能。




Silverlight的问题在于,仍然有很多人没有安装它。 另外,我不确定现有的.Net开发人员如果只熟悉更传统的服务器端.Net编码,他们将能够利用其现有技能。

将Silverlight推向Flex的理由是什么? 如果你不得不向SOFlow社区询问原因​​,那么你会很乐意推动它,这似乎很奇怪。




不要忘记:

Flex是非常跨平台的,因为它使用Java编译进行编译,这意味着在开发Flex应用程序时可以轻松使用Mac或Linux。 我有我目前的巡航控制设置(使用Linux)我构建构建Flex应用程序,但开发人员同时使用Mac,Linux和Windows。

根据我的经验,java开发人员在Flex Builder中感觉相当不错,因为它基于Eclipse。




谈到Flex时,Silverlight程序员不知道他们错过了什么。 Silverlight缺乏Flex所具有的组件模型和事件触发功能。 使用XNA和C#,我的一个朋友必须通过各种各样的箍来让他的Silverlight应用程序正常工作。 然后,它必须交给设计师,让它看起来好一点。

收听Silverlight上的deepfriedbytes.com播客,您会听到即使是一些真正推动Silverlight的人,也承认这些问题中的一些。 (我 ,如果我没有记错的话,其中一个人为微软工作,但我可能是错的 - 我上周听了)。 他们同意Silverlight目前还没有为任何庞大的应用做好准备。

我会和Flex一起去寻找一个简洁明了的方法 - 尤其是如果你已经熟悉Flash和ActionScript 3.0的话。 在我看来,Flex使得更有意义 - Silverlight仍然需要成熟。




作为一名图形设计师,过去几年我一直使用Flash(开启和关闭),在过去的1.5年中,我使用Silverlight(及其大哥哥WPF)。 基于我从我的团队(所有人都是开发人员或以前的开发人员)那里听到的,如果您的.Net开发人员将执行所有编程,请使用Silverlight。我喜欢Flash,但即使面向ActionScript 3的OOP检修Flash 9以上,它仍然是一种有点古怪的语言,并且在AS3和C#之间来回切换可能会驱动你的开发者的坚果:-)。

对于您的设计师,请执行以下操作:

  • 让他们获得Expression Blend的副本,这是Silverlight / WPF的GUI开发工具。

  • Blend的初始学习曲线有点陡峭,界面会为您带来大量变量/选项,因此您可以投入一些培训,并让您的设计师有时间熟悉界面。

  • 说到培训,请订阅Lynda.com视频库,尤其是 Lee Brimelow Expression Blend培训课程。

  • 警告:混合和WPF变化很快,所以有时候你会遇到Blend中的错误,这些错误在Blend的下一个beta / CTP中得到了修复。 例如Blend 2中存在一个错误,它会阻止我的故事板(动画)在最近的项目中运行。 我升级到混合2.5CTP,它的工作。

  • Silverlight内容似乎并不总是与Silverlight插件的最新Beta版一起使用,只是要记住,如果您正在测试仅在最新Silverlight插件中提供的一些新功能。

  • 投资一个强大的系统(四核,4G的RAM等)。混合消耗大量的资源,尤其是。 当你有很多层。 例如,我正在基础应用程序中使用超过100层(!)的应用程序(另有100多个用户控件)以及大约40-50个故事板。 每隔几分钟,我必须重新启动Blend,因为UI会停止响应(但不会冻结)。 要么是这样,要么将所有可以进入用户控件的东西移动。




正如Kibbee在上面暗示的那样,利用现有的.Net开发人员的观点并没有太多的用水。 在.Net开发的各个方面都不可能成为专家。 该平台太大了。 Java也是如此。 Silverlight从技术角度来看唯一的事情就是你可以使用你最喜欢的.Net语言进行编码。 如果您已经在使用JavaScript进行任何重要的Web开发,那么该优势相当小,因为Action脚本是一种变体。 所以真正将程序员转换为Flex或Silverlight就是学习平台的API。




我认为Silverlight和XAML比ActionScript更好,尽管我对ActionScript IDE不熟悉,但我熟悉VS2008和Expression Web / Blend,它们是非常好的开发环境,并且一直在变得更好。 我会选择使用Silverlight,我认为让用户安装插件的关键是要有一个很好的插件检测页面来解释SL是什么以及他们为什么需要它。 有关这方面的一个示例,请访问http://memorabilia.hardrock.com/并在禁用SL插件的情况下尝试使用它。




我使用这个经验法则:如果您的公司正在开发基于互联网的多媒体软件,并且拥有各种平台的客户,并且您没有开发数据库密集型应用程序,那么Flex如果开发基于互联网和DVD的产品,交互性较差但密集程度较高(CPU,内存),并使用荒谬的数据库事务量Silverlight更有意义




如果你了解.NET,Silverlight 3.0是最好的选择。 我正在使用它,我喜欢它。 我不必惹AJAX或JS BTW(我不知道那个人是指什么,也许SL 1.0)对于数据来说,它大多是异步WCF调用(WCF后面的LINQ to SQL)或XML文件或RIA服务。 它让你使用大多数着色器FX,它具有样式,控件模板和本地访问窗口/ mac剪贴板。 我可以运行高清视频,大多数进程运行得非常好,即使在慢速CPU下也是如此。 我也喜欢数据绑定,控件绑定和可观察集合,这为我节省了很多时间。 PLUS我可以使用LINQ,主要节省时间,更不用说使用Visual Studio进行调试了。

我正在开发企业.NET应用程序,所以我知道我的安装基础,他们将安装加载项(通常为30秒)。 对于前端网站,您可能会失去一些不想安装Silverlight或不运行Mac或Windows的用户。 使用3.0以外,您可以在浏览器之外使用SL。

我可能是一个有偏见的.NET人,但我一直在开发这么快,我不得不推荐它。




这是一个古老的问题, 历史现在已经说过了!

Silverlight一直如微软所抛弃的那样好,它从来没有得到有用的安装基础。 由于微软不对其承诺100%的责任。

Flash(因此Flex)仍在继续。 然而越来越多的浏览器不支持任何插件, 所以在flush到Silverlight之前这只是时间问题(几年)

也许有一天Flex会被重新定位到HTML5而没有插件......。

iPhone被说出来了,它说唯一的选择是苹果之路或HTML5。




Related