您的位置:首页 > 移动开发 > Cocos引擎

cocos2d-x android返回黑屏问题的解决(v2.1.4)

2013-10-16 15:06 302 查看
【导读】2001年11月,IBM向开源社区捐献了Eclipse代码,自此Eclipse在开发者社区得到飞速发展。2006年1月19日,Eclipse国际高峰论坛也首次登陆中国,developerWorks编辑团队与IBM的Eclipse策略经理John Kellerman进行了座谈,聆听了他对Eclipse历史的追溯、对Eclipse架构的分析、对Eclipse现状分析、对未来发展的展望。

IBM Eclipse策略经理John Kellerman访谈
2001年11月,IBM向开源社区捐献了Eclipse代码,自此Eclipse在开发者社区得到飞速发展。2006年1月19日,Eclipse国际高峰论坛也首次登陆中国,在清华大学信息科学技术大楼举行。在这次Eclipse大会上developerWorks编辑团队与IBM的Eclipse策略经理John Kellerman进行了座谈,聆听了他对Eclipse历史的追溯、对Eclipse架构的分析、对Eclipse现状分析、对未来发展的展望。
John Kellerman,IBM软件部Rational产品总经理,与1984年加入IBM,一直从事应用开发工作。2000年初,John开始加入了Eclipse项目,现在任职IBM Eclipse策略部总经理。他现在的主要工作是在Eclipse基金会、Eclipse社区中代表IBM的利益,与Eclipse成员公司合作。


560)this.style.width=560;" border=0>

developerWorks:IBM开发工具的发展经历了从最初的Visual Age到今天基于Eclipse 3.0的产品,可以说是非常大的飞跃,您可否给我们谈一下这其中的历史?
John:我在加入Eclipse项目之前,是IBM Visual Age for SmallTalk的产品经理。Eclipse起源的一个非常重要的原因是,当时IBM面临着一些挑战需要去解决,即IBM开发工具Visual Age for Java和WebSphere Studio很难集成到一起,而且底层的技术比较脆弱,因此进一步发展非常艰难,无法满足业界应用开发的需求。
因此,1998年,我们开始了下一代开发工具技术探索之路,成立了一个项目开发小组,经过两年的发展,2000年,我们决定给新一代开发工具项目命名为Eclipse,Eclipse叫法当时只是内部使用的名称。这时候的商业目标就是希望Eclipse项目能够吸引开发人员,能发展起一个强大而又充满活力的商业合作伙伴(独立软件供应商)社区。同时我们意识到需要用它来对抗Microsoft Visual Studio的发展,因此从商业目标考虑,通过开源的方式我们最有机会达到目的。此外,IBM推出了Eclipse试用计划,允许IBM以外的开发人员使用Eclipse。结果证明我们的决策非常正确,Eclipse从此在开发社区广为流传。Eclipse也就成为这个项目的正式名称。
我们认为开源Eclipse不能只是简单地贡献出源码,创建一个开源项目然后放在开源许可证下;我们需要建立起多家公司的合作关系,否则就不足信服,不是真正的开源项目,而只是IBM的一个项目。因此在2000年到2001年之间,我做的主要工作就是去拜访一些公司,与他们谈论Eclipse,邀请他们加入Eclipse项目。您可以想象,这是非常有趣的谈话,最终,我们与8家公司达成了一致,其中包括一些IBM的竞争对手WebGain、Borland,还有一些盟友如Rational(Rational当时还没有被IBM收购)。
2001年12月,IBM向世界宣布了两件事,第一件是创建开源项目,既IBM捐赠价值4千万美元的源码给开源社区;另外一件事是成立Eclipse协会(Eclipse Consortium),这个协会由一些成员公司组成,主要任务是支持并促进Eclipse开源项目。
从此,我们看到了Eclipse本身、会员、插件(plug-in)和Eclipse社区飞速成长。2003年,我们意识到这种会员模式很难进一步扩展,有些事务操作起来很困难,比如无法筹集赠款、无法成立合法理事会,这主要是因为Eclipse协会不是一个法律上的实体;此外,尽管Eclipse成功有目共睹,但仍然有些业界成员没有加入,他们认为是Eclipse的真正领导者是IBM。因此我们认识到创建一个独立于IBM的Eclipse将会对Eclipse的发展非常有利,于是IBM与其他成员公司合作起草了管理条例,准备成立Eclipse基金会(Eclipse Foundation)。2004年初,Eclipse基金会正式成立。
developerWorks:Eclipse由一个很小的核心和核心之上的大量插件组成,这种插件式架构给当时的开发社区带来耳目一新的冲击。您能给我们介绍一下Eclipse插件架构吗?
John:对于Eclipse插件架构,一个很好的比喻是Web浏览器,它也有插件,Eclipse插件和浏览器相似,都是要解决扩展性问题。对于一个Web浏览器,如果你想既能浏览多媒体动画,又想浏览PDF文件,那么你就需要两个不同的插件,才能保证两种内容都能在Web浏览器中显示。Eclipse也一样,通过它的插件模式我们可以安装不同的插件来进行HTML的编辑、数据库的设计、Java开发、C++开发等等,所有这些开发工作完全在一个Eclipse安装平台上进行。而且Eclipse模型所能做的远超过了这些,理解Eclipse插件的关键是首先要理解Eclipse扩展点,正是这个扩展点帮您在Eclipse中添加新功能。例如,如果希望在菜单中添加一项,就是通过Eclipse扩展点实现的。
所以当Eclipse插件实现了一个扩展点,就创建了一个扩展,此外,扩展还可以创建自己的扩展点。这种插件模式的扩展和扩展点是递归的,而且被证明是非常灵活的。记得当我们着手对Eclipse开发进行区域性调查时,最初的决定之一是:"We will eat our own dog food"(编者注:谚语,指一个公司在日常运行中使用自己的产品),即Eclipse团队要使用Eclipse进行Eclipse的开发。事实上,Eclipse本身是一个核心的运行时绑定了一些在插件之上构建的插件,换句话说,Eclipse本身就是一系列的插件。这样随着使用Eclipse构建Eclipse的经验累积,这种插件模式就变得日臻成熟。
developerWorks:IBM对Eclipse已经投入了非常多的资源,IBM在Eclipse的将来会扮演什么角色呢?
John:目前Eclipse项目有100多个,IBM参与了其中超过一半的项目,有3个主管在主持Eclipse相关的工作。2005年我们还赞助了一些Eclipse创新基金和Eclipse奖学金。IBM承诺在未来的几年内会一如既往地参与Eclipse研究,我们将会看到IBM研发出新项目,而在某些Eclipse项目上减少参与,这要看IBM的商业目标。最近我们提议了一个项目叫Beacon,是关于Eclipse流程框架的。我们将捐献一些Rational Unified Process(RUP)技术,基本上这个提议是要提供流程方面的内容。IBM现在与一家叫做Zend的公司合作,希望在Eclipse上开发出用于PHP的开发工具。从商业方面看IBM,您会发现Eclipse是Rational软件开发平台的基础。此外由于Eclipse的插件模式、扩展性、集成性,我们为Rational,WebSphere,Lotus和Tivoli构建了统一的平台。
developerWorks:目前IBM的五大旗舰品牌都有基于Eclipse的产品,这对IBM有什么好处?
John:我们的目标是创建集成统一平台,我们有基于Eclipse构建的DB2,Rational,WebSphere等工具,这样客户就可以共同使用这些工具,有统一的界面风格,使用起来非常方便。对IBM自身来说,各个开发部门就可以关注于软件的核心性能开发,而不必要浪费资源做一些重新实现的工作,从而DB2开发部门就专注于数据库开发、WebSphere专注应用服务器的开发、Rational专注于建模、源代码管理,至于其他方面的辅助开发对于Eclipse来说是共同的。
developerWorks:Eclipse是一个开源IDE,那如何通过Eclipse创造商业利益呢?
John:对于IBM,在Eclipse技术开发方面与上百家公司合作,因为IBM看到了Eclipse作为通用的、开放的、标准的技术基础,其价值日益成长。当然,这种基础技术是不会带来创收的,没有人可以使用Eclipse技术来赚钱,但这并不重要,就像Borland,Sybase等公司都在花费钱做同样的构建工作,当然我们在这方面还有合作,但是我们还专注于将我们的核心功能组件构建在Eclipse平台上,例如,IBM的RationalApplicationDeveloper,它是使用Eclipse作为基础,然后在这基础上添加了建模插件、Web开发插件,还有其它更有价值的插件,这些插件我们是收费的。这就是使用Eclipse进行商业创收的模式之一。
此外,人们还可以直接为Eclipse构建插件,然后出售这些插件来赚钱,因为插件可以使用商业许可证发行。事实上我们建立Eclipse公共许可证,就是为了让Eclipse能很好的被商业采用,从而可以用它来赚钱,Eclipse的所有成员公司基本都是商业软件提供商。目前全球有上百万开发人员在使用Eclipse,因此中国开发人员完全可以构建有价值的插件和工具,然后进行销售。同时IBM有一个合作伙伴计划,帮助合作伙伴宣传在IBM基于Eclipse的产品之上构建的应用。
developerWorks:富客户端平台(RCP)目前是比较流行的应用开发模式,请谈一下Eclipse是如何支持富客户端的?
John:在Eclipse的早期,有些用户试图除了将Eclipse用于开发工具基础平台外,还用作更普遍的商业应用基础。他们认为一个IDE就是一个特殊的富客户端应用。这就是开放源码开发的魅力所在,当这些用户试着用Eclipse作为通用富客户端时,他们就把这些想法建议反馈给Eclipse开发小组。就这样Eclipse经过了2.0到2.1的发展,不断收到来自社区的建议和反馈,终于到了一个通用化的阶段。在3.0版发行时,我们觉得时机成熟,于是正式声明将Eclipse作为通用的富客户端和IDE。
其实最早的反馈是来自我们的Lotus开发小组,他们在Eclipse3.0之前就意识到可以使用Eclipse来提供他们Workplace客户端的富客户端版本。从Eclipse 3.0到3.1再到3.2,我们看到富客户端平台应用的快速增长,同时也收到越来越多反馈帮我们完善提高。
我最欣赏的RCP应用之一是在EclipseCon 2005上的一个演示,演示的是美国国家航空航天管理局(NASA)的一个项目,当时NASA在加利福尼亚州有个实验室叫Jet Propulsion Laboratory(JPL),负责火星探测计划,他们的管理用户界面就是一个Eclipse RCP应用,通过这个应用,加利福尼亚州的工作人员就可以控制在火星上运行的火星车。在演示过程中,有人问为什么使用Eclipse,回答是,使用Eclipse这门技术,他们不用担心,而且还节省了不少纳税人的钱,因为他们只需要集中资源开发控制火星车的应用就可以了。
developerWorks:Eclipse现在非常热门,您认为从微软的开发平台转到Eclipse上容易吗?
John:这个问题可以从两方面来说明,一是软件提供商从Visual Studio移到Eclipse上,另一方面是微软平台上开发的程序的移植。
Eclipse提供了不同的集成方法,可以是非常轻量级的集成,即只是简单的调用和返回。Eclipse可以处理ActiveX控件,这样Word,Excel就可以在Eclipse里打开,这是另一种集成模式。有些供应商选择把他们的工具封装在Java层,即保留C/C++工具,封装在Java里与Eclipse进行通信。如果软件供应商希望将工具构建成Eclipse插件,那么我们通常建议在Eclipse中用Java重新实现,因为几乎所有的微软工具都是C/C++工具。因此工具的迁移可以分三步走:轻量级集成、重量级集成和重新实现。
如果要迁移程序,Eclipse提供了一些设施。但难易程度取决于程序是用什么工具开发的,因为最重要的部分是(版本控制系统的)代码库本身,如果代码库同时支持Visual Studio和Eclipse,那就容易的多。
此外有一些公司提供了迁移系统,在Eclipse网站的社区部分中可以查看这些公司列表。
developerWorks:对个体开发人员,他们如何能够参与Eclipse项目?
John:Eclipse是完全开放的,任何人都可以参与,参与的最简单方法是关注它的新闻组,选择一个感兴趣的技术领域,然后下载代码,自己做些实验,并在新闻组上回答一些问题,这样随着技术的提高,就可以向Bugzilla提交bug和修复包,或去修复其他bug。如果得到项目工作组的认可,便可以承担项目的一些义务,成为项目开发组的真正成员。此外还可以写一些文章发送到Eclipse组织,参加本地的Eclipse用户组等等方式。
如果有兴趣成立一个Eclipse开源项目,Eclipse上有一个文档“Eclipse Development Process”,描述了如何操作。
developerWorks:最后请给我们谈谈Eclipse下个版本的情况?
John:Eclipse 3.2计划于今年6月面世,名称是Callisto,选择Callisto作为名称是按社区要求的,因为这次目标是同时发布10个主要的Eclipse项目,以支持成员公司生态系统需求,他们将要把Eclipse框架集成到各自的软件产品中。
developerWorks:感谢您接受我们的采访。
来源链接:http://www-128.ibm.com/developerworks/cn/opensource/os-ecl-john/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