bs与cs未来发展的趋势
文章出处:http://www.nexussmartsolutions.com 作者:兴邦开发部 人气: 发表时间:2016年04月05日
从C/S到B/S,软件开发模式的变迁 上个世纪后期,C/S结构是最为流行的软件系统体系结构。但是,自从Internet诞生之后,更多的软件应用系统体系结构开始向B/S结构转变。 在C/S结构下,大多数的企业管理软件,采用的均是传统开发工具Visual Basic(VB)和Delphi代码,或者是Power Builder(PB)代码,即第四代语言代码。 随着Internet时代的到来,大多数的管理软件开始转向B/S结构。如何从C/S平稳过渡到B/S,之前并没有更好的解决方案,大多数的企业开始彻底放弃VB、PB开发的代码,转而采用C/S结构下的Java语言重新来写。虽然不会出现问题,但是需要重新投入资本、人力,甚至需要增加更多的培训机会。
代码移植的演变
在20世纪70和80年代,代码移植最主要的目的是将程序移植到不同的系统环境下运行?D主要是处理器和操作系统。由于市场上的硬件和操作系统呈现多样化和均衡化的状态,因此,一个重要的程序往往需要考虑两个甚至更多的系统环境。 1990年,Windows 3.0发布。基于窗口、按钮、图标和鼠标的图形界面(GUI),迅速征服了全世界个人计算机用户。将原有DOS字符模式下的应用程序移植到GUI环境,成为众多用户和软件开发商的迫切需求。可视化编程逐渐成为GUI下,软件开发的主流。 在4GL(第四代语言)开始大行其道之后,新一轮代码移植的潮流再度兴起。此时的重点是将结构化逻辑在GUI下实现,把过去结构化代码中的制作界面部分剥离,并把逻辑部分附着在各个对象事件之中,通过操纵对象行为,完成整个应用的代码移植。
可视化编程在Web时代的瓶颈
Internet的飞速发展给4GL编写的GUI程序提出了新的挑战。这些程序大都基于C/S结构下,这种模式在局域网里将应用一分为二,服务器负责数据管理,客户机完成与用户的交互任务。C/S结构下软件具有强壮的数据操纵和事务处理能力,以及数据的安全性和完整性约束。但随着企业规模的日益扩大,应用程序的复杂程度不断提高,C/S结构逐渐暴露出了缺点。比如开发成本较高,用户界面风格不一、使用繁杂、不利于推广使用,维护复杂、升级麻烦等。 为了解决C/S结构的不足,基于Internet的B/S技术应运而生,它是有计算技术以来最稳定的技术平台。本质上B/S也是一种客户机技术,用户只需通过浏览器这个统一界面,就可享受到无限丰富的、永远在不断变化和发展着的信息服务。而通过这种结构,原则上取消了管理员所有在客户机端的维护工作。 在C/S向B/S转移的过程中,开发者遇到了极大的困难。因为代码的移植已经不再是过去的简单语法转换,而牵涉到各种对象的映射。
在结构化编码时代里,无论是对一种语言不同方言之间的移植,如从Turbo C到GNU C,还是对不同的高级语言之间的移植,如Turbo Pascal到Turbo C,源语言和目标语言均遵循着相同的结构。源代码的转换,更多的是基于一个标识符对照表来完成。 使用4GL开发的C/S程序是对象的集合,代码从属于对象。在相同或者类似的界面下,不同开发工具使用的对象,提供给开发者的接口可能完全不同。如果使用Java或者.NET重写原有C/S程序,意味着开发者必须将界面上所有元素逐个将其属性、参数表、事件用新的开发工具重新编写。 难越的自动化迁移之路 不管网络泡沫如何演变,Internet始终是难掩的潮流。在国外软件市场,大多数大型企业管理软件已经是B/S结构,或者正处于C/S结构向B/S结构的过渡时期。国内的大多数软件企业也已经开始向B/S结构转变。B/S结构下的大型管理软件,势必是未来几年内,管理软件市场的主流软件。 要解决现有C/S应用低成本、快速移植到B/S结构下的应用的困境,则必须要解决自动且精确的GUI移植、自动的语法逻辑移植、方便的服务器端调试和发布。
C/S和B/S各有优势,C/S在图形的表现能力上以及运行的速度上肯定是强于B/S模式的,不过缺点就是他需要运行专门的客户端,而且更重要的是它不能跨平台,用c++在windows下写的程序肯定是不能在linux下跑的。而B/S模式就不同了,它不需要专门的客户端,只要浏览器,而浏览器是随操作系统就有的,方便就是他的优势了。而且,B/S是基于网页语言的、与操作系统无关,所以跨平台也是它的优势,而且以后随着网页语言以及浏览器的进步,B/S在表现能力上的处理以及运行的速度上会越来越快,它的缺点将会越来越少。比如,未来的HTML5,在图形的渲染方面以及音频、文件的处理上已经非常强大了。