前端社区在不久之前还有很多人为框架争论,其实这个话题早就有,『但早期争议的怒火延烧到今日,伤口仍未愈合』(DHH) 到如今还在给社区带来伤害,甚至于很多开发者被口诛笔伐,实际上是每个人都不愿见到的。我希望热爱技术的人能够聚集在一起,能面红耳赤的讨论也能以包容的心态学习,发现不同的思想,像广受好评的 ruby 社区一样,影响更多人。
当然将 Element 移植到 Angular 上,并非有这些政治正确的意义,但至少也是从 Vue 生态环境中学习、继承出的产品,让很多技术栈集中的朋友看到一些新玩法,甚至感染其中的一些人,领略新的理念。
说说这个组件库吧。大体我采用了原组件库的设计风格与样式,保持功能实现的不变,但在实现方式与暴露接口的考量中略有斟酌。大家知道 Vue 与 Angular 的思维方式有很大区别,各有所长,如果照搬原有的组件实现方式,虽然经过一些改动和变通仍旧能正常工作,但在 Angular 的使用者眼里却是怪里怪气,谁也不知道它该叫什么名字。为此我用更接近与 NG 的思维方式重新实现了它们,并考量改动了其中一部分 API,甚至于用 Element Angular 重写了文档网站。希望能够还原 UI 的同时带来一个原生原味的 Angular 组件库。
在代码风格上,为保持更高的源码质量也添加了很多 TSLint 规则,尽可能的使用 Angular 原生提供的组件交互方式,几乎没有用到 RxJS —— 这考虑到使用过多的依赖项会使 AOT 编译后的文件更大,而我无法确定用户究竟只需要多少操作符。在文档的示例部分,也展示了该如何启动、引入、使用组件,在我看来,你只需要看几分钟的文档即可快速上手使用它,像使用其他 Angular UI 组件一样的使用它。
最后,这是 Element Angular 趋于稳定的一个版本,预计在这周会发布一个 rc 版本。(文档目前使用 github.com,速度有点跟不上,最好自备上网工具。)据我所知,已经有不少开发者与企业在使用中。(强行劝用...) 对 element 熟悉或本身就是 Angular 的开发者可以关注这个组件库,也欢迎大家一起来丰富、完善它。
Angular是框架(或MVC应用程序框架)类列表中的第一个。目前最流行的Angular版本是1.x,它使用双向数据绑定扩展HTML,同时解耦了DOM操作和应用程序逻辑。
尽管版本2(现在是版本4!)已经发布了,但是Angular 1.x仍在开发中。
优点:
一些大公司正在使用的流行框架
开发现代Web应用程序的解决方案
是标准MEAN栈(MongoDB,Express.JS,AngularJS,NodeJS)的一部分,有许多文章和教程可用
缺点:
学习曲线陡峭
大的代码库
无法升级到Angular 2.x
Angular的实现
React
React是一个用于构建用户界面的JavaScript类库,也是去年最受关注的类库。它专注于Model-View-Controller(MVC)开发的“View”部分,使用它可以轻松创建保留状态的UI组件。它是实现虚拟DOM的首选类库之一,它的内存结构能够有效地计算差异,页面更新也更加有效。
统计显示React的使用度似乎很低,因为它是在应用程序中使用而不是在网站。
优点:
小巧,高效,快捷灵活
简单的组件模型
良好的文档和在线资源
可实现服务器端渲染
目前受欢迎,经历了快速增长
缺点:
需要学习新的概念和语法
构建工具很重要
需要其它类库或框架提供model和Controller部分
与修改DOM的代码和其它类库不兼容
了解更多关于React the ES6 Way
React的实现(非flux架构)
Polymer 虽然不是特别流行,但值得考虑,可以跨浏览器支持HTML5网页组件的类库
Polymer的实现
这篇文章分享之后我还是要推荐下我自己的前端学习群:731669587 ,不管你是小白还是大牛,小编我都挺欢迎,不定期分享干货,包括我自己整理的一份2017最新前端资料和零基础入门教程,欢迎初学和进阶中的小伙伴