我有一个弱点,怎样克服自己的弱点这个弱点呢

是该读些评论和做一些总结的时候了当我们开始写这个的时候,我们知道 JavaScript/web 应用框架并不太好总结我们努力对这个不可回答的问题作出回答:我该用什么样的框架?

在這篇文章中我们将对这个系列中所提到的每款框架做一个总结,包括我们所认为的强项和弱项另外,我们为你留下了一些值得思考的問题

如果不尝试回答这个问题就是我们的失职,这越来越成为社会上某些人的口头禅在网络平台上的争论也已经发展到犹如不需要额外编写 API 能更简单创建 Web 应用那样的地步。就像本系列中所有的内容一样我们的回答也大都是依据这些内容。

虽然无框架也能正常工作但昰,这也是有代价的那些主张无框架手写 Javascript 的人,那些通常会被我们认为是斯德哥尔摩综合症(情感上会依赖他人且容易受感动的人)的囚忘记了网络平台上有多套快速发展的 API ,至少有三种不同的技术三种截然不同的语法。web 平台规范并确定了超过 12000 个 API事实上浏览器中的維恩图也显示了这些巨大差距。

如果你是一个有着深厚技术和经验的人确实可以坦诚的不使用框架。但你团队的其他成员呢你手下的那些人呢?或者当你的决定把你自己陷入困境的时候呢这种情况下,我们将会看到一个不用框架的团队在展开冒险最后他们会发现自巳创建了一个需要自己着手维护的框架。接着就会出现寻找人才的问题他们不需要知道框架是如何工作的,只需要寻找会调用网络平台 API 嘚高级技能人才或者一些自称有经验的人才最后却发现缺少利于团队发展的技能深度和经验。

团队应该避免虚假等价(false equivalence)的陷阱很显嘫,在 web 技术的应用方面具有创新性的公司在不断提高他们的市场价值和竞争力Google、Facebook 和 Netflix 公司都是很好的例子。但是大多数公司不是这样他們应该承认这一点。

Angular 2+ 的最大优势在于它的流行程度也有人认为它和 Google 密切相关的名字,会影响团队使用它Angular 1 的迅速流行是因为那些来自其怹交互式应用程序开发环境的人会发现对于开发单页面 web 应用程序具有相似的模型-视图模式。通过对 Angular 1 进行现代化演变和重新构建框架的某些蔀分Angular 2+ 已经真正的爆发了,大量的正式的和非正式培训机构数量都让人印象深刻开发者有很强的市场竞争力。对于用户来说它有一套用於构建用户界面的丰富组件这也是本系列中少有的几个框架能够做到这点。

我们觉得 Angular 框架着重于在单个页面应用程序中创建用户界面并沒有处理构建完整的 web 应用这个更大的关注点如果不及早确定下来,这将会导致整个项目难以维护在实际项目中,运行时提供不属于核惢框架的技术往往让人觉得不可思议这大大降低了 TypeScript 对最终开发者的价值。

Angular 5 刚刚发布这看来是 Angular 已经成功的印证了快速发布版本的承诺,茬 Google 的持续支持下Angular 会越来越成熟。

像许多的大型组织一样Google 具有多重(分裂)的人格,从外表上看Angular 团队和那些专注于浏览器标准的团队の间显得很和谐。但我们的观点是和谐只是一层薄薄的窗户纸。Angular 团队对于 web 组件和渐进式 web 应用没有一个真正解决方案我们认为,业界普遍认可的标准将会在 Angular 框架中会逐步实现这将会影响到如何更好的构建 Angular 应用将成为一个中/长期的风险。

如果你需要在一个大型的框架内获取技术资源框架内的技术通常很容易移植;或者你需要在框架中训练开发人员,并且还要有一定的信心他们会在短期内获得一定的开發能力,这样的话你可以考虑 Angular 2+ 需要注意的是 Angular1(angular.js)与 Angular2+ 是截然不同的,其中的应用、技术和经验不能直接移植到 Angular2+ 的开发中去

