前端主流框架思考 下载本文

内容发布更新时间 : 2024/11/10 4:38:09星期一 下面是文章的全部内容请认真阅读。

前端主流框架思考 我是否需要使用框架?

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

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

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

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

Angular 2+

有什么优势?

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+

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

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

如果你对 Google Material UX 设计模式满意,那么 Material Angular 是遵循该模式的一种快速、简单且可靠的方式。