关于“HTML5 的未来 - HTML5 还能走多远”一文的一些看法
读了“HTML5 的未来 - HTML5 还能走多远”一文,觉得有些观点有失偏颇,可能会误导很多人,造成很多错误理解,必须纠正一些错误观点。 一、不能把HTML5与本地应用对立起来比较,应根据应用环境、目标决定: 1、HTML5是一个网络标准,在HTML4上进行了大量扩充,很多HTML4不能实现或实现起来很复杂的东西,HTML5能直接支持或实现起来很方便,如页面上的立体图形、园形按钮、统计图等,对于小游戏的开发、以WebApp为基础的企业应用,可以更好的支持; 2、本地App当然在本机上运行速度更快,对于直接访问本机的很多功能,必须采用这种应用或组件,这就跟PC机上的win32本机应用程序是一个道理,但也存在同样的缺点,就是不能跨平台,如IOS的程序,不能直接移到安卓上运行,必须进行修改后再编译打包,这对于没有技术力量的企业用户,增加了日后维护的难度。 二、关于HTML5将来,HTML5 还能走多远? 这更是作者对大家的误导,HTML5不是只用于手机,它是现在HTML4以后的一个升级版本,现在的PC平台浏览器都已经支持HTML5,将来凡是浏览器的应用都离不开HTML5,就象现在的HTML一样,没有HTML,你还能用浏览器上网吗?只能说HTML还有不足,还会出新标准,也许将来会出个HTML6呢,标准必须要升级修改,HTML5会走很远,因为没有它你不能上网。 很多手机本地应用,将来也会和当初的C/S程序一样,在HTML5支持环境成熟后,大批量的转向WebApp,因为多平台的开发太浪费程序员的时间。 三、历史的轮回 1、曾经的C/S、B/S之争:现在争论手机本机应用与WebApp应用,就像以前争论B/S、C/S应用一样,以现在支持手机本地应用优于HTML5的人的观点,回过头去看,不也就是说C/S优于B/S吗,其实它们各有优劣,传统的Win32应用程序,确实比浏览器程序运行速度快得多,我们现在的很多大型游戏,仍然用win32程序开发,很多关键应用,仍然是采用win32程序方式,但现在在普通应用上,B/S架构居多,真正的企业大型应用系统中,WebApp下又插入了很多ActiveX组件,ActiveX是什么,不就是基于win32的应用组件吗! 2、C/S、B/S的误导:其实,从当初的C/S、B/S之争开始,就是一种误导,不同的技术,有不同的应用场合,作工业实时控制、设备控制,win32程序是不可取代的,浏览器环境基于安全因素考虑,没有这种能力的,即使用了,也是采用了win32的组件,如现在的银行网上支付,U盾的验证就是一个例子。Web应用的优势在于信息传播,用于信息查询、电子商务、网上远程办公有优势,可以跨平台,只需浏览器即可,不像C/S程序需要下载到本机,可能还需要安装,使用起来方便。但复杂的大型应用,浏览器本身功能还有待提高,如图形能力、企业应用支持能力、标准外设支持能力等,也正是目前的浏览器有缺陷,才激发人们从不同角度去改造它,微软的ActiveX技术,解决了浏览器不能访问本机设备的问题,从语言标准看,HTML5也正是顺应了这种要求,如今这种误导又出现在了移动平台上。 四、开发人员的梦想 1、技术融合:不论是C/S、B/S、手机本地应用、WebApp,能融合为一体,一次开发,多设备支持,如现在的服务端WebAPI/OData技术,可实现数据服务、业务规则的封装和统一,前台以HTML5/Javascript为基础的各种应用框架,如Extjs,KendoUI、Wijmo等JQuery框架,实现了浏览器的统一支持,高级语言中,C#方面有公司推出了Ext.NET,能用C#实现ExtJs编程、简化了应用开发,Pascal(Delphi)方面有一个 ExtPascal,可以用把传统的Win32界面程序,编译后成为ExtJs网页程序,这是一种好的思路,希望将来我们可以只开发一次,各种平台都能运行。 2、优势互补: (1) win32程序:中可以嵌入并访问浏览器,如现在的很多股票软件,正是采用了这种方式,真正炒股的人,几个是用浏览器的! (2) 浏览器:在安全机制控制下,增加一些访问硬件的底层功能或固有插件,能方便的控制各种外设,如打印机、二维码、RFID扫描等,或实现浏览器定制化; (3)语言方面:在HTML、Javascript语言中增加对本地设备控制的子集,采用类似ActiveX的版本管理方式,版本有变化才下载,否则网页程序永远无法解决每次都要下载再执行的问题,也才引出瘦客户端、胖客户端,网页程序不能作得太大,效率不高等问题。
以上本人拙见,望诸位斧正!