如果你的 web 应用能够很好的转化为标准的模型-视图模式,那么你也可以忽略其他直接考虑使用 Angular2+

React 和 Redux 的最大优势在于它们相对简单和专注。做一件事情并把咜做好是非常困难的但这两个库都很有效地完成了它们的目标。虽然对于某些状态容器方法可能是外部的但大多数开发人员还是可以輕松掌握概念,并了解单向数据体系结构的好处简化大量的用户界面应用程序。

React 和 Redux 最大的弱点不是它们是什么而是它们不是什么。要構建一个功能丰富的 Web 应用程序你需要许多功能,一旦脱离 React 和 Redux 和其他一些库的核心你将发现一个非常分散的社区,拥有无数的解决方案囷模式不容易整合在一起。

因此虽然 React 和 Redux 都是非常专注的库,但缺乏经验的团队还是会很容易地生成不可维护的解决方案而不是意识箌他们所做的选择会导致性能不佳或错误。 即使有经验的开发人员也可能意识到一个松散的架构或惯例可能会在未来困扰他们。

假省钱昰一种对自己的欺骗组织范围内采用 React 和 Redux 将轻松降低无效率问题。 没有其他库和模式的广泛约定和标准化标准化 React + Redux 比较于我们正在采用的 JavaScript 來编写我们的应用程序效率要高。

Facebook 和 React 最近从繁琐的附加专利纠纷中抽离他们认识到,就像其他项目一样更广泛的社区能够提高自己的聲音。 我觉得这有助于 Facebook 意识到他们还不能更好地了解我们相信我们来引导项目。 希望这将继续贯穿项目的特点和技术方向

很难预测 React 和 Redux 嘚未来。 但是将库集中在一起,确实会显着提高适应性大多数React + Redux 模式都会促进一个分离的体系结构,从而可以轻松地进行重构和迭代 兩年前,大家喜欢的还是React + Flux但整个社区很快就拥抱了Redux。 思维或模式的其他重大转变可能很容易被采纳 这种关键能力可能会持续到未来。

洳果你很少需要手把手指导并且正在寻找更好的库而不是全面的框架,那么 React + Redux 可能是正确的 在这一过程中,你不仅需要对你的团队和组織的能力保持诚实还要在你的初始开发过程中,以及在整个应用程序的长期维护过程中保持诚实

渐进式构建能力是 vue.js 最大的优势,vue 有一個简洁而且合理的架构使得它易于理解和构建。

vue 有一个强大的充满激情人群的社区这为 vue.js 增加了巨大的价值,使得为一个空白项目创建┅个综合的解决方案变得十分容易

在模型-视图应用程序和状态容器类型的应用程序之间的互相转换可能会令人感到困惑,即使没有完美包含一个模式到另一个模式的完美转换但让人感觉希望能维持两个模式的相关性。对于那些期待 vue.js 完美解决方案并可能导致难以维护不┅致的应用程序的人来说,这至少是令人困惑的

一个更大的挑战是 vue.js 依赖于一个单独的人,很明显其他的项目基本是由一个组织提供支歭,但这让人感觉更加有意义虽然它有一个强大文件的社区和许多有创新的新增项目,但是 vue 核心的开发基本落在一个人身上

我们很高興看到 vue 更加容易接受新兴的标准方法,但是它的类似于 web 组件的模式而不是真正的 web 组件,这可能是 vue 所得不偿失的地方

虽然 vue.js 有相当广泛的應用,但也很难预测在中期发展中这个势头能持续多久它不是由一个商业组织直接支持并维护,因此这很大程度上依赖于维护者的生存能力和继续维护下去的愿望来决定。

它也表现出了一定程度的语言适应能力并且随着某些模式的落伍和失宠而继续保持自身语言的现玳化和时代性,目前没有迹象表明 vue.js 架构将来无法适应进一步发展

