免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
為何這名全棧工程師說“拋棄 React、Angular”?

【CSDN 編者按】目前前端框架有許多,通常前端開發(fā)者在開發(fā)時,會從中選取一款框架進行開發(fā)。但作為全棧工程師的本文作者卻認為我們應(yīng)當(dāng)拋棄React、Angular等主流框架,為什么他怎么說呢?咱們一起來看看。

作者 | lampewebdev,全棧開發(fā)

譯者 | 彎月,責(zé)編 | 伍杏玲

出品 | CSDN(ID:CSDNnews)

以下為譯文:

時至2019年,我們都已達成了一項共識:組件可以構(gòu)建快速、優(yōu)雅且可維護的UI。問題在于,每個框架(例如ReactJs、AngularJS、Vue.js或其他一些較小的UI框架)在解決常見的問題時,都會使用自己的模式和解決方案。這些框架促進了可重用性,且易于使用。

另外,我聽說這些框架背后都有Google或Facebook等大公司的支持。在本文中,我們來討論一下,這種說法是否屬實,社區(qū)是否可以做的更好,以及我們是否有更好的選擇。

Web網(wǎng)站、Web應(yīng)用程序,PWA或其他一切在瀏覽器中運行的代碼最終都會化作HTML、CSS和Java(也許還有Web Assembly)。那么,我們的目標(biāo)是應(yīng)該熟練地使用這些工具。我并沒有說我們就使用這些工具,不要理會任何類型的庫或框架。我們都應(yīng)該使用,但如果我們的選擇過多,那么會怎樣?

事實上,如今的選擇確實過多!多到讓你覺得有點頭暈。這些工具非但沒有加快你的速度,甚至還成為了累贅,因為你不知道應(yīng)該使用哪個前端UI庫。

有時,你會想:“以后我就使用ReactJS”。這也不是不行。

ReactJS是一種非常好的解決方案,但我們還有Angular以及其他UI框架。這意味著我們無法像一個社區(qū)那樣協(xié)同工作,而是需要將自己分散到這些小社區(qū)中。尤其是當(dāng)你發(fā)現(xiàn)其中大多數(shù)工具都缺乏我們?nèi)粘J褂玫墓δ軙r,就會覺得更加糟糕。ReactJS中的Router一點也不好玩。表單驗證也很沒勁,沒人愿意做。因此,我們需要在這些UI框架的基礎(chǔ)上,再建立別的代碼庫,而且在大多數(shù)情況下,我們需要建立2-3庫來執(zhí)行這些操作。我們不僅需要在UI框架上花費心思,而且還要付出努力重新編寫基本的代碼。我們浪費了多少時間。

可能有人看到這里會想,這似乎也算一件好事啊!

真的嗎?請搜索:“Linux 桌面系統(tǒng)元年”。Linux 桌面系統(tǒng)也有同樣的問題:Gnome、KDE、XFCE、Cinnamon、Mate、LXDE等等。這些都在試圖解決一個問題:改進Linux 桌面系統(tǒng)。

但他們成功了嗎?

接下來我們來談一談可重用性。有人記得從Angular 1到Angular 2的跳轉(zhuǎn)嗎?這兩個版本就像兩個完全不同的框架。

現(xiàn)在我們有了Angular和AngularJS,它們一點都不令人困惑。

你可能在想:“但是,ReactJS沒有重大變化呀?!彪m說如此,ReactJS的兩個版本之間沒有如此巨大的變化!

但我問你,你敢在不使用鉤子的地方發(fā)布React代碼嗎?相信評論中會有一半人說:“為什么不使用鉤子?”在你需要將基于類的組件重寫為基于函數(shù)的組件時,也會發(fā)生同樣的情況。

現(xiàn)在我問你一個問題,你必須如實回答,而且也不要冠冕堂皇地說:“我是編程高手,我想使用最新潮的技術(shù)”,而是讓我們本著“解決實際問題并為人們提供解決方案”的態(tài)度。

我的問題是:ReactJS的這些變化真的為你的客戶帶來了任何價值嗎?對于你的用戶呢?對于你的公司呢?代碼的可閱讀性提高了嗎?如果如實回答,那么你可能會承認基于類的組件也很不錯。仔細想一想,我們是不是被營銷欺騙了?

