当前的软件技术路线(转载)

一、软件开发技术

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;低端的开源路线,这条路线是Hibernate, Spring。这两条路线也有重叠的地方,例如开源的Struts几乎成为J2EE Web层的标准,开源的Hibernate奠定了EJB3的基础。但是划分路线不是基于技术上的区别,而是基于商业运作上的区别。注重技术支持和商业服务的公司会选择前者,注重成本控制和选择自由的公司会选择后者。

商业路线的技术方案是:EJB3+Struts;

开源路线的技术方案是:Spring+Hibernate+Struts/Webwork

Struts是一个很成功的开源框架,它的地位短期内还无法动摇,JavaEye有一项使命,就是动摇Struts在Java Web领域的地位,把它赶下王座,把Webwork扶上位!

商业的Web层技术,JSTL算是一个不错的东西,但是和灵活的模板语言如FreeMarker相比,却有很大的差距。JSF基本上是一个没有前途的东西。商业Web层技术因为一直没有出现好的应用,这样也导致了Struts的上位。

服务器端业务层和持久层框架,我非常看好EJB3,原因也不用多谈了,从商业上来说,需要这样一个东西,跨国公司们也需要这样一个产品来卖,来取代糟糕的 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 Mapping方面还没有起步。

从当前的阶段来说,最实际可用的方案有两个:

1、AJAX

实际上就是基于XMLHTTP的JS异步交互,这个东西已经出现很多年了,最近随着Google应用和Sun Blueprint的推出开始火热。我原来对这个东西持否定态度,但是后来转变了。我原来否定态度的一个前提就是:XMLHTTP缺乏成熟的组件库!但是没有想到的是,现在XMLHTTP从去年下半年开始,如雨后春笋般冒出来。AJAX应用最大的好处就是充分利用现有资源,我认为应成为RIA应用的首选。

2、Flash

Flash的优势也很明显,强大的AS支持,强大的组件可视化设计,强大的交互能力和很炫的用户体验,并且Flash Remoting也已经非常成熟了。Flash的缺点就是Flash虽然嵌入网页,但是和网页没有数据交互能力,Flash另一个缺点就是不适合处理大量文本内容(HTML最适合)。现在有些人开始滥用Flash了。

因此比较好的方式可能是两种混用,一般不过度复杂的交互交给AJAX,非常复杂,甚至需要托拽操作的,交给Flash。

总结一下:

软件开发领域服务器端技术Java是主流,两个技术路线,一个是EJB3,一个是Spring+Hibernate,此外iBATIS也有一席之地;客户端技术就是AJAX和Flash。

二、数据库技术

基本上格局不会发生多大变化,Oracle还是高高在上,SQL Server进一步蚕食NT平台其他数据库的领地。开源方面,MySQL将一枝独秀,但是开源数据库在很多方面还是和商业数据库有无法拉近的巨大差距。这也使得商业数据库的地位不可替代。我会比较关注Oracle,MySQL这两个数据库。面向对象数据库仍然不会有什么起色。

三、桌面编程技术

我还是相信一点,对于桌面应用来说,本地代码的位置永远无法被取代,所以我总觉得XAML那样的东西效率实在很成问题。Longhorn要像成熟,也不是第一个版本就可以达到的。当前桌面应用开发技术,还是首推Delphi,不过我觉得Python是后起之秀,非常有可能在未来取代Delphi。

一、软件开发技术

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;低端的开源路线,这条路线是Hibernate, Spring。这两条路线也有重叠的地方,例如开源的Struts几乎成为J2EE Web层的标准,开源的Hibernate奠定了EJB3的基础。但是划分路线不是基于技术上的区别,而是基于商业运作上的区别。注重技术支持和商业服务的公司会选择前者,注重成本控制和选择自由的公司会选择后者。

商业路线的技术方案是:EJB3+Struts;

开源路线的技术方案是:Spring+Hibernate+Struts/Webwork

Struts是一个很成功的开源框架,它的地位短期内还无法动摇,JavaEye有一项使命,就是动摇Struts在Java Web领域的地位,把它赶下王座,把Webwork扶上位!

商业的Web层技术,JSTL算是一个不错的东西,但是和灵活的模板语言如FreeMarker相比,却有很大的差距。JSF基本上是一个没有前途的东西。商业Web层技术因为一直没有出现好的应用,这样也导致了Struts的上位。

服务器端业务层和持久层框架,我非常看好EJB3,原因也不用多谈了,从商业上来说,需要这样一个东西,跨国公司们也需要这样一个产品来卖,来取代糟糕的 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 Mapping方面还没有起步。

从当前的阶段来说,最实际可用的方案有两个:

1、AJAX

实际上就是基于XMLHTTP的JS异步交互,这个东西已经出现很多年了,最近随着Google应用和Sun Blueprint的推出开始火热。我原来对这个东西持否定态度,但是后来转变了。我原来否定态度的一个前提就是:XMLHTTP缺乏成熟的组件库!但是没有想到的是,现在XMLHTTP从去年下半年开始,如雨后春笋般冒出来。AJAX应用最大的好处就是充分利用现有资源,我认为应成为RIA应用的首选。

2、Flash

Flash的优势也很明显,强大的AS支持,强大的组件可视化设计,强大的交互能力和很炫的用户体验,并且Flash Remoting也已经非常成熟了。Flash的缺点就是Flash虽然嵌入网页,但是和网页没有数据交互能力,Flash另一个缺点就是不适合处理大量文本内容(HTML最适合)。现在有些人开始滥用Flash了。

