ng vs react
很久以前从 desktop app 做起,比较偏好 mvvm,所以一路 knockout js, ng1, ng2+ 下来,觉得挺好。当年看 react 觉得 html 嵌在 js 里,感觉象 asp 1998/php,不爽。
今年用 react (w/ hook) 做了些项目,完全改变了看法。和 react 自己以前的版本相比,hook 确实简化了很多事情,把 js / FP 的一些优点发挥得淋漓尽致。如果现在有个前端需要我自己写,我多半会选 react。但如果需要一个超过三个人的前端团队,多半还得选 ng,因为毕竟是 opinionated framework。
python
经历的项目里有 AI,有 web api。AI 用 python 绝对天经地义,光是因为那些 lib 就得选 python。其实也蛮莫名其妙的 --- 很多经典 lib 其实是 c 写的,但就不给其他语言 lol
但用 python 开发 rest web api,感觉真的不是很喜欢。多半也是主观因素,但用惯了 c#,真心觉得 python 的 OOP 别扭,变量 scope 也不安全,相信 java dev 也有同样感觉。
不过我知道一方面 FP 用得越来越多,另一方面 serverless 也越来越普及,python 多半会被用得很普及。
不过有时候很多微妙的技术细节决定成败:比如用 nodejs 可以构建出很好的 web api,但是因为太灵活,所以很容易不同 dev 用不同方式实现同样的功能。相比起来 asp.net core / java spring boot 则是 opinionated framework,架构师 / team lead 稍一把关,不至于太离谱 (和前面 ng 一个意思)。
随便说几句,不那么精确。另外,很有可能再过一段时间会发现我现在的理解也都不对 ---- 那也很正常。
最后加一句,很多公司 production 里跑的很多都是 10 年前的技术,比如 asp.net web form,java servlet + template 什么的 -- 这个是常态。