微软最近都在狂推广智能客户端,smart client 这个技术和概念。我觉得这个所谓得智能客户端从技术得角度讲有以下特性
1. 是一种 windows 客户端技术,所以可以充分利用本地资源,以及所谓得可以使用多种设备
2. 具有自动更新
3. 具有离线应用
4. .NET 是一种实现智能客户端非常好得平台
其实仔细分析一下,可以想一下这些技术和特性,可能是稍微大一点得应用都会具有以上特征。
大型得应用,一般都会有 Windows Client 和 Browser client ,尤其是一些关键得业务。比如订单track,客户应该可以通过多重设备,或者通过专门得windows client,或者 通过web site 去track。当然肯定会包含 windows 客户端。
自动更新就不用说了,一般频繁更新得项目都会提供自动更新功能,不过实现起来有很多问题要去考虑,对于.NET 某种意义上讲,自动更新显得更为容易实现。尤其对于只有客户端更新得情况下更容易,如果客户端更新不同步,服务端需要维护多个版本得话,就显得比较麻烦。比如维护不同得数据库版本
离线应用,这个我觉得倒是一般不会考虑这些特殊情况,对于critical 得业务,离线应用是必须去实现和考虑得。
.NET 本省得特征,是我们很容易去实现以上特征,这个我比较赞同。比如asp.net 得 shadow copy,程序集得在线更新,不存在 dll hell 等问题。
另外,我觉得微软推广智能客户端得同时,有几个是他得潜意识得市场行为
1.理想得应用,一般情况下希望使用 windows client,或者说 windows form,应为windows form 得特性跟 操作系统紧密耦合,这样用户才有必要不断得update 操作系统。试想,如果 大家都用b/s 结构得话,你还有必要装什么 windows 2k,xp ,2003,longhorn 吗? 可能你只需要一个 windows 95 或者 linux ,能够运行一个 浏览器 足以
2. .NET 的推广,这个是显而易见的。微软现在已经有很多产品都开始基于.NET, 包括下一代的 OS,WinFX
前天参加 BEA 大会的时候,有幸跟 Macromedia 的工程师了解到 Rich Internet Application,也就是所谓的富客户端。
自己比较惭愧的是,到前几天才知道 Flex 已经推出1年多了。
Macromedia Flex 是 macromedia 提出的新的一套用户展现层的解决方案,也可以是说是只用客户端,不过这种客户端目前是Browser 的客户端,也就是我们常说b/s 应用中的客户端。目前这个版本是 1.5,我下载了一个使用版。总体感觉有一下几个技术特征
1. 应用与典型的N层架构中,侧重与客户端展现。最后对于客户端的用户而言就是一个 Flash,这个Flash 类似我们常用的asp.net 请求相应的一个结果集一样,是动态生成的。
2. 相对于HTML + JavaScript ,他提出了自己的一套 MXML + ActionScript,这个MXML跟 Avalon 中的Axml 定位比较一直。
3. 客户端其实可以做很多的事情,比如调用 webservice,帮定数据集,甚至调用 remoting , java ejb,他还提出自己的一套二进制remoting 规范,amf,所以这个客户端就不想传统意义的flash了
4.对于客户端要求很低,只需要 Flash Player 7.0 就可以了,不需 java vm 和 CLR 环境
5. 未来的版本会提供客户端直接对 服务端 .NET 程序集,remoting 的调用。以及提供客户端缓冲,Caching 离线应用
体验下载发现,Flash 确实有自己独特的优势。比如 我们讲一个 datagrid, 用html 去展现的话,只能是一个flat 的模型,而 Flash 可以类似 360 都的一个展示,确实在客户端表现方面可以增强很多。
这个相对于 smart client,好像优点似乎更多,更有前途。而且本质上跟 Avalon 的AXML有点像,你写一个 基于browser 的应用可能跟 windows 应用是一样的写法,只是不同的解释而已
最后提供一个overview
http://www.macromedia.com/software/flex/productinfo/brz_overview/
浙公网安备 33010602011771号