【IT168 专稿】眼看2011年即将过去了,技术开发领域发生了翻天覆地的变化,掀起了一股新的技术狂潮。本文将分别围绕着 Java、.NET、Web开发、开源等领域,盘点整个2011年所取得的发展与成就。在Web开发领域,总离不开Java与.NET Framework两大阵营的角逐。提起Java,有一个绕不开的话题,那就是“地球上从此没有了Sun之后,新东家甲骨文到底能不能将Java发扬光大 呢?”答案是肯定的。本文将为您盘点甲骨文2011年的Java十大成就,看看数据库巨头是如何推动Java发展的。
说到关键字 “十”,不得不提到另一个与Java息息相关的工具,那就是Eclipse。Sun的灭亡固然让人神伤,Java之父的“我又跑路了”让人悲情。而 Eclipse的十年磨一剑,如今占据65%的IDE市场份额,处于绝对垄断地位,让人倍感欣喜与振奋。Eclipse的日蚀图标与Sun的陨落交相辉 映,这或许就是命运吧。那么,究竟是什么使得Eclipse前进路上势如破竹呢?看看Eclipse这十年背后的故事,您就不难找到答案了。
一、 Java领域发展与热点回顾
1、Java今世前生:甲骨文与Java强强联合
对于众多Java的粉丝与忠实拥护者来说,Sun无疑是悲情的。作为Java语言的缔造者,Sun将Java发扬广大,成为如今全球最受欢迎的编程语言。可惜,一家好的科技公司并不一定是一家好的盈利公司。Sun始终将自己定义为一家硬件公司,主打高端服务器。然而,IBM已经在高端服务器市场蚕食了Sun的市场份额。受此影响,Sun利润连续下滑,加之金融危机等利空因素的影响,Sun公司盈利急转直下,财务一步步恶化,最终传出被收购的新闻。
在全球的IT收购市场,总少不了IBM,惠普,甲骨文这样的买家。正当人们以为IBM将耗费一半的现金储备收购Sun,将为IBM带来在软件和服务器领 域的绝对垄断优势之时,IBM却抛出了放弃收购Sun的消息。也许大部分人的内心独白恐怕是“这下Sun的董事会该后悔没有接受IBM提出的收购条件了 吧”,难道Sun已经陷入“雅虎噩梦”?
然而,“剧情”总是在关键时刻出现大逆转。Sun在被IBM拒绝后的4天后,竟然“闪电”般地 确定了新的买家。2010年1月,甲骨文公司以74亿美元的价格现金收购Sun公司。对于这次收购的影响,正如Sun的CEO乔纳森·施瓦茨发给员工的邮 件所言,“收购Sun之后,甲骨文将重新定义整个行业”。
对于这次收购,市场和投资人最关注的问题无疑是两家公司能否在此次收购中达成 双赢。甲骨文总裁查尔斯·菲利普斯在给客户和合作伙伴发出的一封邮件中强调,甲骨文将拥有Sun两个关键软件资源Java和Solaris。甲骨文发展最 快的业务正是基于Sun的Java技术。而Sun的Solaris操作系统同时还是甲骨文数据库业务的主要平台之一。菲利普斯认为,得到上述两项资源,“公司能够以此为顾客提供更好的服务”。
通过收购,甲骨文的野心已经昭然显示。那么,这次收购又给Sun带来了什么?销售能力一直是Sun发展的软肋和障碍,计算机服务厂商Deloitte LLP技术部掌门埃里克·欧彭肖指出,甲骨文强大的销售团队将改变Sun销售的不利局面,把Sun拥有良好技术力量支撑的好产品以好的价格卖出去。
我们看到,自2010年1月收购Sun后,甲骨文公司就马不停蹄的开展Java工作。甲骨文先是与炙手可热的谷歌Android操作系统玩 起了猫捉老鼠的专利侵权游戏。光案宗就长达2200万,索赔金额十亿以上。尽管这场游戏还在持续,但是Java的重要性是不言而喻的。与此同时,数据库巨 头还致力于改善自己在社区和开发人员中的地位,并给予他们所需要的开发支持。2011年10月2日至5日在旧金山举行在JavaOne 2011大会上,甲骨文重点介绍了Java平台计划和产品演示,展示了最新的Java技术创新。同时,甲骨文推出的新路线图也被大家所接受。
2、甲骨文在2011年度大力推动Java发展
我们不妨回顾一下甲骨文在2011年对Java所做的贡献:
1、Java从此进入“7”时代。甲骨文公司发布的JDK 7,可用于Windows,Linux,Solaris和嵌入式平台。甲骨文还发布了Mac OS X的开发人员预览版。
2、IBM、Apple、SAP、Twitter纷纷加入了OpenJDK,将与OpenJDK社区的其他成员合作,帮助发展Java平台。
3、甲骨文已成功整合了其Java开发团队J、Rockit团队和HotSpot团队。
4、甲骨文官员表示,JDK 8将在2013年夏天发布,届时将增加Jigsaw、Lambda、JavaFX 3.0等诸多功能。
5、甲骨文已建立了一个Java平台、Java SE和Java ME沟通桥梁的战略计划,同步发行了运行在Java SE的Java ME API。此举是为实现Java平台覆盖所有CPU类型,将致力于为垂直细分市场提供API。
6、甲骨文宣布推出Java作为PaaS提供的Oracle公共云。甲骨文Java云服务是一个为企业开发,部署和管理关键业务的Java平 台,Java EE应用平台将基于Oracle WebLogic Server。它支持多个Java集成开发环境(IDE),包括甲骨文的JDeveloper、NetBeans和Eclipse的开发与部署。
7、甲骨文的官员表示,Java平台企业版7(Java EE 7)的的相关工作已经开始,JAVA EE7表明甲骨文公司准备推出Java作为PaaS的云服务。也将提供多租户API。JCP(Java Community Process)的20多个企业和数百名工程师正在制定Java EE 7以及10个Java规范要求(JSRs)。
8、甲骨文公司宣布了改善HTML5和Java技术之间的互操作性的计划,以简化基于云的客户机/服务器互动应用程序的开发。
9、NetBeans IDE 7.1 Beta版扩展了Java标准的支持,提供了JavaFX 2.0的功能,支持JavaFX 2.0应用的编译、调试和测试的整个开发周期。
10、JavaFX 2.0是先进的企业应用Java UI平台,提供了Java客户端用户界面(UI)技术的迁移路径。下一步,Java将作为主要的富客户端平台进行发展。NetBeans IDE目前有超过100万活跃用户,越来越多的开发人员选择NetBeans IDE作为Java平台来快速创建桌面、Web和移动应用程序,如同PHP、JavaScript、Ajax和C/C++一样。
3、Eclipse 十周年成长历程——十年磨一剑
如前而言,对于众多Java的粉丝与忠实拥护者而言,Sun无疑是悲情的,Eclipse却是一个奇迹。2011年,Eclipse迎来了第十个年头。 人说“十年磨一剑”,如今,Eclipse这把“倚天”利剑,锋利无比,蚕食了全球65%的Java IDE市场。相比之下,也只有NetBeans这把屠龙“宝”刀才能与之抗衡。名为Eclipse与NetBeans之争,实为开源与闭源之争。事实上, 近些年,我们看到,开源社区从当初的青涩状态已经日趋成熟了,对商业公司也形成了一种强大的挑战,就连微软也纷纷加盟到开源阵营中来。
2011年11月为Eclipse庆祝月,Eclipse官方网站特意制作专题,报道这个月全世界的庆祝活动行程。Eclipse基金会执行董事Mike Milinkovich认为,IBM的开源决定是一次革命性的举措,十年前软件开源协作开发还是十分新颖的想法。十年后,Eclipse的成功佐证了开源 模式的优势。
我们不妨回顾一下Eclipse这十年来的发展历程:
2001年12月,IBM 向世界宣布将价值 4 千万美元的源码捐赠给开源社区。同时,IBM成立非营利软件供应商联盟Eclipse基金会,负责Eclipse 开源项目的管理与发展。同年Eclipse 1.0发布,由此,一个属于Eclipse的时代开始拉开了大幕。
2002年,Eclipse实时推出了Eclipse 2.0版本。在Eclipse官方发布的文档中写道,我们看到了无数个免费 plugins,这足以说明了Eclipse的潜力。从此,插件成了Eclipse赤手可热的杀手锏。
2003年4月,Eclipse 2.1发布,新添了重构、Emac键绑定、Java Code超链接、Ant 编辑/视图、快速修复(quick fix)等诸多新特性。与此同时,Eclipse正在酝酿革命性版本3.0的发布,将Eclipse的核心静态插件模型变成了基于OSGi服务平台规范的 动态运行时架构。
2004年6月,Eclipse 3.0 正式发布,真正成为了一个完美的、可扩展的开发环境。此时Java开发人员已经飙升为300万。
2005年6月,Eclipse 3.1 发布,30天达到100万下载量。而此时全世界有大约450万名开发者正在使用Java 技术。同年8月,Macromedia开始支持Eclipse平台,支持Java编程员编写Flash脚本。10月,Zend加入Eclipse基金会扩 展PHP开发工具。
2006 年1月,Eclipse国际高峰论坛首次登陆中国。同年2月,Eclipse 3.2 M5发布并提供下载,支持Java SE 6.0。11月,Eclipse 3.3 M3发布。12月,Google宣布正式加盟Eclipse。
2007年3月,Eclipse开始支持AJAX。6月,稳定版Eclipse 3.3发布,此后发布Eclipse Europa 。9月,Eclipse首度推出PHP开发工具。AMD加入Eclipse基金会。11月,Eclipse获Sun认可成JCP成员。
2008年4月,微软宣布支持Eclipse开源项目。5月,甲骨文为Eclipse用户规划设计Java EE插件套件。6月,Eclipse 3.4发布,代号为ganymede。
2009年5月,Aptana发布Eclipse云连接插件。6月,Eclipse 3.5发布,代号GALILEO(伽利略)。2009年9月,Eclipse 3.5.1发布。Eclipse3.5添加了一些有趣的特性,比如区块选择模式:用于剪切、复制和粘贴,“if 对调”快速修改等等。
2010年6月,Eclipse 3.6版本正式发布代号Helios(太阳神)。据Eclipse的官方发布文档介绍,Helios囊括了39个Eclipse开发团队,490个开发 者,贡献了三千多万行代码。此时,Eclipse对J2EE,PHP, C/C++的支持变得愈加成熟。
2011年6月,Eclipse 3.7(代号Indigo)正式发布。8月,Eclipse基金会发布了Eclipse 3.8 M1版,支持Java 7。9月,Eclipse 3.7.1发布支持Java 7。
说来也巧,就在以Java阵营为代表的Eclipse 10周年直击。我们也迎来了微软.NET Framework的第十一个年头。
二、.NET、云计算开发领域的发展与热点回顾
说到两个“十”,也就是双十之后,我们常双十一。大家知道2011年11月11日被称为世纪光棍节,而不知不觉的,微软的.NET Framework也走过了11个年头。11年前,Java一蹶不振,怀着巨大野心的微软实时推出了.NET Framework,而作为框架的核心语言C#,直指Java咽喉,微软希望C#能成为Java的终结者。事实证明,ASP.NET初期一路上披荆斩棘, 收到很好的效果,被广泛接受。只可惜,Java在开源力量的带动下,后来居上。尽管如此,.NET Framework作为微软的经典框架,还是深入人心的。用一句话形容,就是体积越来越小,功能越来越强。本文,我们将盘点.NET Framework从1.0到4.0都经历了哪些瘦身。
1、微软.NET 开发Web应用——能否成为Java终结者
在十一年前的发布会上,最难忘的莫过于C#新编程语言的发布。那个时候正是Java停滞不前的时候。微软希望利用自身强大的推动力,充分发挥.NET的 潜力,成为Java的终结者。微软的ASP.NET在当时来看可以说是一个辉煌的进步。作为战略产品,微软为ASP.NET 设计了这样一些策略:易于写出结构清晰的代码,代码易于重用和共享,可用编译类语言编写等等,目的是让程序员更容易开发出Web 应用,满足向Web 转移的战略方向的需要。作为微软.NET框架的标志性语言,C#在微软的开发战略中扮演了一个非常关键的角色。随着该语言呈现出动态和功能编程语言的特 性,其角色也在不断向前发展。
2、微软.NET发展进程与回顾
我们不妨结合下面这张图,总结一下.NET Framework:
1、NET Framework 1.0 (CLR 1.0) 和 1.1 (CLR 1.1) 已经过时,建议不要使用。
2、NET Framework 2.0 (CLR 2.0) 是目前广泛使用的版本,提供了大部分的基础功能。
3、NET Framework 3.0 (CLR 2.0) 增加了 WPF、WCF、WF 和 Card Space 等功能。
4、NET Framework 3.5 (CLR 2.0) 增加了 LINQ、ADO.NET Entity Framework 等功能。
5、NET Framework 4.0 (CRL 4.0) 重新实现并改进了以前版本 .NET Framework 的功能,并增加了 Parallel LINQ、Task Parallel Library 等新功能,强烈建议使用。CLR 4.0 运行兼容旧版本的 .NET 程序。
6、NET Framework 4.5开发者预览版发布。在线安装文件不足1MB大小,离线完整版则有近50MB。据微软介绍,.NET 4.5更新了公共语言运行时(CLR)、.NET类库和Visual Basic和C#语言,并且增强Web服务器数据访问,改进性能、可扩展性以及可靠性和安全性。
3、微软最佳云平台Windows Azure腾“云”驾雾
对于任何IT巨头来说,微软都是一个可怕的对手。尽管失败的Windows Vista让微软有点泄气,但是微软毕竟是微软。Windows 7迅速扭转颓势,让微软扬眉吐气。更值得骄傲的是,在众说纷“云”的年代,在微软的TechEd技术大会上,微软高调宣布Windows Azure是微软最好的云平台。那么,微软凭什么有底气力挺Windows Azure,本文为您拨“云”见日。
10月份的甲骨文全球大会上,该公司CEO Larry Ellison讽刺Salesforce是假云,并取消了对方的主题演讲资格。前微软中国掌门人唐骏也告诫中国企业最好不要轻易碰“云”。不过,所有的这 些,丝毫不影响微软发力云战略的雄心。在微软TechEd技术盛会上,微软高调宣布Windows Azure是最佳云平台。
作为微软的公有云解决方案,Windows Azure一方面提供了云计算平台的基础环境,即云操作系统。另一方面,提供开发SDK,为开发人员提供了熟悉的开发体验与良好的扩展性。
那么,被微软成为最佳云平台的Windows Azure究竟有哪些神奇的功能呢?
作为底层的云计算操作系统,Windows Azure为上层微软数据中心的应用程序的运行以及海量数据的存储提供了Windows环境。简单来说,Windows Azure功能分为三大块,即:计算、存储、管理。
所谓Windows Azure计算功能指的是微软的应用服务器Windows Server为应用程序提供各种Windows Azure云计算服务。这些应用程序并不局限于基于.NET Framwork的C#、VB程序,同样适用于.NET Framework之外的C++、Java程序。对于开发人员,他们可以选择Visual Studio或者其它IDE。
Windows Azure存储模块支持二进制大数据对象BLOB的存储,为Windows Azure应用之间的数据通讯提供数据队列服务。除此之外,Windows Azure的存储模块还提供简单的关系数据库的表查询功能,至于复杂的高级特性,则需要SQL Azure的支持。
Windows Azure管理模块支持管理着成百上千的云数据中心的机器集群,对于上层来说,底层是透明的,所有机器的行为保持一致性,就像是一台机器。
作为云端的基础服务提供商,Windows Azure AppFabric为云端的应用提供了云端企业服务总线、跨网络边界、防火墙、控制验证、分布式缓存等各项云服务。
众所周知,数据库服务是云端的一个非常重要的基础功能,SQL Azure为云端提供基于SQL Server的关系数据库服务,主要包括:云端关系数据库、持续的开发模型、自动化的管理等。
作为微软云方案提供的在线服务接口,Windows Azure Marketplace为客户提供各种各样的云端数据与云端应用付费服务。
三、 Web开发领域发展现状与热点回顾
关于Web开发,说的再多,做的再多,也终究要回归到Web语言的本质HTML。提起乔布什乔帮主,相信地球人都知道吧?那句“活着就是为了改变世界” 被无数人奉为经典。在2010年,为回应外界关于乔布什打压Adobe Flash的质疑,乔布什发表了一篇长达1600字的文字,为HTML 5做起了广告,实属罕见。这也正说明了HTML 5不可小觑,那么究竟HTML 5有什么神奇之处,为令从不妥协的乔布什都为止倾倒呢? 本文将为您一一盘点。
1、HTML5发展如火如荼---Flash隐形杀手
FLASH和HTML5桌面之争也许还在继续,但在移动领域里FLASH以黯然退出而告终。Adobe公司在宣布停止移动平台FLASH研发工作后也进 行了更加详细的解释:HTML5已经获得广泛支持,而FLASH将不再是必需品。而宣告Flash“死亡”消息的幕后罪魁祸首也许是乔布斯。乔布斯就封杀 Adobe的Flash技术一事,发表了一篇长为1600个英文的文章,有力回应了外界质疑。他指出了Adobe的五桩“罪”:
乔布斯也不忘告诫对手,“也许Adobe应该集中精力,为未来打造HTML 5工具,而不是成天批评苹果放弃过时的事物。”
2、HTML5给力Web应用开发:选择HTML5的十大理由
HTML 5是近十年来Web开发标准最巨大的飞跃。和以前的版本不同,HTML 5并非仅仅用来表示Web内容,它的新使命是将Web带入一个成熟的应用平台,在HTML 5平台上,视频、音频、图象动画,以及同电脑的交互都被标准化。
我们不妨总结一下使用HTML 5的十个理由:
ARIA标准使得HTML5创建网站更加轻松、简单。
HTML 5内置标签支持视频和音频,无需第三方插件。
HTML 5 Doctype简化了多余的head标签。
HTML 5让你的代码更加清晰易于阅读。
HTML 5中最酷的特性就是本地存储。有一点像比较老的技术cookie和客户端数据库的融合。
HTML 5拥有canvas与许多API,具有更好的互动性。
HTML 5轻松使用canvas开发游戏。
Chrome,Firefox,Safari,IE9和Opera均支持HTML5
随着Adobe宣布放弃移动flash开发,你将会考虑使用HTML5来开发web应用。
HTML 5是未来,开始用吧!
四、开源技术领域发展现状和热点回顾
电影“非诚勿扰II”中,葛优的一句经典台词是,“谁会永远打保票啊”。的确,创新是无限的,一切都是变化的。尽管我们不能承诺未来,但是我们可以预见 未来。在以云计算为核心的未来,数据会因谁而改变呢?今日,Hadoop等开源软件之父、Apache软件基金会主席Doug Cutting表示,未来十年数据处理将因Hadoop而改变。那么Hadoop究竟是昙花一现呢,还是Hadoop之父真的预见未来了呢?我们将为您盘 点您所不知道的Hadoop背后故事。
1、Hadoop 领跑大数据——掌舵大数据处理模式
要说 2011年最热的IT词汇之一,Hadoop恐怕要算在其中吧。近日,在由中科院计算所主办的Hadoop中国2011云计算大会上,Hadoop等开源 软件之父、Apache软件基金会主席Doug Cutting表示,未来十年数据处理模式将因Hadoop而改变。
微软近日宣布开发 一个兼容Windows Server与Windows Azure平台的Hadoop开源版本。IBM宣布在Hadoop上建立新的存储架构,作为群集运行DB2或Oracle数据库,目的是让应用程序,支持 高性能分析,数据仓库应用程序和云计算的目的。EMC也推出了世界上第一个定制的、高性能的Hadoop专用数据协同处理设备——Greenplum HD数据计算设备,为客户提供了最强大、最高效率的方法,充分挖掘大数据的价值。互联网搜索巨头百度也在考虑使用Hadoop。不过,出于性能与安全的考 虑,百度在采用Hadoop架构的时候,将Hadoop计算层进行了重新编写。在2011Openworld大会上,甲骨文宣布发布了Big Data 机,它采用了NoSQL数据库和Hadoop框架,并且成功的将其商业化,用于大数据分析。
Apache Hadoop是一个分布式计算相关的开源项目。Hadoop起源于另一个网络搜索引擎相关的开源项目——Apache Nutch,后者是Lucene项目的一部分。作为Apache Hadoop以及Lucene项目的创始人,Doug Cutting 这样解释Hadoop名字的起源:“这个名字是我孩子给一头吃饱的棕黄色大象命名的。我的命名标准就是简单,容易发音与拼写,名字没有太多的含义,并且不 会用于别处。小孩子是这方面的高手,Google就是由小孩命名的。”
作为一个分布式计算基础架构,Hadoop项目拥有众多子项目,其技术栈如下:
2、Hadoop七年发展历程:开源趋势越演越烈
下面,我们不妨梳理一下Hadoop最近7年的发展里程:
1、2004年,Google发表了论文,向全世界介绍其核心搜素算法MapReduce。
2、2005年,作为Apache Lucene的子项目,Apache Nutch开发出了第一个成熟的MapReduce应用,用于网络搜索领域。
3、2006年,Apache Nutch从Apache Lucene中独立出来,更名为Hadoop。同年,Apache Hadoop创始人Doug Cutting加盟雅虎,继续致力于Hadoop的发展。
4、2008年, Hadoop羽翼丰满,雅虎开始大规模建设Hadoop集群,部署Yahoo搜索引擎。同年,Hadoop打破世界记录,成为最快排序1TB数据的系统,用时209秒。
5、2009年,Hadoop将这一数据缩小到62秒。
6、2010年,IBM宣布其第一款Hadoop 大数据分析软件——InfoSphere BigInsights。
7、2011年,Hadoop中国云计算大会在北京召开,大会邀请了Doug Cutting发表主题演讲。
俗话说,年年岁岁花相似,岁岁年年人不同。说到底,技术的发展离不开人类的进步。2012不是世界末日,创新永无止境。甲骨文以及相关专家会继续推动 Java的发展,Eclipse这把利器也会继续扮演“工欲善其事必先利其器”的角色。.NET Framework的脚步不会停止,Windows Azure的筋斗云会越翻越高。HTML 5是Web的未来,Hadoop是数据的未来。那么未来的未来,会是什么样子的呢?让我们一起期待。