高手问答第 143 期 — 重新认识前端开发利器 Angular

局长 发布于 2017/02/27 16:25
阅读 6K+
收藏 58

OSCHINA 本期高手问答(2017 年 2 月 28 日 — 3 月 6 日)我们请来了 @大漠穷秋 为大家解答 Angular 相关的问题。

@大漠穷秋 章小飞,Google Angular developers PM,目前负责 Angular 在国内的推广工作。他的 Blog 地址是 https://my.oschina.net/mumu/blog

毫无疑问,当下的前端圈是火热的,各种技术、各种框架和工具让人看得眼花缭乱,更是让不少开发者望而生畏。虽然如此,但作为开发者,对待技术发展还是要保持开放的心态,保持好奇心,持续学习。

Angular 目前在前端圈子的火热程度也是有目共睹,因此本期的高手问答我们邀请了 @大漠穷秋 和我们一起探讨关于 Angular 的问题。

Angular 2 正式推出也已经有一段时间了,作为一个革命性的版本,Angular 2 具有许多优异的特性。它不但大幅度简化了 Angular 1 中的诸多概念,引入了更加现代化的设计理念,降低了学习曲线,而且在技术实现上也有了大幅提升。它提供了更加强大的依赖注入机制,提供了更加快捷高效的单元测试写法,它还分离了渲染引擎,使其不但性能有了本质的提升,而且可以实现离线编译、原生手机 UI 和服务端渲染(提升首屏加载速度,并支持 SEO)等特性。

本期的主题是 Angular,所以大家不妨就 Angular 方面的问题进行提问。下面是一些关于提问的内容:

  1. 与其他框架相比,Angular 有什么优势?
  2. Angular 有什么缺点?
  3. 既然 Angular 2 已正式发布,是否还有必要选择之前的版本?
  4. 请问最近发布的 Angular 4 这个版本号是怎么回事?

……

当然,这是给大家提供一个提问的方向,大家可以围绕上面提到的点进行提问,也可以就 Angular 相关的问题进行提问。

如果还有其他相关的问题,不妨带着问题进入本期的高手问答 —— 重新认识前端开发利器 Angular。

OSChina 高手问答一贯的风格,不欢迎任何与主题无关的讨论和喷子。

下面欢迎大家就 Angular 相关的问题@大漠穷秋 提问,请直接回帖提问,提问的时候请描述清楚具体的场景,以方便回答。

加载中
2
呆出水平
呆出水平
angular和vue都学了点皮毛,感觉还是vue用起来更舒服点
1
fengqiao1
fengqiao1

@大漠穷秋  你这两点所谓的优点都是几年前百度到的吧,不说说它的缺点! 可替代方案太多了.

特别是是它的一大优点就是Google,这算哪门子优点,谷歌也有很多失败的产品~

大漠穷秋
大漠穷秋
关于你这个喷子的恶劣行文,我专门为你写了一个帖子,希望你看到之后能自重https://my.oschina.net/mumu/blog/849942
0
大漠穷秋
大漠穷秋

还是先把小编的问题回答一下,以免夜长梦多。

1.与其他框架相比,Angular 有什么优势?

Angular的优点有很多,这里我只提几个最突出的两个。

第一个优势是:Angular来自于Google,这就意味着不太可能像其它框架那样,突然毫无预兆地弃坑。这么些年下来,突然弃坑的事情相信大家已经遇到过好多了。

第二个优势是,Angular是一个完善的体系,从TypeScript语言,到开发用的angular-cli环境,一直到UI组件库angular2-material,包括服务端渲染Universal,当前市面上能提供如此完善结构的前端框架并不多。

n
nino妈
同意,angular,typescript都是面向未来的,前途无量
0
大漠穷秋
大漠穷秋

2.Angular有什么缺点?

就像大家一直抱怨的,Angular的优点也是它的缺点,因为它提供了一个庞大而完善的体系,导致了它的学习成本是很高的。

