OpenSocial规范、实现现状与展望
OpenSocial为构建跨多个网站的社交应用程序提供了一组通用 API。开发人员可以使用标准 JavaScript 和 HTML 创建应用程序,用以访问社交网络里的朋友并更新对应的Feeds。本文是对本次QClub活动内容的一个简短总结,希望对没有到现场参会的读者了解OpenSocial有所帮助,也希望能引起大家更多的讨论。
作者 Geoffrey Wiseman译者 陈俊 发布于 2007年5月6日 上午10时0分
在过去的几年里,众多的Web框架都把精力投放在提高开发效率上。而Ruby on Rails胜过了许多传统框架而被人们视为Web快速开发的王牌。在Java界,很多的框架都在响应以提高效率,快速开发,和支持脚本语言为目标的号召。 从Grails到Stripes,RIFE到Trails,Tapestry 5.X到Phobos,人们都期望着能有新的能达此程度的Java Web开发方式,来高效快速地构建Web应用环境。
Grails是一个在Java平台上基于Groovy的Rails风格Web框架,伴随着其社区的快速成长,和包括在Tropicana和Pepsico这样的主流公司内的日渐增多的实际应用,最近吸引了很多开发者的眼球。人们通常拿Grails在机遇与挑战方面来与Ruby on Rails作比较, 皆因人们已被在自己熟悉的平台上的这Rails式的框架的力量所吸引了。最近的一系列比较分析结果显示了现在Grails有着更为优越的性能表现。但Ruby新发布的版本预言其能做得比这性能更好。
虽然曾经有过些关于在Grails内部直接支持Ruby的讨论,但当前来说这是行不通的。如果你只是希望把Grails中的一些部分集成到你的应用中,而不是通过Grails来集成Ruby的话,那明显是可行的,你可以在Grails context之外使用的Grails对象关系映射工具GORM,例如可用在Java桌面应用程序上。现在所有的主流IDE都逐渐有支持Groovy和Grails的迹象。如一些在Netbeans IDE上作支持的讨论,还有在IDEA中改进GroovyJ的讨论。在Eclipse上已经开始开发的Grails插件和新发布的Groovy/Eclipse插件,还有现在Edward Povazan致力于改进自动代码完成(Code Completion)来支持Big Sky Technology。
Grails最近发布了0.5版本, 该版本包括了性能的提高,自定义URL,增强GORM 等一些特点。Roadmap中的下一步就是0.6版本,还有在今年迟点会发布的1.0正式版。 InfoQ与Graeme Rocher, Grails项目的开发者与领导,谈论了关于Grails当前的成功经验和未来的方向。
当被问及当前Grails引发的潮流时,Graeme回答:
很多的Java开发者都意识到配置不再是一个必要的工作,而Grails正是引领这个潮流的框架之一。与其它的一些框架相比,Grails着重强调重用你 现有的Java知识、底层架构和代码。Grails和Rails一样的优雅,另一方面又和Spring MVC或者Seam一样的灵活,从这两方面来说都真的做得很好了。因此,它也确实得到了社区和全世界的认同。我们花了超过一年时间来准备0.1版本。正因 它的非凡引起了很多人的注意,有很多乐于其中的用户会帮忙散播信息和提高Grails在人们心中的地位。
当谈到在构建Java Web应用方面拿Grails与其它框架相比较时:
Grails信奉着不重复原则(DRY,Don't Repeat Yourself)和无配置规约(Convention-over-Configuration)。当你开发Grails应用时真正会感受到很多地方无需 配置。而你所获得的这些功能都是通过集成一些Java现存的API,库和框架,如Java Enterprise stack、Spring、Hibernate和SiteMesh。
除此之外Grails还有许多关键卖点,包括了可扩展的插件系统,一个基于Hibernate的领域驱动的ORM层,和一个结合Groovy Server Pages(GSP)的强大视图。
当谈及如何去说服别人作第一次Grails的尝试时:
程序员是不需要真的去说服的,Grails在易操控性方面有良好的竞争优势。如果是我想去说服别人使用Grails的话,我只要进行一个5分钟快速演示,然后他们就会信服了。
当问及Grails的1.0 版本和以后会如何发展时,Graeme Rocher回答到:
我们把精力都集中在改进开发者的体验方面,还有在秋季时能发布1.0版本。我们剩下的只是一些”大”问题了,接下来的工作就是通过不断的改进去达到终点线 了。我们还没做的事情包括,JSP标签库支持GSP,如果可能的话以插件的形式支持JPA,还有改进我们的单元测试基础框架。
虽然现在我们主要的精力集中在发布1.0版上,但在那之后,我们会补充一下基础架构,同时会写更多的Grails的插件来继续改进开发者的体验。例如,我就很想腾出时间来为GWT写个Groovy编译器,这样GWT就能作为Grails的一个插件了,我想这必定很有趣。
如果你想知道更多关于Grails方面的资料,你可以继续阅读InfoQ中Grails相关材料(英文),或者去浏览Grails的官方网站,又或者读一下Getting Started with Grails或Definitive Guide to Grails。
查看英文原文:Grails Gathers Steam, Heads for 1.0
译者简介:陈俊,SpringSide开 源项目的核心成员,以及中科院软件工程硕士,就职于Accenture。长期从事Java EE应用开发,热衷于软件体系结构,设计模式,软件过程改进及敏捷开发研究,也喜欢尝试不同的开源技术,一直以来坚持为开源社区的发展贡献自己的力量。为 InfoQ中文站贡献内容,请邮件至china-editorial@infoq.com。
OpenSocial为构建跨多个网站的社交应用程序提供了一组通用 API。开发人员可以使用标准 JavaScript 和 HTML 创建应用程序,用以访问社交网络里的朋友并更新对应的Feeds。本文是对本次QClub活动内容的一个简短总结,希望对没有到现场参会的读者了解OpenSocial有所帮助,也希望能引起大家更多的讨论。
Ruby 1.9的纤程(Fibers)和非阻塞I/O越来越收到关注了。我们对来自NeverBlock项目的Mohammad A. Ali和来自Revactor项目的Tone Arcieri进行了访谈。
InfoQ中文站有幸与Google中国的产品经理杨巍先生在一起探讨了OpenSocial的相关话题,包括OpenSocial的初衷、构成要素、实现方式、以及要实现它的技术储备等等。
Ryan Cooper对Amr Elssamadisy的新书发表了评价,并认为书中提供了一种为实施敏捷量身定做的框架。本书并没有给出一种人人可用的敏捷方法,而是为读者提供一些模式和工具,用以找出哪些敏捷实践可以最有效地达到该组织机构的特定目标。
这个由业界主要专家们参加的座谈会探究了在使应用程序具备尽可能好的伸缩性及性能的过程中所面临的挑战和思考过程。
本视频主要对OpenSocial进行了分析,并对实现的方式进行了介绍。其中包括:OpenSocial的开发经验、Container Provider的技术准备、平台的构成要素、具体的规范、以及对未来的展望。
Memcached在大型网站被应用得越来越广泛,但是Java客户端并不多,本文作者基于现有的开源客户端进行了封装优化,并翔实记录了这一过程。
在他们文章的第二部分,作者探讨了动态业务应用的架构并介绍了资源容器的概念。他们示范了如何在JEE之上构建这个架构,以及它如何影响实现生产力。
没有回复
回复