最近听闻,老友与客户间的争论CS系统能否完全BS化,
表面上看,浏览器技术日新月异,版本号飙得飞快,
JS类库种类繁多,新功能此起彼伏的局面下,
保持客户端这种古老的系统应用方式倒真是不合时宜,
但是,RIA编程多年,反而更加青睐Flex这类CS技术,为何?
因为系统安全性!
难道HTML+JS就不安全吗?
还真不能这么武断的下结论,分析着看,
从技术上看,Web中Ajax的大量使用,
既优化了使用体验,也彻底打破了UI数据载入的事务性,
也就是说,网页中被操作和显示的元素的载入顺序,
并不是完全可控的,品类繁多的浏览器中,
恐怕没有人能说清楚,自己的程序的每个原子计算,
是不是都是按照设计中既定的顺序运行,
而且,浏览器调试的便捷,也让人为干扰变得容易。
相比之下,商用VM的UI载入,即使不是一次性完成,
其过程被干扰和中断的难度也比较大。
另一方面,如果程序实现过程中,
过多的考虑程序载入情况与安全性的关系,
所增加的成本也是非常可观的,
恐怕对实现方案的选择,也不会那么自由。
在WebUI天生安全性较弱的前提下,
在同样的精力投入的情况下,一定是优先保证功能实现的,
接着,在不断的迭代优化下,进行系统的安全性强化,
这种情况下,非功能性资源投入将作为非营利成本体现,
此时,运行环境的安全性往往决定着系统的安全短板。
也就是说,极致安全的Web技术,是可以实现的,
但是,成本受限情况下,Web的安全性往往被忽略,
相比之下,商业化支持的各种VM的安全性要好得多。
当前技术环境下,CS结构的信息系统,
仍然是低成本高收益,稳定安全的技术方案。