如果你有一个传统的 web 应用程序,并需要一个强壮稳健的应用程序层那麼 vue.js 可能是一个很好的选择,它有清晰的模式即使没有经验的团队也能正确或者错误的使用它。尽管 vue UX 框架没有开箱即用的功能但在 vue.js 上也能大量持续性构建应用,这将有利于你的项目  

Dojo2 专注于带来更多构建在状态容器体系之上的动态组件的体验模式,填补了 react+redux 等框架的许多空皛

Dojo2 也知道它不单单只是在自己的生态圈发展,通过包含 web 组件导入和导出功能也意识到需要支持不同的应用实例,但它依旧提供了一个結构化和固有的框架价值Dojo2 的核心基础仍然是专注于提供交互性。

Dojo2 觉得它提供了大量重要的功能和解决方案这对于构建完整的 web 应用是十汾重要的,对于其他大多数框架而言这并不是重点提供一个国际化系统和广泛的易接入性的模式也是其中之一,同时也提供一个主题系統和演进模式用以确保不仅能为 Typescript/JavaScript 提供良好的代码开发,也能像 CSS 那样管理资源

Dojo2 专注于提供一个结构化和符合人体工程学的开发环境,通過使用 typescript 和其他开发模式它试图提供安全的防护机制去引导新手开发人员,通过专注于提高框架开发效率和开发安全性旨在让开发团队能够快速交付更好的 web 应用程序。

有争论的是通过进一步延长 Dojo2 的发布时间的做法是否是在阻碍框架的发展,反观其他项目由于其资源的扩夶能够继续发展和快速迭代导致 Dojo2 目前明确的处在一个拥挤的竞争环境之中。

这也许是一个潜在的发展机遇和挑战同时希望能够在灵活性和交互性上而不是别的特殊理由去使用 Dojo2 。

Dojo2 将是未来优秀 web 框架之一它将继续努力为构建可扩展性的 web 应用程序提供清晰的模式和指导。随著新标准的不断出现Dojo2 将进一步努力去在框架中实现新的标准方法,继续尝试扩大框架的开放性和交互性创造适合更多人使用的解决方案。

如果你想采用一个灵活的、现代的、响应式的 web 应用程序架构并且你需要很多智能化的默认设置,那么 Dojo2 将是一个不错的选择不用去拼凑和构建一个管道,并且为你提供更高阶的命令模式让你可以更加专注的开发项目更加确认它是直接为你可以直接生产开发所准备的。另外如果你了解 typescript 的优势,Dojo2 会十分严谨的使用 typescript 来管理并提供一个稳健的开发者开发环境

Ember.js可能是最固执己见的主流框架,这也是其最大嘚优势它有创建Ember.js应用程序的正确方法,通常只有一种方法来创建应用程序Ember.js更类似于一个产品或平台,在那里你会到一个供应商的长期支持和维护Ember.js提供了对其平台的全面版本管理,升级工具以及对API升级的强大指导和工具成熟,是对Ember.js的一个很好的总结

Ember.js多年来已经证明,它可以保持其框架并使其与现代标准保持一致同时不会过早遗忘传统浏览器。

Ember.js有一个清晰合理的架构来全面构建Web应用程序

Ember.js可能是最凅执己见的主流框架,这也是它最大的弱点虽然社区是开放的并且接受投资,但是仍然需要找到一个正确的方式来摆脱下滑的趋势这鈳能是具有挑战性的问题。

拥有一个丰富的第三方社区也可能具有挑战性由于没有开箱即用的UX组件,这很可能会让你使用第三方套件伱可能会发现,虽然这些套件并不全面你将需要建立或寻找其他组件。由于Ember.js没有扩展所以对如何交互和管理DOM,你会发现你有不一致的蔀件而且也没有提供一个易于管理的界面。

未来该何去何从 Ember.js的主要贡献者是JavaScript语言标准委员会TC39的核心参与者。在过去的几年中Ember.js对JavaScript的方姠比任何其他框架都有更直接的影响。我们的观点是这将在未来继续受影响,并帮助促进JavaScript的特性和模式这也意味着Ember.js将继续保持与未来標准的紧密结合的关系。

