45
回答
高手问答第 153 期 —— 从零到一,带你进入 Angular 世界
终于搞明白,存储TCO原来是这样算的>>>   

OSCHINA 本期高手问答(2017 年 5 月 16 日 — 5 月 22 日)我们请来了@接灰的电子产品 (王芃)为大家解答关于 Angular 的问题。

王芃,资深开发人员、创业者,曾经在多家软件公司历任项目经理、项目总监、部门经理,后创立成都索课科技有限公司。在多年的开发经历中用 Java 等语言开发了多种类型的项目,积累了丰富的开发经验。乐于分享,写了大量技术文章。

说起前端开发,Angular 无论如何都是绕不过去的话题。这个框架的火热程度无需赘述,因此,本期高手问答策划的这个主题希望和大家一起探讨 Angular。

关于 Angular,大家不妨带着自己的问题或想法进入本期高手问答 — 从零到一,带你进入 Angular 世界。

为了鼓励踊跃提问,@华章 会在问答结束后从提问者中抽取 5 名幸运会员赠予《Angular从零到一》一书。

本书基于 Angular 2,深入讲解基本概念的背后原理,以及众多优秀的设计模式和编程范式。摆脱复杂配置,带你立即进入 Angular 世界,从 0 到 1 开始搭建前端应用。

购买链接:https://item.jd.com/12059091.html

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

下面欢迎大家就 Angular 相关的问题向@接灰的电子产品 (王芃)提问,请直接回帖提问。

举报
局长
发帖于4个月前 45回/4K+阅
共有45个答案 最后回答: 3个月前

@接灰的电子产品

  1. 对于后端渲染有什么较好的实现吗?目前看官方的做法有一些限制;
  2. 对于构件移动端原生代码,有什么好的方案吗?
  3. 最后问一点,如果要架构一个长期维护的工程(本来想说以10年估算,似乎有点不现实,按照5年来算吧)该怎么做?
--- 共有 5 条评论 ---
jun4rui 回复 @接灰的电子产品 : 也是,后端直接操作DOM也不合适 4个月前 回复
接灰的电子产品 回复 @jun4rui : Angular Universal 只是禁止直接操作 DOM的东西,而只要使用 Anguar API是不受影响的。况且即使直接操作 DOM 也可以使用 preboot 4个月前 回复
jun4rui 回复 @接灰的电子产品 : Angular Universal我看介绍是生成的HTML字符串,所以会导致不会处理键鼠事件和ajax请求。这样的玩法感觉有点不习惯,很多传统的前端功能如果在这种情况下该如何玩?我有点懵逼 4个月前 回复
接灰的电子产品3. 这个问题太大了,一个构架想维持多年,中间肯定要不断重构的,但重构的基础是逻辑清楚,责任明确,所以我觉得最基础的是要让架构间的模块,组件等有明确单一的职责,彼此耦合低 4个月前 回复
接灰的电子产品1. angular universal就是方案啊,具体的限制您指的什么啊 2. nativescript,ionic2,甚至react native都是angular支持的。目前看前两种社区环境比较好,nativescript性能较好 4个月前 回复

@接灰的电子产品您觉得angular2跟react,vue相比它的优势在哪里