当然,Angular核心团队也意识到了这一点,这也是为什么要找大漠穷秋来专门负责Angular在国内的推广的原因。PS:大漠已经放出了Angular2的视频教程,请看这里https://my.oschina.net/mumu/blog/834254

0
大漠穷秋
大漠穷秋

3.既然 Angular 2 已正式发布,是否还有必要选择之前的版本?

如果您的团队已经使用过Angular1,那么请不要担忧,核心团队明确承诺,Angular1.x至少会继续支持并演进2年的时间。

如果您是全新开始的,强烈建议直接使用Angular2,毕竟Angular2的概念模型比Angular1简单多了。

0
大漠穷秋
大漠穷秋

4.请问最近发布的Angular 4 这个版本号是怎么回事?

这个问题核心团队已经反复解释,只是为了让内部的几个模块统一版本号而已,没有做断代式的变更。所以请放心,Angular 4跟Angular 2并没有本质上的不同,只是个版本号而已。

thinkgood
thinkgood
那现在2系列的还在更新, 然后4.rc也在同步更新, 这是两个同时更新的版本了, 这两个是什么区别
0
devbean-豆子
devbean-豆子

@大漠穷秋

我们正在跟随使用 Angular 2+ 完成一个较大的项目。目前有几个问题希望了解下解决方案:

1. Angular 2 如何实现界面主题切换这种功能?由于 Angular 2 默认是将 style 编写到 component 中,所以是否必须使用 view encapsulation 为 None?

2. Angular 2 如何进行分包开发?这里的”包“不是 NgModule 这种,而是不同开发人员开发不同模块,然后组装成同一个系统,应该是类似 npm 这种独立的包结构。现在我们是用 angular-cli 架构项目,各个模块都是在 app 下面的文件夹,项目较大时,这里面的文件夹会非常多,而且不希望其他开发人员修改不属于自己的模块,请问针对这种开发, Angular 2 可以如何实现?目前我能想到的解决思路是发布成私有的 npm 包,然后相互 install 安装。但是这样的话,各个包的测试就需要编写一定的手脚架。请问有没有针对这种需求的实现思路?

3. 有没有可能将 Angular 2 与 OSGi 结合起来的实践?OSGi 有针对 AngularJS 的 bundle,但是由于 Angular 2 增加了编译环节,这部分是否不会很简单的实现?

0
大漠穷秋
大漠穷秋

1、style是可以抽出来的,写独立的样式文件。

2、没有这样玩过,每个业务模块做一个npm安装包看起来太复杂了。我看到有的企业是这样做的:开发人员分业务模块开发,每次有人提交代码之后,在服务器上自动构建。

3、没有接触过OSGi,如果你们有探索成功的案例,不妨分享出来,或许能帮到更多的人。

0
猪面
猪面

@大漠穷秋 Vuejs有饿了么的Element,React有阿里的Ant design,它们都有接地气的完整的组件Components连带设计资源,而且同时具备了桌面版和手机版。Angular2有没有哪些比较完整的组件库推荐?别说angular2-material哈,可以对比下以上那两个。primeng新版倒是多些组件了。

谢谢!

0
大漠穷秋
大漠穷秋

引用来自“猪面”的评论

@大漠穷秋 Vuejs有饿了么的Element,React有阿里的Ant design,它们都有接地气的完整的组件Components连带设计资源,而且同时具备了桌面版和手机版。Angular2有没有哪些比较完整的组件库推荐?别说angular2-material哈,可以对比下以上那两个。primeng新版倒是多些组件了。

谢谢!

看这里:https://my.oschina.net/mumu/blog/831790 第二部分【开源项目类】

你的这种类比看起来很合理,实则不然。打个比方,国内有小米、锤子、HW、中兴、VIVO等等,韩国有三星,但是这些从来都没有影响Android团队的使命和价值,你懂的。

猪面
猪面
哈,说得好,谢谢
返回顶部
顶部