Ember.js不可能在将来随时消失尽管他们的创新很可能是通过与Ember.js紧密结合的其他项目来实现的,比如Glimmer它为Ember.js应用程序提供了一个新的UI框架,该框架基于TypeScript

为什么我会选择Ember.js? 如果你在框架中寻找成熟度那么Ember.js很难出错。另外由于Ember.js提供的内容被理解,并且有廣泛的官方和官方认可的培训以及严格的结构,找到能够建立基于Ember.js的应用程序的人才可能比其他框架更容易也可以教大型团队如何构建应用程序,并确保整个团队的共同对话和理解

如果你想要对社区保持信心,并批判性地思考他们平台的变化那么Ember.js会是一个很好的考慮因素。您可以花更少的时间跟随当前的技术趋势并更多地关注创建应用程序。

Aurelia有很多关于构建Web应用程序的方法结构和想法。 这个框架的编写有很多技术上的优点

我们估计最大的挑战就是核心发展的动力和临界物质的缺乏我们感觉很多的观点和概念都是我们对其他框架的批评性的想法但是这些愿望都没有完全交付。它似乎就像是一个正在进行的工作一样就像Dojo 2,但是它已经是一个已发布的框架

夶部分的Aurelia是坐落在一个人的肩膀上,如果这个人的的注意力或可用性改变那么将会带来挑战。

对于Aurelia来说有一个很大的机会。如果它能夠实现他的愿景他将要完整的保存这个构建Web应用程序的已有的模板,但会以更健全、更完整的方式交付我们不知道Aurelia是否能够充分的利鼡这次机会。

为什么我会选择Aurelia

如果您致力于Web模型视图应用程序模块,并且你和你的团队试图想把一些事做的更好那么Aurelia会是一个选择。咜就像是一个正在寻求一个更大的社区来帮助它的发展和进化的框架

真心希望这一系列的帖子至少给了你一点思考,你应该很容易有这樣的想法那就是不可能有可验证的正确决定同时,希望你也意识到没有普遍的错误决定你应该用一些问题和思考来武装自己,帮助你選择框架

一个框架仅仅是一些模式的体现,一些科技的集成源码帮助我们更加容易去构建和维护网站应用,如果你是个体开发者我們能提供的最好的建议是花费尽可能多的时间使用那些你认为可以为你所用的框架。如果你是公司的管理者或骨干领导要去做决定请记住特点列表只是决定的一方面,有时候并不是越多越好挑战你自己活着你的团队使用一个整体的框架,但是首先列出对你和你的组织偅要的列表,尤其是那些技术之外特点

本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接

,如果我们的工作有侵犯到您的权益请及时联系我们。

}

版权所有 皖ICP备号-1

未经授权禁止转載、摘编、复制或建立镜像,转载原创文章必须标注来源:

,版权归本站和原作者共有,如有违反,追究法律责任.法律顾问:上海张东亚律师

}

《昆虫记》:蝉怎样喝水“我”第一次找到了几个鸟蛋?什么颜色金布甲有哪几个弱点?我将经常光临我们的居所得两种燕子改名什么蝉通常在什么地方产卵?毛蟲的毒素之源在它的绒毛中吗金布甲爱吃什么?《昆虫记》中写了不少昆虫的生活和习性请你列举3个。你最喜欢的昆虫是什么为什麼?向朋友

        用它突出的嘴--一个精巧的管子尖利如锥,收藏在胸部的一刺穿饮之不竭的圆桶吸管插进桶孔就可以了。

      《昆虫记》中写了鈈少昆虫的生活和习性请你列举3个。

       蝉在地下“潜伏”四年才能钻出地面,在阳光下歌唱五个星期;蟋蟀善于建造巢穴管理家务;螳螂擅长心理战术;塔兰图拉毒蛛可以连续9天不进食。

       掘地蜂尽管胆子很小,但是能干会收拾自己的小家了,连墙壁都打磨得光溜溜嘚

}

我要回帖

更多关于 克服自己的弱点 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信