Re: [請益] 為啥Angular的市場持續萎縮?

作者: w0005151 (藍廳)   2020-01-10 00:35:43
我覺得齁,工程師都有偏好的技術跟習慣很正常
但不要只寫過hello world跟看過一些別人二次咀嚼過的資料就來下評論
尤其是負面的評論
不然在真的用過的人眼裡....是在哈囉?
: 推 lturtsamuel: 從工程師的角度看 又慢又難用 在 template 裡用的變 01/09 22:14
難不難用涉及個人主觀意識,暫且不表
有個說法是從靜態語言來的人會覺得Angular非常親切
然後慢有很多種,如果是啟動時很慢,通常是AOT沒有設置正確
和ngnix之類的reverse proxy沒有設定好
不然有AOT加上router設置好lazy load,再搭配gzip加速js的下載時間
同樣scale下的專案Angular會比另外兩個慢到哪我是很懷疑
操作時慢通常是邏輯設計有問題,Angular跟react一樣都是unidirectional flow
不會像ng1有數次digest cycle
真的要優化還有onPush和runOutsideAngular可以用
從Angular9以後有新的render engine ivy
可以期待整個Angular app的效能和bundle size又可以更進一步
: → lturtsamuel: 數完全沒有 type secure 都已經用了 typescript 卻得 01/09 22:14
: → lturtsamuel: 不到型別系統的好處 01/09 22:14
安安,有聽過AOT嗎? template裡面型別錯誤直接compile failed喔
PyCharm+Angular plugin直接支援template內type hint和跳轉至component
undefined varibale/property幫你標紅色
甚至會提醒你某個vaiable有可能是null,要加null assertion operator/optional chain
: 推 lturtsamuel: angular core 裡面一大堆 any 相比之下 react 對 typ 01/09 22:17
: → lturtsamuel: escript 還比較友善== 01/09 22:17
所以是哪些any讓你覺得不方便呢,Angular用any的部分通常是不得不
像ControlValueAccessor裡registior callback function就是以any的型態傳進來
不然限制你callback的型態,你會覺得比較方便嗎,..?
: 推 lturtsamuel: 唯一想到 angular 勝過 react 的點是 css 管理
為什麼Angular在很多統計中會出現使用者下降的情形
是因為到今天2020年了,還是有很多人分不清AngularJS(1.x) 和Angular(2.0~8.0)
做統計時常把兩者混為一談,這個在國外論壇常常有人在噴
另外比較多人詬病的一點是bundle size比較大
ok這無可厚非,畢竟Angular是一個完整的framework
React跟Vue比較像library
但你用React或Vue難道不需要拉其他depndencies嗎
別鬧了,像redux幾乎就是React標配(當然最近React生態有些變動,這部分我不了解先不多提)
做中大型project(8個以上frontend engineer)光套件之間的版本相容性就搞死你了
這時候你就會覺得Angular幫你包山包海真香
要是只需要寫只有兩三頁、簡單顯示一些資料的網頁,當然覺得Angular笨重
但當牽扯到複雜user的操作邏輯,跟後端的頻繁互動,多層component之間的sharing state/data
你就會發現Angular真的幫你省了很多麻煩,尤其是DI和rxjs
另外有人在說Vue文件比較完整,我也是笑笑啦
Angular的官方doc寫的超詳細的好嗎,尤其是DI,說的人真的有去看過?
要說的話Vue的中文資源的確比較多啦,因為在中國Vue的使用者真的很多
但我還是以為身為軟體工程師,這點英文閱讀能力是基本的?
然後馬上看到有人說文件太長XD
果然怎麼做都有人嫌ㄏ
作者: lturtsamuel (港都都教授)   2020-01-10 01:41:00
control form的 value: any就是一個 明明是可以用泛型解決的東西我沒跟到最新版 但在ng2時候的dom操作速度應該是輸給同期react 的 virtual domtype secure 這部分 感謝告知 我明天去問我們前端怎麼不用這個
作者: ewqgfdcxz (007)   2020-01-10 05:13:00
專業推
作者: b85040312 (萬年newman)   2020-01-10 08:25:00
你說 React hook 嗎?
作者: onlyeric23 (MiGG)   2020-01-10 09:31:00
rxjs 也是個讓人卻步的理由
作者: doggy1989623 (puppy)   2020-01-10 09:58:00
同用Angular推一個,總算有人跳出來支持
作者: Hank31015 (~熊倒~)   2020-01-10 10:20:00
用angular的加1 有用過1.x 和2+之後 angular現在真的好用
作者: sharku (明珠求瑕)   2020-01-10 10:38:00
推 要說某件東西難用前請先專精它
作者: GLaDOS1105 (HAHAHA)   2020-01-10 10:56:00
推這篇,不過關於Angular的文件,我覺得很多地方還是不夠詳細,容易看完之後仍然無法預期實際實作後造成的效果(也許是我功力不足)
作者: testPtt (測試)   2020-01-10 10:57:00
如果可以的話 大家都希望xp再戰10年阿 一直追技術蠻累的
作者: chocopie (好吃的巧克力派 :))   2020-01-10 11:00:00
推,AngularJS =/= Angular
作者: LBJ23K (LBJ23K)   2020-01-10 11:39:00
Angular 官方document真的寫蠻好的
作者: lovdkkkk (dk)   2020-01-10 11:50:00
rxjs 很好, 但 vue 也可以用獨立的 rxjs 或 vue-rx
作者: windclara (null)   2020-01-10 12:22:00
推推。學過Vue.Js跟Angular。Vue.Js確實精簡快速,有些語法糖真的舒服。但完整性的話,還是比較喜歡Angular直接包好
作者: neo5277 (I am an agent of chaos)   2020-01-10 13:06:00
有完整方案跟兩個有錢父母就是爽啊
作者: yfr   2020-01-10 13:55:00
幸好我只會我大Spring,學完春天讓你有春天
作者: steven11329 (清新柳橙)   2020-01-10 18:57:00
會說redux是react標配感覺你活在過去
作者: rexhuang (BlueCancer)   2020-01-10 20:54:00
專業推,愛你所選,管人家用啥技術
作者: Falldog (Yo)   2020-01-11 00:11:00
推一個 Angular根本跟AngularJS不一樣 一堆人都搞不懂
作者: prosea (prosea)   2020-01-11 01:52:00
推Angular,但現在公司還在AngularJS...
作者: Schelfaniel (Schelfaniel)   2020-01-11 10:57:00
https://www.ithome.com.tw/news/134986 看這篇這文章說Angular應該接下來就會開始衰退了
作者: shter (飛梭之影)   2020-01-11 11:15:00
如果Angular用戶覺得身為軟體工程師這點英文閱讀能力是基本那就不要奇怪 Vue 在華人工程師市場那麼風行你覺得是基本能力的東西,別人不見得如此但這反映的是社群討論的熱度,畢竟很多資料搜出來的都是前人討論過的問題跟答案,看中文討論串還是比英文容易多了
作者: expup (linux)   2020-01-11 16:45:00
angular做大型專案滿爽的 vue就是太彈性搞到最後難維護
作者: prag222 (prag)   2020-01-12 10:01:00
還在1.X,我的hybryid變強了 webform搭angularjs事件導向程式設計模式 就某方面還蠻省事省時間
作者: a8989332 (天創)   2020-01-12 17:14:00
樓上沒錯...MVP+Webform再搭配一些js framework其實不差只是台灣好多義大利麵程式碼 維護到懷疑人生
作者: rio19867544 (Royl)   2020-01-15 21:24:00
JS框架是看產品決定的,真正大型專案用vue也不會贏ng好嗎
作者: SONGya168 (威威)   2020-01-20 15:20:00
專業推
作者: rickboo0809 (柳澄)   2020-01-22 08:31:00
戰的好阿
作者: eve1012 (lian)   2020-01-29 02:17:00
推,值得參考

Links booklink

Contact Us: admin [ a t ] ucptt.com