借着 vue 和 react 的思路,跟着 b 站视频学了三天 angluar11 后,我来吐吐槽。。。

2021-03-09 14:53:02 +08:00
 zhoushushu

才学三天,也不知道说的对不对

将来我我来用 angular 开发的话,估计思路的话,不会像 angular 传统项目那样各种注入,应该还是和 vue 、react 差不多吧,angular 自带的库不用,各种第三方请求库,import 、export,能不注入就不注入了,维护下 module 就好。

14992 次点击
所在节点    Angular
120 条回复
Adalwin
2021-03-09 23:41:42 +08:00
不看官网看 B 站....

唉...
easylee
2021-03-09 23:56:57 +08:00
@zzzmh 写了两年 Java,才发现没学 spring......
xiang0818
2021-03-09 23:59:02 +08:00
后端的同学都比较喜欢 ng 哦~
xiang0818
2021-03-09 23:59:54 +08:00
@easylee 那你一定是大佬~
LokiSharp
2021-03-10 00:00:32 +08:00
Angular Spring .NET 这类真企业级框架麻烦的地方都是大公司开发踩了 10 几年总结的经验,几天跑理解不了的
laike9m
2021-03-10 00:55:08 +08:00
angular 就是给 Java 程序员设计的
yuuko
2021-03-10 01:01:43 +08:00
等你用 angular 写项目了,真正的问题就来了,编译十几二十分钟,热更新烂的一逼,运存占用巨大,电脑卡顿等等
kwrush
2021-03-10 08:12:49 +08:00
rxjs 很强大,和 axios 都不是一路东西,刚好自带 ajax 而已
jun4rui
2021-03-10 08:57:34 +08:00
一个框架就是一个思路,所以任何框架都不能用别的框架思维去套,顶多有点类似的地方。

所以新人学东西有时候比较快就是这个原因,没有任何先入为主的固有思维。

这种思维年纪大了会比较致命。
hareandlion
2021-03-10 09:25:35 +08:00
同在学 Angular,感觉框架设计代表的是设计模式,额外的声明可以认为是编码规范吧,module 设计与逻辑抽象的实现有关,可能不同框架的实现方式都不同,没看出高下之分
ReysC
2021-03-10 10:20:16 +08:00
网络库可以用 await/async 使用 toPromise 即可,提供了灵活的方式
lscexpress
2021-03-10 10:49:10 +08:00
@jun4rui
反正我学新技术,都是先看官方文档,不会想太多
ahonn
2021-03-10 10:54:59 +08:00
想要简单你就不应该看 Angular
meshell
2021-03-10 11:09:51 +08:00
https://github.com/akveo/ngx-admin , https://github.com/akveo/nebular 我一直通过这两个项目来学习 ng...不过先要知道 ng 的基本知识概念,官方文档走一遍.
namelosw
2021-03-10 11:50:51 +08:00
React 和 Angular 和 AngularJS 我都用过好多年, 而且 Angular 2 出来之前我就已经很熟 Rx 和 TS 了, 简单结论: 别学别用 Angular.

Angular 扩展性可维护性其实都不如 React/Vue, 而且复杂得一批, 细节还特别坑, 很多互相矛盾的地方. 每个地方技术实现上看都可以, 拼起来就是个渣, 给人一种“没有产品经理”, 想起来啥就做啥的感觉.

说 Angular 好的基本就是几种:
1. 后端不懂前端, 觉得看着熟悉.
2. 熟悉 React 和 Vue, 但不那么熟悉 Angular, 别人家的草更绿.
3. 只熟悉 Angular, 所以互相没比较.
4. 做的东西太简单, 用 Angular 还没撞墙.

总得来说 Angular 给人的感觉就是不咋懂前端的问题:
1. 鼓励 MVVM 把状态分散到组件, 不像 React 那样鼓励 Hoisting. 你必须玩命给同事洗脑要 Hoisting, 要用状态管理, 不然写着写着状态就分散到全世界, 到处都不同步.
2. 更新也是个大坑, 用 push only 满地都是 markForCheck. 导致写库和写业务代码完全不一样, 导致 Angular 用户大部分都不会写库, 有种重新发明了手动挡…吧 JS 改造成 C++的感觉.
3. 不用 push only 的时候还是 AngularJS 那一套, 靠 Zone 排队, 问题是即便这样很多地方还是要手动 runInZone, 这个问题根本无解, 特别容易造成隐性 bug, 跟 React/Vue 比一开始设计思路根本就是错的.
4. 扩展性, 抽象性好嘛? 还不是被高阶组件, hooks, render callback 吊打. OO 在这方面只能说菜得抠脚, 而且<ng-container> <ng-template> <ng-content>不仅迷惑, 而且加起来也被 props.children 吊打.

Angular 也不是一无是处, 偶尔有点闪光点:
1. Reactive form, 和 UI 解耦的 form, React 和 Vue 明显也可以做, 但是不知道为啥大家都不用.
2. Async pipe, 既然发明了 template 引擎, 就得好一点…
3. AOT? AOT 也不能算闪光点, 因为前面的屎山堆太多, 编译起来太大了, 只能用这种高级操作挽回一点点. 而且跟 Svelte 比就是弟弟.
Stevearzh
2021-03-10 12:10:39 +08:00
rxjs 怎么成网络请求模块了... 你要比也得和 redux 或者 vuex 比啊
quan01994
2021-03-10 13:35:37 +08:00
rxjs 很好。
TomatoYuyuko
2021-03-10 13:45:17 +08:00
工具而已,不喜欢用,那就是不好用的工具
mxT52CRuqR6o5
2021-03-10 13:58:21 +08:00
@namelosw
+1,不是 spring 程序员完全没必要学
Mrxx
2021-03-10 14:01:44 +08:00
怀念那个 jQuery 的时代

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/759986

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX