秒速赛车技巧-秒速赛车规律_官网-秒速赛车走势图
当前位置:主页 > 秒速赛车技巧 > 正文

秒速赛车看号技巧ExtJS十年浮沉录

  拥有十多年历史的ExtJS仍然是一个很好的企业级应用开发平台。从2006年到2015年,我一直活跃在Sencha社区,在论坛上回答别人的提问、发表文章、出书、录制教程、在全球各地开展培训。

  这篇文章将带你一览ExtJS的历史,顺便表达一下我那沉寂了将近五年的观点。

  Sencha官方博客上发布了一篇博文,宣布Sencha把自己卖给了IDERA。

  一开始我感觉很兴奋,后来从兴奋变成疑惑,而且我相信不止我一个人有这种感觉。

  一些Sencha的社区拥护者在Sencha的博客和论坛上表达他们的各种疑虑,毕竟在过去几年,这门技术的流行度一直在下降,而且在行业内也很难找到这方面的专家级人才。

  对于我来说,这个持续了11年的时代要终结了,不过我觉得ExtJS仍然值得我们一提,因为世界各地的拥护者们仍然在使用它。

  2005年是Web开发技术的发展元年。大部分人都应该记得单页应用(SPA)的诞生,当然这要得益于众多JavaScript库的支持。

  2005年,谷歌发布了测试版本的谷歌地图。这在当时是一个跨时代的壮举。我们终于有机会看到不需要刷新整个页面就可以更新状态的地图,我们也看到了异步操作是如何给网站用户带来良好体验的。

  Web开发者第一次在一个免费的框架中看到了Prototype+Scriptaculous组合所能带来的功能,当然,YUI提供了更多的特性:

  很多开发者在网站上使用YUI,我也使用了YUI的组件库。不过,我感觉很多功能做得并不是很好,在SPA中使用它们并不是很直观起码第一个版本是这样的。

  2006年8月,Jack Slocum(Alta5的CEO)在他的博客上分享他对YUI做的一些实验性改进。时间一长,这些改进变得越来越复杂,于是Jack把它们打包,变成了后来的YUI-ext,也就是ExtJS(Extensible JavaScript)的前身。

  YUI-ext Grid组件的推出从此改变了这个项目和整个社区的轨迹,GridPanel成为大多数应用的核心组件。

  在项目的早期阶段,Jack不断地往框架里添加各种组件,如动画组件、模式窗口、选项面板、可调整大小元素和布局管理器。这些组件有自己的渲染方式,并非只是对YUI的扩展。

  YUI-ext的文档中心在当时看来也是一个开创性的设计,它是基于框架本身构建的,所以在使用文档时你就可以看到这个框架的价值所在。

  现如今,我们可以看到所有的文档,但在当时,JavaScript框架能够提供完整文档的并不多。所有的YUI-ext开发者都很珍惜它的文档,因为他们不仅可以查阅它,还能看到活生生的组件示例。

  YUI-ext为Web开发者奠定了一个前所未有的基石,很多开发者开始涌向这个框架,于是一个新的社区形成了,YUI-ext迎来了爆发式的增长。

  2007年1月,我们发现Jack忙于推出YUI-ext 0.40,也就是在这一版本里,框架的命名空间从YAHOO.ext变成了Ext。

  2007年,社区见证了这个框架的商业化过程,他们成立了ExtJS公司,发布了商业许可。这一举动也得到社区的大力支持,因为我们都看到了这个框架的价值。

  短短的几个月,Jack Slocum发展了大量的社区贡献者。不过,因为框架商业化许可问题,社区出现了分裂,这个问题至今仍在困扰着整个社区。

  ExtJS 1.0被社区广泛使用,这是YUI-ext变身之后的一个重大版本,我们在这一版本中看到了很多新的部件和主题样式。

  这一版本继续带来革命性的变化,它引入了“XType”,开发者可以基于JSON配置文件生成UI,并带来了更多的UI组件和布局选项、一个更新过的面向对象工具套件、增强的组件生命周期和一个全新的文档系统。

  XType彻底改变了ExtJS应用程序的开发方式。一方面,可以在服务器端生成UI配置,以此来控制应用程序的渲染方式,另一方面,开发者也可以单独使用JSON来生成整个应用程序。

  在ExtJS开发早期,Jack与社区讨论过许可变更的问题,并公开了他的商业化设想。Jack的帖子得到了65个回应,于是他接着发了第二个帖子继续讨论这个话题。

  YUI-ext是基于BSD许可发布的,而ExtJS 1.0则是基于LGPL许可。到了ExtJS 2.0.2,许可变成了GPL,网络上因此掀起了轩然大波,也就是在这个时候,社区开始出现了分裂。

  Ext团队创造了一个不可思议的框架和一个活跃的社区,这才是让人感到伤心的地方。它拥有一个开源框架所应该具有的一切特点。而现在,Ext正犯下一个错误:他们破坏了社区对他们的信任。或许,这一决定可以带来眼前的利益,又或者是长期的业务。但我看不到社区会再像以前那么繁荣。从长远来看,Ext或许会有一个成功的商业产品,但他们会丧失广大社区的支持。

  很多人带着遗憾离开了社区。因为社区的负面情绪太过强烈,以致于Jack Slocum开始受到人身攻击,他不得不公开在博客上声讨。

  这一版本引入了Ext.Direct,一个服务器端平台,用于快速地构建RPC调用。这一版本是2.0版本之后的一个重大版本,ExtJS的开发者也在持续增长。

  2010年6月,Sencha宣布成立,办公室坐落在Palo Alto。Sequoia资本为Sencha融资,这家新成立的公司看来前途无量。因为资本的流入,Sencha开始雇佣大量工程师,大肆开发新产品。Sencha推出了Sencha Touch,世界上第一个H5移动开发框架,当然也有其他一些产品,不过它们在市场上并没有太大反响。

  值得注意的是,Sencha通过收购jQTouch、Raphael JS等公司来扩展它的工程团队,也雇佣了重要的社区贡献者和追随者。这些举动也给社区带来了重要影响。

  4.0版本野心勃勃,可以说这一版本是从1.0到2.0重写之后的一个最重大的变化。我为此写了我的第二本书《Ext JS in Action》。

  引入了全新的类系统。开发者只需要一个简单的方法调用就可以定义好他们的类并注册好XType。除此之外,它还引入了Java和Ruby风格的语法,包括Static和Mixin。

  在之前的版本,开发人员只能通过覆盖、扩展类将额外的功能注入到组件中,而这一版本引入了基于组件的插件。

  GridPanel和TreePanel经过彻底的重写,与之前的版本看起来更像是表亲,而不只是远房亲戚。开发者可以在两种UI模式中重用大量的代码,并基于新的插件架构使用编辑和BufferedView等特性。

  受到Adobe Flex的启发,引入了两个新的布局VBox和HBox,很快在社区中引起了关注。他们重写了布局引擎,提供代码可重用性和更好的跨布局支持。

  引入了Sencha Cmd,一个命令行工具,可用于快速启动、升级和构建应用程序。

  2011年4月26日发布的4.0版本招来社区大量的负面评价。推出的新功能以牺牲性能为代价,而这些性能问题直到几个月之后才得以解决,这也是导致社区进一步分裂的根源。

  GridPanel是使用最为广泛的一个组件,为了提升性能,他们对它进行了重构。其他组件,如TabPanel也同样存在性能问题。有些社区成员甚至形容ExtJS 4.0“慢得像狗屎”。

  Sencha立即启动了一场bug修复活动,以此来平息社区民愤。直到4.1版本性能问题才得以解决��而在4.2版本里带来了更快的缓冲式GridPanel组件。

  在我看来,这一版本就像是ExtJS的“Windows Vista”。尽管4.0版本的新架构相比之前跨出了一大步,但核心组件的性能和稳定性问题却促使一些开发者抛弃了这个框架。

  4.0版本也是第一个使用SASS进行主题快速变更的版本。伴随着4.0版本的发布,社区本身也发生了一些变化。我们看到Sencha的核心成员一波又一波地离去,这些举动也给社区带来负面影响。

  后来谷歌发布了AngularJS,很多开发者头也不回地弃ExtJS而去。

  相比4.0版本,这一版本在架构方面的改动较小,不过也引入了一些新的核心特性,这些特性在一开始被证明是很有用的,但也让ExtJS应用变得更复杂。

  这些新特性包括Model View ViewModel(MVVM)。大多数开发者习惯了4.0版本的MVC模式,并认为它足以胜任大型可伸缩应用的开发。但其实Sencha并不是很想引入MVVM,但既然它被认为是一个最佳实践,很多开发者也开始接受这种方式。根据应用的实际规模情况,项目源代码里可能会增加数百个额外的视图模型文件。

  5.0版本开始支持平板,社区也十分关心这一特性,因为之前的版本在这方面做得不是太好。

  随着5.0版本的发布,Sencha改变了定价模型,而这一“创举”给社区造成了不可挽回的伤害。

  在一开始,Sencha提供的是单副本许可。他们在2014年将许可改为5个副本为单位,从而造成社区开发者大量弃用。社区开发者开始在Twitter、博客和Sencha论坛上表达他们的遗憾:

  看来不止我一个人对如此高的定价感到震惊。我不敢相信我刚刚在新项目中推荐使用Ext/Touch,我想是我错了,我要改变主意,寻找其他替代方案。

  社区开发者的骚动让Sencha的决策者意识到自己的错误。如果他们能够改变主意是最好了,但从短期来看,这样会帮他们赚到更多钱。不过从长期来看,越来越少的开发者会使用这个框架,所以未来的业务一定会受影响。开发者生态系统是需要长期去维护的,为了获取眼前的利益而不顾长远发展是不可取的。 我想说的是,如果你们在寻找替代Sencha Touch的方案,可以看看Ionic Framework或Kendo UI。不要因为组件数量问题影响了你的决定,质量才是关键。不管使用何种方案,你都可以开发出好的应用。

  ExtJS和Sencha Touch的合并在这一版本中有了很好的表现。这次大统一得到了很多开发者和企业的肯定,因为原先Touch和ExtJS之间的差别正是他们的痛点所在。

  与早期的ExtJS社区一样,ReactJS社区提供了很多自由开发的组件,从而让开发者从ExtJS到ReactJS的过度变得简单了很多。ReactJS社区十分活跃,生机勃勃。

  Sencha错误的定价策略和发布的若干不济事的版本伤害了整个社区和行业,而且已经到了不可挽回的地步。

  我几乎置身ExtJS社区十年,在公司里使用Sencha开发了很多关键的应用。而在过去三年里,这些公司决定出资从Sencha平台迁移出来,因为他们不再相信Sencha了。IDERA收购Sencha只会将这种恐慌放大,进一步让摇摇欲坠的社区不堪一击。

  我在2015年离开了Sencha社区,但我仍然保持着对早期ExtJS社区的美好回忆。我很庆幸离开了ExtJS,重新把精力投入到新的技术上。Facebook、秒速赛车看号技巧微软和Twitter这些大公司在支撑这些新技术,给全球的JavaScript开发者带来了福祉。Sencha应该能够从中得到启发,在还有机会的情况下做出一些举措来重振他们的技术和社区。

  本站(LinuxIDC)所刊载文章不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。

版权保护: 本文由 主页 原创,转载请保留链接: http://www.ecentiv.com//html/692.html