web软件开发难在哪里(相比桌面软件)
2021-06-07 01:01
标签:phi server swt 技术 组件 text asc 表现力 软件 首先,我认为WEB软件的开发是比桌面软件更为复杂的. 起码,开发方式远远不理想. 桌面软件的模块化, 组件化已经相当成熟,比如当年的VB delphi 后来的visual c# ,java+ swt ,c++ QT. 而WEB开发,到目前为止都没有特别理想的组件化开发机制. 为了实现改善WEB软件开发,业界做了许多尝试. 2002年1月16日asp.net 1.0发布, 当时真是让人耳目一新, aspx简直就是用VB的方式来开发web 啊! Java后来也跟进,推出了JFaces方案, 与aspx相类似 . 2006.05.16 ,google gwt 首次发布! 与aspx不同, gwt的思路是像桌面软件一样的方式来开发,完成之后,通过将java代码编译成javascript来实现在浏览器中运行. 类似的方案还有pyjamas (现在的pyjs) 同一年里, January 2006, jquery首次发布! 现在回过头来年这个事情, 可以认为是业界逐渐发现问题在于javascript ! javascript 的低能, 束缚了人们的手脚 . The first version of the V8 engine was released at the same time as the first version of Chrome: September 2, 2008. 2008年9月2号, 随着google chrome浏览器的发布, 新的javascript引擎v8 面世. v8的面世让javascript的运行速度大幅提升, 为后来的前端技术革新创造了条件. 顺带说一下, google dart lang , First appeared: October 10, 2011 . 2011年双十节google推出了dart 语言,当时的想法是使用来替换javascript . Facebook reactJS Initial release: March 2013 . (2013年3月,Facebook reactJS 首次发布) reactJS 可以认为是组件化开发的一次重要尝试. 然而,时至今日, 我认为还不存在一种开发机制,可以达到delphi之于桌面软件开发的那种理想程度. 根据本人多年开发web后台系统的经验,我感觉web比较比较困难的根本原因在于几点: 1.B/S软件是一种使用分布式软件,即软件的界面 代码 数据不在同一计算机;B/S软件基于HTTP协议,而HTTP协议有一个重大特点是 不保持连接 且无状态. 2.javascript语言的特点以及运行速度,难以支持复杂的软件开发, 并且别无它选,只能使用javascript . 虽然因为v8引擎,有了大幅改进. 3.html语言本身表现力不路,且不支持扩展. 比如我需要一个datagrid功能,但是并没有一种直接的方式可以定义一个新的标签 重点说一说第一点. 当一个用户使用浏览器打开一个网页时,发生了什么? 简单地讲是这样的: 用户计算机的浏览器程序, 通过http协议将html描述的界面从远程服务器传输到本地, 浏览器将其渲染成图形界面展示给用户并提供交互功能., 一旦用户在网页做了一些操作,则必然有一些数据需要传输回服务器保存(不然,服务器端是无法感知到用户的操作, 交互就没有完成) 网页上的交互就是这样一个个"来回" 进行的. 我经常会想,如果使用远程桌面的方式来开发一个系统, 每个用户在远程桌面里打开一个软件窗口,那么软件开发起来会容易很多! 为什么? 因为可以不受html语言束缚,各种桌面窗口组件直接使用. 因为远程桌面的RDP协议是操持连接因而是有状态的,如果网速度足够快,则用户在远程与在本地没有明显区别. 既然远程桌面这种方式并没有成为软件交互的主流? 原因不难理解: 1网速不允许;2服务端资源无法支撑这种开销;3.安装麻烦,远不如浏览器直接打开方便. 除了这几个主要原因,4安全性可能也有一些问题. 那么,出路在哪里呢? 或者说,未来将往什么方向发展? 这个嘛 ,我不是大师,我不知道. 我想,肯定是现在有的技术比如asp.net jfaces gwt 继续发展, 各种前端框架层出不穷, 前端与后端一体化框架会出现(server side:nodejs ), 还得重点关注ES6等javascipt的发展. 未完... web软件开发难在哪里(相比桌面软件) 标签:phi server swt 技术 组件 text asc 表现力 软件 原文地址:http://www.cnblogs.com/nica/p/7336916.html
文章标题:web软件开发难在哪里(相比桌面软件)
文章链接:http://soscw.com/index.php/essay/91510.html