<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Angular 導(dǎo)致公司損失數(shù)十億美元!

          共 3598字,需瀏覽 8分鐘

           ·

          2021-10-12 14:03

          點(diǎn)擊關(guān)注公眾號(hào),Java干貨及時(shí)送達(dá)

          粉絲福利:小編會(huì)從今天留言的小伙伴中隨機(jī)抽贈(zèng)送8.88元現(xiàn)金紅包。娛樂(lè)抽獎(jiǎng),大家隨緣積極參與啦,給生活一點(diǎn)小幸運(yùn)~感謝大家的支持
          作者 |?Beau Beauchamp
          譯者 | 彎月
          出品 | CSDN(ID:CSDNnews)
          我知道寫(xiě)這篇文章會(huì)拉仇恨,但是,有些話不吐不快。總要有人將許多經(jīng)驗(yàn)豐富的軟件工程師一段時(shí)間以來(lái)一直在思考的問(wèn)題說(shuō)出來(lái)。
          我在北美的一些大公司工作了 20 多年,一直是一名開(kāi)發(fā)人員。最近幾年,我一直在觀察 UI 的迭代,我發(fā)現(xiàn)如今的 UI 變得越來(lái)越糟。具體來(lái)說(shuō),我指的是一些流行的技術(shù),我以為那些 JS 和 CSS 框架只會(huì)在新手人群中風(fēng)靡一時(shí),然而如今就連一些經(jīng)驗(yàn)豐富的工程師也開(kāi)始“淪陷”,我以為他們會(huì)更明白其中的利害關(guān)系。
          使用這些框架的文化就像滾雪球一樣,比如 Angular,人人都陷入代碼地獄,看不到盡頭,不知道這種荒謬的做法何時(shí)才能停止。
          每天我都會(huì)收到獵頭的郵件,無(wú)論何種規(guī)模的公司都在競(jìng)相尋找經(jīng)驗(yàn)豐富的 Angular 4、5、6、7、8、10、12的開(kāi)發(fā)人員,還要求開(kāi)發(fā)人員擁有至少 5 年此類(lèi)我們稱(chēng)之為“頂尖”UI 的構(gòu)建與維護(hù)經(jīng)驗(yàn)。
          這不是“頂尖”的 UI,而是一團(tuán)糟。
          幾年前,我曾面試過(guò)一家公司,在面試期間,他們告訴我他們打算放棄所有的 UI 框架,然后就用最簡(jiǎn)單的 ECMA(JavaScript)編寫(xiě) UI。當(dāng)時(shí)我很驚訝,但也很好奇。


          現(xiàn)在,我們都知道他們?yōu)槭裁匆@么做了。

          旅途愉快


          保持愚蠢 - 簡(jiǎn)單

          著名的 KISS 原則指的是 Keep It Simple, Stupid(保持簡(jiǎn)單,愚蠢),但我不喜歡說(shuō)某個(gè)人很愚蠢,所以我調(diào)換了一下順序。最新版本的 Angular 已經(jīng)完全丟失了 KISS 原則。它不再只是一個(gè) UI 框架,還是一個(gè)后端服務(wù)。如今 UI 開(kāi)發(fā)人員不僅需要編寫(xiě) HTML 模板,而且還需要編寫(xiě)后端代碼。有人會(huì)說(shuō),這是好事!但實(shí)際情況并非如此。
          Angular 有一些“很酷的”功能,如果你想編寫(xiě)有效而又美觀的 UI,或者想打造專(zhuān)業(yè)的用戶體驗(yàn),則這些功能完全派不上用場(chǎng)。
          單頁(yè)應(yīng)用程序已經(jīng)過(guò)時(shí)。這類(lèi)應(yīng)用不僅難以維護(hù),而且會(huì)對(duì)依賴(lài) UI 變化的分析和搜索引擎爬蟲(chóng)造成嚴(yán)重破壞。
          雖然我們有解決這些問(wèn)題的方法,但問(wèn)題就在于此!本來(lái)你根本不必編寫(xiě)代碼來(lái)模仿 Web 原有的工作方式!

          旅途愉快


          對(duì) UI 編譯器說(shuō)不

          另一個(gè)流行的技術(shù)已經(jīng)存在一段時(shí)間,但我仍然覺(jué)得有必要擺脫這些技術(shù),那就是 SASS(軟件即服務(wù))和 Less。老實(shí)說(shuō),我喜歡這些 CSS 框架提供的代碼組織形式。但我不喜歡 mixins,它們需要經(jīng)過(guò)編譯才能運(yùn)行。
          我不明白為什么瀏覽器不支持 SCSS,將其作為 CSS 代碼的標(biāo)準(zhǔn)方式,但這是另一個(gè)話題。
          這些 CSS 偽語(yǔ)言最大的問(wèn)題在于,它們并不能節(jié)省我們的時(shí)間,而且使用和學(xué)習(xí)的難度都不小。歸根結(jié)底,它們的初衷都是為了編寫(xiě)漂亮、整潔、目標(biāo)明確的 CSS 代碼,但是,我們每個(gè)人編寫(xiě)的原生代碼本來(lái)就能達(dá)到這些要求。
          如果你想使用 Sass 或 Less,并在自己的開(kāi)發(fā)環(huán)境中預(yù)編譯它們,那我無(wú)話可說(shuō)。但是我們永遠(yuǎn)不應(yīng)該將這些文件放入 CI/CD 流水線,然后在部署期間進(jìn)行編譯。
          任何其他 JavaScript 庫(kù)或框架也應(yīng)當(dāng)遵循這一原則,因?yàn)樗鼈冏罱K都會(huì)編譯為普通的ECMA。
          添加到 CI/CD 流水線中的每一個(gè)步驟都會(huì)導(dǎo)致本應(yīng)非常簡(jiǎn)單的部署過(guò)程變得復(fù)雜和膨脹。我們應(yīng)該尋找方法來(lái)減少流程中的步驟,而不能因?yàn)椤癑enkins”允許這樣做,就越積累越多。

          旅途愉快


          Angular導(dǎo)致 UI 膨脹

          我是 UI 純粹主義者,但 UI 的當(dāng)前狀態(tài)不是“頂尖”,而是亂作一團(tuán)。我知道Google 的員工很無(wú)聊,他們想做點(diǎn)什么,但是 Angular 和其他類(lèi)似的框架非但沒(méi)有讓 UI 變得越來(lái)越簡(jiǎn)單,而且還在破壞 UI 的簡(jiǎn)單性。
          關(guān)鍵在于,我們根本不需要一個(gè)臃腫的框架來(lái)編寫(xiě)整潔、優(yōu)雅的 UI 或構(gòu)建一個(gè)有效的 UX。我們可以使用任何后端提供的原生模板引擎,根本沒(méi)必要使用難以理解且無(wú)法調(diào)試的編譯 JS,而且還會(huì)導(dǎo)致前端膨脹。

          旅途愉快


          Angular 導(dǎo)致很多公司白白損失大量資金

          歸根結(jié)底,框架應(yīng)該降低編程的難度,而不是反過(guò)來(lái)加大難度。這些框架應(yīng)該通過(guò)易用性為公司節(jié)省資金,而不是白白損失大量資金。
          然而,這種不幸的事情正在發(fā)生,而且 Angular 的運(yùn)行成本也很高。
          不幸的是,Angular(以及其他 UI 框架)導(dǎo)致很多公司白白耗費(fèi)了大量資金,用于培訓(xùn)和重新培訓(xùn)員工學(xué)習(xí)和重新學(xué)習(xí)每年都在不斷變化的框架新版本。雖然 Angular 承諾所有新版本都將向后兼容,但每當(dāng)出現(xiàn)下一個(gè)“非常酷”的新組件時(shí),一切都會(huì)發(fā)生變化,而 UI 也只會(huì)越來(lái)越復(fù)雜。
          如果你正在服務(wù)于多家企業(yè),而他們使用了不同的 UI 框架,那只能自求多福了。你不僅需要學(xué)習(xí)和了解 12 種不同風(fēng)格的 Angular,還需要了解 Vue 和React 的各種版本,一些新手程序員在 4 年前入職這些公司,如今他們已經(jīng)離開(kāi),要開(kāi)始破壞其他人的技術(shù)棧了。
          是時(shí)候?qū)?Angular(和其他框架)作為失敗的實(shí)驗(yàn)統(tǒng)統(tǒng)扔到垃圾堆了。

          旅途愉快


          用什么取代 Angular?

          答案很簡(jiǎn)單,我們什么都不需要。我們應(yīng)該徹底擺脫 Angular。然后就編寫(xiě)簡(jiǎn)單、易于使用和理解的 JavaScript。
          我不反對(duì)使用 jQuery 之類(lèi)的開(kāi)源庫(kù),或者其他 UI 組件,或者 Bootstrap 之類(lèi)的 CSS 框架。你只需要一兩行代碼就可以引用這些框架,它們確實(shí)能夠減輕開(kāi)發(fā)人員的負(fù)擔(dān)!
          但是,需要 Node.js 才能運(yùn)行的框架,比如 Tailwind,或者由于維護(hù)人員年復(fù)一年地不斷更新,開(kāi)發(fā)人員需要不斷地培訓(xùn)和再培訓(xùn)才能使用的框架,我只想問(wèn),這些框架除了讓你花更多錢(qián),還有什么好處?用起來(lái)“超爽”嗎?
          Angular最大的問(wèn)題就在于對(duì)開(kāi)發(fā)人員的工作毫無(wú)好處,這會(huì)讓公司損失數(shù)千甚至數(shù)萬(wàn)美元。如果你們是全球 500 強(qiáng)企業(yè),不在乎每年花費(fèi)數(shù)百萬(wàn)美元維護(hù)、更新、培訓(xùn)和浪費(fèi)時(shí)間,那就尋找有經(jīng)驗(yàn)的開(kāi)發(fā)人員來(lái)支持這樣的框架吧。
          我看到很多公司迫切地需要 UI 工程師,但他們總是要求開(kāi)發(fā)人員擁有 3~5 年的 Angular 經(jīng)驗(yàn)。這太不合理了。我可以使用純 JS 在更短的時(shí)間內(nèi)構(gòu)建優(yōu)雅、功能齊全的 UI,而且還沒(méi)有 Angular 前端和后端的種種復(fù)雜性。
          JavaScript 的目的只有一個(gè),而且能夠在現(xiàn)代 UI 的復(fù)雜性和在 DOM 中保持優(yōu)雅的簡(jiǎn)單性之間提供了完美的契合和平衡。
          如果使用純 JS 編寫(xiě)的代碼在生產(chǎn)中出現(xiàn)問(wèn)題,則只需幾秒就能通過(guò)任何瀏覽器的開(kāi)發(fā)工具找到問(wèn)題,而且還不需要安裝或包含另一層膨脹來(lái)告訴我如何調(diào)試已編譯的代碼。

          旅途愉快


          總結(jié)

          編寫(xiě)代碼的關(guān)鍵就在于其簡(jiǎn)單性。然而,作為現(xiàn)代工程師,我們幾乎完全忽視了這種簡(jiǎn)單性。面對(duì)科技巨頭或大學(xué)發(fā)布的閃閃發(fā)亮的新技術(shù),我們不自覺(jué)地也開(kāi)始追求“最頂尖”的技術(shù)潮流,完全迷失了自我。
          Google或任何一所大學(xué)都不會(huì)在乎你要為開(kāi)發(fā)人員花多少錢(qián)。是時(shí)候讓 CTO 來(lái)負(fù)責(zé)技術(shù)棧。放棄時(shí)尚的新技術(shù),讓我們所有人都回歸簡(jiǎn)單、便于維護(hù)、美觀的理性 UI。

          旅途愉快


          網(wǎng)友評(píng)論


          對(duì)此,眾多網(wǎng)友的看法不一:

          評(píng)論1

          也不能一概而論吧。畢竟還有 Typescript 之類(lèi)的框架,比編寫(xiě)單純的 JS 方便多了,確實(shí)減輕了開(kāi)發(fā)人員的負(fù)擔(dān)。
          使用純 JS 編寫(xiě)簡(jiǎn)單、可維護(hù)的代碼……可能嗎?

          評(píng)論2

          這不是 Angular 的問(wèn)題,也不是 JavaScript 的問(wèn)題,或者技術(shù)的問(wèn)題。
          開(kāi)發(fā)人員需要不斷學(xué)習(xí),如果你的代碼一團(tuán)糟,那不是框架的錯(cuò)。無(wú)論是否使用框架,也無(wú)論使用哪種框架,能否編寫(xiě)出簡(jiǎn)單、優(yōu)雅的代碼,始終取決于個(gè)人。
          取決于你的個(gè)人能力和技術(shù)水平。
          那么,你怎么看?
          參考鏈接:
          https://javascript.plainenglish.io/enough-why-its-time-to-rip-out-angular-7d831802c8a2

          1、靈魂一問(wèn):你的登錄接口真的安全嗎?

          2、HashMap 中這些設(shè)計(jì),絕了~

          3、在 IntelliJ IDEA 中這樣使用 Git,賊方便了!

          4、計(jì)算機(jī)時(shí)間到底是怎么來(lái)的?程序員必看的時(shí)間知識(shí)!

          5、這些IDEA的優(yōu)化設(shè)置趕緊安排起來(lái),效率提升杠杠的!

          6、21 款 yyds 的 IDEA插件

          7、真香!用 IDEA 神器看源碼,效率真高!

          點(diǎn)分享

          點(diǎn)收藏

          點(diǎn)點(diǎn)贊

          點(diǎn)在看

          瀏覽 27
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  91POR中文字幕 | 国产特级毛片AAAAAA | 亚洲中文字幕观看 | 黄色A及片视频 | 蜜桃91精品秘 成人取精库 |