当前的软件技术路线

发布时间:2020-08-18 09:48:01

1.软件开发技术

1)服务器端

在过去的5年中,Java仍然是主流,不仅因为当前的流行和遗留系统问题,而且几乎所有原因 除了Microsoft以外的主要公司投资Java的原因是开源也是不容忽视的力量:除了促进Java的Java开源框架之外,Linux还在推动Java企业应用程序的普及(请记住,  dotnet只能在 Windows Server上运行)。

dotnet有其自身的优势,但它不能在五年内与Java取得力量平衡,这不仅是因为Java的普及带来的优势, 不仅是因为开源社区对Java的促进,也不仅是因为其他大公司对Java的投资,而且许多公司行业的性质决定了dotnet的退出,例如电信行业,金融行业, 政府我 行业等,无法采用 dotnet。  

Python和Ruby并不是新手,但是它们的竞争非常激烈,但是基于上述原因,它们仍然无法成为主流。  

在Java服务器端技术中,显然有两条路线:高端商业路线,该路线是EJB3,J2EE5.0;第二条路线是EJB3。 低端开源路由,此路由是Hibernate, Spring。 这两条路线也重叠。 例如,开源的Struts几乎已成为J2EE Web层的标准,而开源的Hibernate为EJB3奠定了基础。 但是,路线划分不是基于技术差异,而是基于业务运营差异。 专注于技术支持和业务服务的公司将选择前者,而专注于成本控制和选择自由的公司将选择后者。  

商业路线的技术解决方案是:EJB3 + Struts;  
开放源代码路线的技术解决方案是:Spring + Hibernate + Struts / Webwork

Struts是一个非常成功的开放源代码框架,短期内尚无法确定其地位Shake,JavaEye拥有 一项任务,就是动摇Struts在Java Web领域的职位,将其赶下位,然后将WebwOrk帮助主机!  

商业Web层技术,JSTL是一件好事,但是与FreeMarker等灵活的模板语言相比,还有很大的差距。  JSF本质上是绝望的。 商业Web层技术没有得到很好的应用,这也导致了Struts的兴起。  

服务器端业务层和持久层框架,我对EJB3非常乐观,其原因无需讨论。 从业务的角度来看,需要这样的东西,跨国公司也需要销售这样的产品来代替Bad EJB2。 在开源解决方案中,Spring + Hibenrate是商业解决方案的良好开源替代方案。 他们没有直接竞争,而是互补的关系。 这里更令人尴尬的是JDO:JDO是一种商业产品(当前尚无良好的开源实现),因此开源应用程序将对此不感兴趣。   JDO没有像EJB容器这样的去管理环境,这导致商业解决方案对此不感兴趣。  。 但是,对于JDO,我认为它为EJB3和Hibernate形成了一个良好的竞争环境,这是非常有益的。  

2)客户端技术

确切地说,它是RIA应用程序。 尽管我早些时候对XAML做出了积极的评价,但我认为以前的一些结论是错误的。 在这段时间之后,我觉得即使多年以后,XAML也不是一个非常成功的解决方案。 原因有两个:

1。  XAML将带来比ActiveX更严重的安全问题。  
XAML本质上是本地应用程序。 尽管它声称能够在IE浏览器中运行,但IE只是皮肤。   XAML应用程序具有对本地资源的完全访问权限(即使IE限制是无用的,IE限制也是功能的损失,在这种情况下,该功能将不会超过Javascript;如果不受限制,则可以执行任何操作)。 只要IE能够运行XAML,黑客就可以非常容易地通过IE进行入侵,这仅需指导用户就不知不觉地访问了恶意网页,就可以了! 用户必须面对一个选择:要么禁止IE运行XAML的功能,要么随时接受遭受攻击的危险。。  

2。  XAML应用程序本质上是RIA应用程序,因此必须进行许多RPC调用。
当前,XAML使用XML Web Services进行通信,这是效率低下的RPC。 在当前的XAML情况下,我还没有注意到RPC字段。 实际上,根据我目前进行RIA的经验,RPC绝对不是一件容易的事。 有许多问题需要考虑,您需要在客户端和服务器上完成全部操作。 特别是服务器端域对象模型的设计,并且我们知道dotnet尚未在O / R 映射中启动。  

从当前阶段开始,有两个最实用的解决方案可用:
1,AJAX
实际上,它是基于XMLHTTP的JS异步交互,已经存在了很多年。  。 是的,最近随着Google应用和Sun Blueprint的推出,它变得很流行。 我本来对这件事持消极态度,但后来改变了。 我最初的否定态度的一个前提是:XMLHTTP缺少成熟的组件库! 但是我没想到的是,自去年下半年以来,XMLHTTP迅速增长。   AJAX应用程序的最大优势是可以充分利用现有资源。 我认为它应该是RIA应用程序的首选。  

2,Flash
Flash的优势也显而易见,它具有强大的AS支持,强大的组件可视化设计,强大的交互功能和令人眼花user乱的用户体验,并且Flash Remoting It 也很成熟。  Flash的缺点是,尽管Flash嵌入在网页中,但它与网页之间没有数据交互功能。  Flash的另一个缺点是,它不适合处理大量文本内容(最适合HTML)。 现在有些人开始滥用Flash。  

因此,更好的方法可能是将两者混合使用。 通常,不会将过于复杂的交互提供给AJAX,而将非常复杂甚至需要拖动操作的交互提供给Flash。  

总结:

服务器端技术Java在软件开发领域是主流,有两条技术路线,一条是EJB3,另一条是Spring + Hiberna。te,此外iBATIS也有一个地方; 客户端技术是AJAX和Flash。  

第二,数据库技术
基本上,模式不会改变很多,Oracle仍然是高级的,SQL Server进一步蚕食了NT平台上其他数据库的领土。 在开源方面,MySQL将脱颖而出,但是开源数据库仍然有很大的差距,在很多方面都无法与商业数据库接近。 这也使得商业数据库的地位不可替代。 我将更加关注Oracle和MySQL。 面向对象的数据库仍不会改善。  

3。 桌面编程技术

我仍然认为对于桌面应用程序,本地代码的位置永远无法替换,因此我始终认为XAML之类的事情的效率确实是一个问题。  Longhorn希望变得成熟,而在第一个版本中无法实现。 当前的桌面应用程序开发技术仍然是Delphi,但是我认为Python是一个后起之秀,并且很可能在将来取代Delphi。

返回列表

服务热线:4006068008 0531-85860101 15589999555邮箱:zlxk@zlxk.com地址:山东省济南市高新区鑫盛大厦2号楼24层

Copyright 2023,ALL Rights Reserved zlxk.com | | (c) Copyright 2024版权所有 鲁ICP备20032954号-1网站地图