你可能想說,這與市場營銷有什么關(guān)系?請不要忘記,是誰創(chuàng)建了ReactJS?是Facebook!那么又是誰創(chuàng)建了AngularJS?是谷歌。

這兩家公司最有名的是什么?如果你想說一家是社交網(wǎng)絡(luò),而另一家互聯(lián)網(wǎng)搜索,那么你又錯了!他們都是以廣告和營銷著稱!如果你想了解一家公司真正的業(yè)績,那就不應(yīng)該看產(chǎn)品,而應(yīng)該看他們的盈利點。

我經(jīng)常聽到有人說:“某某框架背后有一家大公司的支持,所以這個框架一定不錯”,我覺得你應(yīng)該冷靜下來仔細思考。這句話的意思是說,由于你使用的框架背后有一家擁有大量資金的公司的支持,所以這個框架不會在某一天消失。然而,谷歌是著名的項目殺手。人們還特意建立了一個網(wǎng)站來紀(jì)念被谷歌干掉的項目(https://killedbygoogle.com/)。所以,現(xiàn)在你還想使用Angular嗎?那么Facebbok呢?Facebook的很多項目都是用了ReactJS。他們還在招聘工程師,如果新來的人了解你們正在使用的框架庫,不是很好嗎?我覺得這種事情,你應(yīng)該自己做決定。晴天博客

我希望你能看到Web開發(fā)社區(qū)目前遇到的一些問題。

我們該如何解決?我個人認為,我們有現(xiàn)成的解決這些問題的正確方法。那就是制定正確的標(biāo)準(zhǔn)!W3C是一個優(yōu)秀的組織,應(yīng)該有更多來自社區(qū)的人參與其中。但這是另一個話題了。

為什么標(biāo)準(zhǔn)可以幫助我們解決所有問題?

當(dāng)一項技術(shù)成為一項標(biāo)準(zhǔn)時,所有主流瀏覽器都會實現(xiàn)并使用這項標(biāo)準(zhǔn)。對開發(fā)人員來說,這意味著不需要額外的庫,也不需要考慮其他瀏覽器中的邊緣情況。即便有Bug或問題,也有相關(guān)責(zé)任者為所有用戶修復(fù)Bug。

因此,只需由一個人出面修改一次,而不需要成千上萬的開發(fā)人員獨自修改。這有助于解決社區(qū)分裂的問題。如果編寫的某個組件可以同時在Vue.js、Angular和ReactJS中使用,那該多美好?這樣更多的開發(fā)人員可以改進同一個Calendar組件,并創(chuàng)建優(yōu)秀的組件,而不是創(chuàng)造出20個半成品的日歷組件。如果這一切都不需要大公司的支持,只需社區(qū)和瀏覽器廠商支持就夠了的話該多好?

其實所有這些情況都曾經(jīng)出現(xiàn)過,只不過我們現(xiàn)在忘記了!

沒錯,我們確實忘記了!這項技術(shù)叫做“Web組件v1”。

早在2014年,我們這個社區(qū)針對應(yīng)該使用Web組件還是ReactJS的問題,發(fā)生過激烈的爭論。最后,眾所周知,我們選擇了ReactJS。這在當(dāng)時可能是正確的選擇,因為Web組件還太年輕,而且規(guī)范還沒有準(zhǔn)備好。因此我們稱之為Web組件v0,但自2018年以來我們現(xiàn)在有了v1?,F(xiàn)在,所有大公司都接受了這個規(guī)范,并開始實施——極個別情況除外。此外,對于舊版本的瀏覽器還可以使用Polyfill。

至于,Web組件v1的用法,以及以及如何將它們集成到當(dāng)前項目中,這個話題我們?nèi)蘸笤僬劇?/span>

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
為什么我棄用Angular,轉(zhuǎn)向React
前端框架Vue、angular、React的優(yōu)點和缺點
我由Angular轉(zhuǎn)向React,為什么?
AngularJS遷移之戰(zhàn)
2016年7個頂級JavaScript框架
Angular、React 和 Vue 三大框架,Web 開發(fā)該如何選擇?
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服