--- 共有 6 条评论 ---
侠客执剑行 回复 @接灰的电子产品 : 当初学了angular2一个月,好不容易入门了,这么久时间没看,又把东西还给@大漠穷秋老师了 4个月前 回复
接灰的电子产品 回复 @侠客执剑行 : 哈哈,这也是我写这本书的目的啊,觉得官方文档太不友好了,需要一个清晰的简单的入门教程 4个月前 回复
侠客执剑行 回复 @接灰的电子产品 : 您说的都没错,angular的痛点是上手不容易啊 4个月前 回复
接灰的电子产品3. rxjs的支持让响应式编程在 angular 中比其他框架更方便 4个月前 回复
接灰的电子产品2. angular 的依赖性注入框架使得代码的耦合性降低 4个月前 回复
学Anguler需要什么基础,看vue的时候需要json es6等。。。
--- 共有 1 条评论 ---
接灰的电子产品除了前端的必要基础外,面向对象的语言基础对于理解ts是必要的。响应式编程的门槛稍微高一些,但一开始不是必须的 4个月前 回复
angular跟vue还有react的区别还有学习成本的比较能说下么,还有我目前也只学过vue发现很简单,学习成本很低,不知道angular怎么样
--- 共有 4 条评论 ---
Raphael_goh 回复 @天籁111 : 目前最复杂的还是在数据模型上,ng、react、vue都可以靠使用属性传递的方式来写,但毕竟不是官方推荐的。react主要使用redux,ng偏向于rxjs(社区提供了ngrx,就是基于rx的redux),vue提供了rx、vuex两种支持。相比来说我觉得rx灵活性更高一些,但也相对比较更难理解一些。 4个月前 回复
Raphael_goh 回复 @天籁111 : angular和angularjs相比,概念精简不少,但和vue、react相比还是有些偏多。不过比起react的纯函数式编程,我觉得还是相对比较容易接受的。按照官方demo做一遍(配合@angular/cli),基本能够开始开发(高级特性除外,比如动态组件等等相对比较复杂)。 4个月前 回复
天籁111 回复 @接灰的电子产品 : 那啥,我问的是区别撒,不是问需要学什么。。。。 4个月前 回复
接灰的电子产品除了html,css之外,最好有面向对象的语言基础 4个月前 回复

@接灰的电子产品

对于较大的项目,比如一个项目里面几千个模块,应该怎样架构呢?不是很想放在一起,因为单项目中的文件数太多,查找和开发都不方便,而且不同开发组也有可能修改到不应该修改的公共库。所以目前计划是将不同的模块分为不同 npm 包,在私有 registry 部署,然后在一个 app 中 install 编译。不知道这样是否可行?

另外,如何实现点击路由,能够动态添加页面中的 tab,实现类似 MDI 的效果?个人设想通过不同 tab 关联不同 outlet,但是如何动态生成 outlet?

谢谢解答!

--- 共有 4 条评论 ---
Jay_M_Huhttps://github.com/hstarorg/ngx-modular-platform 也许能有用。 4个月前 回复
接灰的电子产品路由现在还没有办法做到你希望的样子,但可以考虑动态加载组件,因为其实路由也就是把某个组件在对应路由插座下加载进去 4个月前 回复
接灰的电子产品npm包的方式当然不错,但其实多了还是会有查找的问题吧。这其实是个项目组织管理的问题,可以看看从大的方面分成几个子项目,然后子项目中再去细分。子项目不用太多,这样大家起码知道什么样的功能应该去子项目中查找 4个月前 回复
接灰的电子产品大型项目,你可以参考一下 angular 本身的构建组织方式 https://github.com/angular/ 4个月前 回复

@接灰的电子产品 请问下,angularjs 2 有好的 UI 库么, 对比 Vue2 有哪些优势和劣势,谢谢!

--- 共有 1 条评论 ---
接灰的电子产品angular从2之后都叫angular了,没有后面的js,UI类库的话 primeng,官方的material2都是不错的 4个月前 回复

@接灰的电子产品 目前在用angular1,与angular1比起来,angular2的优势何在?之前看过一篇文章,说发布了angular4.0,既然都发布了4.0,是不是意味着ng2也将落伍?用vue2写过一些练手的项目,个人感觉vue确实要比ng1简单,容易上手。ng2是否会更容易上手一些呢?

--- 共有 2 条评论 ---
接灰的电子产品angular对于工程化的构建是十分先进的,十分像app或后端开发。门槛是有一些的,但一旦跨越门槛,在大型项目中,大团队开发中会比较有优势 4个月前 回复
yunfound分别是angularjs和angular。angularjs出到1.6.x了,angular出到了4.x。至于ng2和ng4,类似于Android 6和7,就是正常版本号迭代。 4个月前 回复
顶部