因此比较好的方式可能是两种混用,一般不过度复杂的交互交给AJAX,非常复杂,甚至需要托拽操作的,交给Flash。

总结一下:

软件开发领域服务器端技术Java是主流,两个技术路线,一个是EJB3,一个是Spring+Hibernate,此外iBATIS也有一席之地;客户端技术就是AJAX和Flash。

二、数据库技术

基本上格局不会发生多大变化,Oracle还是高高在上,SQL Server进一步蚕食NT平台其他数据库的领地。开源方面,MySQL将一枝独秀,但是开源数据库在很多方面还是和商业数据库有无法拉近的巨大差距。这也使得商业数据库的地位不可替代。我会比较关注Oracle,MySQL这两个数据库。面向对象数据库仍然不会有什么起色。

三、桌面编程技术

我还是相信一点,对于桌面应用来说,本地代码的位置永远无法被取代,所以我总觉得XAML那样的东西效率实在很成问题。Longhorn要像成熟,也不是第一个版本就可以达到的。当前桌面应用开发技术,还是首推Delphi,不过我觉得Python是后起之秀,非常有可能在未来取代Delphi。


相关内容

  • 乡镇公务员申论热点2
  • [人事考试教育网 - 山东公务员考试]一.突发与群体性事件提纲:1.金融危机,2.面对甲型H1N1流感, 3.群体性事件(如:翁安事件.重庆出租罢运.云南丽江湖水利事件等),4.突发公共事件的种类及其对策,5.乌鲁木齐7.5打砸抢烧事件例题:群体性事件突发,为基层执政敲响警钟镜头一:6月28日至29 ...

  • [转载]初中思想品德热点问题教学研究
  • 初中思想品德热点问题教学研究 监利县教学研究室    张晓灵 监利新教育实验学校  张和林 [专题建构] 1.热点本身,或以党和国家的重大路线.方针.政策为线索确立,具有全局性.长效性:或以重大热点事件为线索确立,具有时效性. 2.选取的热点必须贴近学生实际,是学生所熟知的问题,是学生关注过.思考过 ...

  • [转载]促进非公经济发展办法年底出 融资问题是核心
  • 促进非公经济发展办法年底出 融资问题是核心 http://finance.sina.com.cn 2004年08月11日 09:57 21世纪经济报道 本报记者 罗小军 上海报道 7月25日,<国务院投资体制改革的决定>公布的同日,国务院筹划已久的促进非公经济发展座谈会召开. 参与座谈者 ...

  • 转载:"十三五"加强供给侧改革塑造新需求
  • "十三五"加强供给侧改革塑造新需求 ●经济形势变化呼唤加快推进过剩产能有效出清和资产重组.恢复市场优化配置资源功能,"振兴"实体经济,激发和释放经济内在活力. ●动力转换的关键在于如何发挥旧动力作用的同时,加快挖掘新动力,如何将旧动力积累的市场.资金.供应链等 ...

  • 采煤工种岗位责任制
  • 采煤类各工种: 攉煤工安全生产责任制 采煤工区攉煤工是采煤工作面作业现场攉煤的直接责任者,负责本班次的攉煤过程中的安全生产工作.采煤工区攉煤工必须熟练掌握煤矿三大规程中的相关的专业知识,熟悉避灾路线和措施,能妥善避灾.依法经过培训,保证安全. 一.岗位职责 1. 攉煤工必须掌握作业规程与攉煤相关的各 ...

  • 201一季度工作总结
  • 2015年1-4月份机电科工作总结 2015年以来,在矿党委的领导下,紧紧围绕群众路线工作的开展,深入落实建"五好"党支部.创"五型"党小组和争"五先"共产党员,并开展"谈心交心"等活动.为了更好的服务员工,我科积极主动 ...

  • 张铁生没交白卷入狱15年后成千万富翁
  • 张铁生没交白卷 入狱15年后成千万富翁 加国无忧 51.CA 2012年3月1日 18:32 来源:凤凰网 [ 加大字体 | 缩小字体 ] 本文摘自<文史参考>2010年第11期 作者:张淑燕,原题:<文革时期的特殊高考:炮制"白卷英雄"始末> 每年初夏的 ...

  • [转载]人生就是一次单程旅行
  • 人生就是一次旅行,自出生那一刻起,就开始了漫漫的人生之旅. 每个人的人生旅行,既无法选择自己的起点,也不能阻止终点的出现,唯一能够把控的只有旅行的过程. 人生旅途过程中,没有哪条路是没有风雨没有坎坷的,也没有哪条路始终是黑暗没有光亮的.前面的路是平坦还是崎岖无法预知,目前阳光灿烂不一定下一段就没有风 ...

  • 14301综采工作面回撤安全技术规程
  • 第一章 工程概况 一.工作面概况: 14301综采工作面斜长200米, 工作面倾角0-3°,回撤通道宽度4.5米.使用锚.索.网支护,工作面收尾时,顶板铺设9米双层金属网.8道钢丝绳.支架顶梁与煤壁间距4米,工作面收尾贯通前架设π型钢梁.单体柱支护回撤通道顶板. 工作面设备回撤工作量:回撤DSJ12 ...