最近Spring可以说是动作频频首先是加盟VMware然后是并购GemStone今天有与Google深度合作CTO将进一步跟蹤这一切的进展情况以下内容是Spring创始人Rod Johnson在个人博客中关于Google和Spring合作相关事宜的声明
几星期前我们低调宣布(编辑注一点都不觉得低调)SpringSource加盟VMware今天我们要宣布另一个让人兴奋的巨大的进展
因为VMforce与SaaS领域领袖之间的关系今天我们要宣布一个VMforce与Google之间关于Spring框架以及SpringSource IDE和RAD工具方面的合作就是Spring将成为Google应用引擎的首选编程模型这一合作是对Spring在轻量型编程框架领域的巨大认可也为Spring开发者提供了更好的机会和前景在今天的Google I/O的主题演讲中演示的demo应用是SpringSource和Google工程师数月合作的结果这种合作对任何开发者开说都是非常有益的亮点创新性Spring和GWT(Google Web Toolkit)的深度集成使搭建富客户应用的效率更高在Spring应用中集成Google应用引擎变得更简单Spring Insight和Google Speed Tracer的集成无论从浏览器还是到数据库都提高了应用程序的性能对SpringSource其他工具套件的集成提供了优美的开发体验
目标
在开始进一步讨论技术问题之前我还是喜欢强调一下目标问题本声明的的亮点是两个核心价值问题就是生产效率和可移植性问题
生产效率
Spring的长远目标就是持续可见地提升Java的生产力SpringSource也一直致力于在这方面进行大力投入今天这样有意义的声明完全是因为SpringSource拥有的两个宝贝就是SpringSource工具套件和Spring Roo这两个宝贝为Java开发者提供了良好的开发实践并且得到了Google的赞赏
STS是我们所提供的Eclipse免费工具是开发Spring应用的最佳环境我们有一个很宏伟的目标那就是一个简单的下载就可以提供开发Java应用所需的所有工具并且也是最适合的工具
Spring Roo是一个帮助开发着以超乎自己想想的效率开发Spring应用的工具如果你是Java开发者你可能已经听说甚至尝试使用过Roo现在快速简单构建Java应用的时机已经来到了概括地说Spring Roo是一个交互式的可回顾的代码生成工具以确保程序员只编写有价值的代码Spring Roo可以用来辅助生成和维护构建持久性映射配置JavaBean方法toString()方法等繁重劳动Spring Roo的作用就是确保开发者只编写必要的代码并通过回顾来支持UI扩展早期产品升级等工作
首先我们尊重事实在Spring社区有很多开发者希望在细节上受益但是我们依然坚定的自信的认为Spring Roo这样的工具将越来越重要(尽管Roo目标是那些Java开发者Groovy平台上的Grails开发者需要重点指出的是Grails和Groovy社区已经示范了其技术在Google应用引擎上的价值)
生产效率又将得到提升工作即将得到整合随着SpringSource/Google的合作你将有机会通过下载STS通过简单的对话框就可以创建一个新的Spring Roo项目并且通过Roo交互平台创建一个完整的应用几分钟之内你就可以创建一个真正的应用(包括数据库访问)并且在云上运行采用集成在STS中的Roo回顾你不仅可以为实体增加新的字段还可以看到Roo修改GWT框架应用通过GPE的DevMode按钮只需秒的时间就可以切换到浏览器开查看整个包括数据库变化在内的应用完全不需要重新启动服务器
可移植性
Spring另一个核心价值是让开发人员编写业务逻辑代码更为简单并且清晰地脱离部署环境在以前Spring就已经能够做到让开发人员编写的程序可以在诸如WebSphereTomcat等不同的服务器之间进行移植消除了EJBJTA等环境特定API的影响今天部署环境的选择更延伸到了传统的数据中心以及云环境Spring可移植性正推动Java开发者走向云计算
今天Spring的可移植性关键问题是要正确的对待Open PaaS正如VMware CTOSteve Herrod所说的那样在什么地方部署和运行你的应用是一个非常重要的选择非常高兴的是VMware与Spring的核心价值是一致的也非常高兴的看到Google在可移植性方面做出承诺
技术简介
我已经提到了Spring Roo以及STS等技术对于其他技术包括GWTSpringSource和Google的分析工具不久之后我们负责参与这项工作的工程师将处理更多技术细节并在Roo M和STS M版本中进行发布你可以通过这些软件进行详细研究这里我们只提供一个概要性的指导
GWT
Google Web Toolkit是一个非常强大的用来开发互联网富客户应用的技术通过AJAX以及HTML等现代技术在诸如电话等非传统客户机上开发令人信服的应用并提供良好的用户体验随着用户界面需求的变化以及非传统客户机的推广GWT对Java开发者来说会变得越来越重要
今天所展示的基于SpringSpring Roo和GWT深度整合应用是SpringSource和Google工程师多个月精心合作的成果也是对Spring社区一直期盼的要解决的问题的回应这个整合过程让开发GWT应用比过去更容易也给Spring开发者一个新的引人注目的UT选择GWT是一个开源并且部署环境独立的框架所以这个整合对所有的Spring用户无论他们是否打算在应用中使用Google应用引擎都是有益的凭借领域模型方面的知识Spring Roo和GWT是天作之合今天集成Spring Roo和GWT为开发者在项目生命周期中提供了更高的生产力并且通过Roo部署Google应用引擎更容易
我们也在STS的Eclipse的扩展安装包中增加了GPE(Google Plugins for Eclipse)的安装GPE里包括了对GWTDevMode部署以及Google应用引擎的支持
Spring Insight/Google Speed Tracer
Spring Insight是一种让开发者在无需编写特定代码和配置的情况下就能够洞察其他应用的工具
Insight通过 AspectJ以及着名的Spring框架来显示应用程序性能的详细信息这些信息包括什么地方消耗了多少时间Insight属于SpringSource tc服务器的一部分(tc服务器开发版是是一个自由软件是STS的一部分)
Google Speed Tracer是Chrome的扩展用来显示应用程序时间消耗情况包括JavaScript解析和执行布局CSS绘制DOM事件处理资源加载等
今天我们展示了两种技术的结合Speed Tracer用户可以看到Insight已经无缝地嵌入到以前的Speed Tracer屏幕当中并且显示出服务器端诸如JDBC查询等工作的执行效率Speed Tracer和Insight的结合是强大并且空前的这是人们第一次有机会从全局的角度看到浏览器和后台服务器是如何协调工作的
这意味着什么
从宣布与VMforce到今天宣布与Google的合作这几个星期到底出现了多大的变化?在简单部署应用方面Java开发人员一直都没有合适的PaaS方向目标这是一个很危险的空白区域很可能影响到Java的长期发展我很高兴VMware/SpringSource能够带领和填补这个空白区域
今天的声明对于Spring开发者来说是一个非常重要的事情Spring技术价值在今天达到了一个高峰Spring系统依然在不断的增长Springde核心价值依然在指导其前进方向并且Spring已经开始带领Java社区进入云计算时代无论你是想在现有的计算机中心私有的Java云还是公共Java云Spring都是最好的开发模型我非常兴奋希望大家也跟我一样兴奋