首頁 web前端 前端問答 web前端架構是什麼

web前端架構是什麼

Jan 29, 2023 am 09:45 AM
web前端 web

web前端架構是一系列工具和流程的集合,旨在提升前端程式碼的質量,並實現高效可持續的工作流程。 web前端架構的核心有4個:1、程式碼(HTML、CSS、JavaScript);2、流程,怎麼用工具和流程建立一個高效且避免出錯的工作流程是一個重要的思考;3、測試,創建覆蓋面廣泛的測試方案,能確保老程式碼還能正常運作;4、文檔,設計文檔是你與他人交流的工具。

web前端架構是什麼

本教學操作環境:windows7系統、Dell G3電腦。

   在Web前端技術變化日新月異的今天,Web前端專案變的越來越複雜。前端架構也會隨著我們現在千變萬化的迭代需求,架構技術的演化,不僅是架構師也是我們每個開發人員都必須關注的問題。

一、web前端架構的由來

       2014年10月13日CSS開發者大會上,在新奧爾良會議中心一個擁擠的房間裡「舉起前端架構的旗幟」成了在一線奮鬥的開發者們共同的呼籲。在那之後,那些想要弄清楚自身定位以及在公司中所扮演的角色的開發者們發現,其實他們一直扮演著前端架構師的角色, 卻從來沒有擁有過這個頭銜,或者沒有足夠的信心去爭取這個職位所應有的權力。

       在大會召喚幾週之後,許多人把他們在Twitter上的個人簡介改成了「前端架構師」。

二、你理解的web前端架構是怎麼樣的?

       前端架構如建築設計,在建造過程中,建築設計師需要設計與規劃方案,並且跟進施工過程。這與前端架構師的工作有著異曲同工之妙,不同的是後者建造的是網站,而不是建築物。比起澆築混凝土,建築設計師會在設計工程構圖的工作上投入更多的精力。同理,相較於編寫具體的程式碼,前端架構師更專注於開發工具和最佳化流程。

       前端架構是一系列工具和流程的集合,旨在提升前端程式碼的質量,並實現高效可持續的工作流程。

web前端架構是什麼

       前端設計架構不是一勞永逸的工作,沒有任何設計在一開始就是完美的,也沒有任何計畫可以一步到位。

前端架構的特殊性

前端不是一個獨立的子系統,又橫跨整個系統

分散性:前端工程化

頁面的抽象、解耦、組合

可控:腳手架、開發規格等

有效率:框架、元件庫、Mock平台,建置部署工具等

抽象

頁面UI抽象:元件

通用邏輯抽象:領域實體、網路要求、例外處理等

#三、web前端架構的原則

1. 系統設計

       試想一下,如果一棟建築物沒有明確的建造設計,所有的重要事項都由建築工人直接決定,那麼就可能會出現這樣的情景:一面牆用石頭壘,第二面牆用磚頭砌,第三面牆用木頭搭,第四面牆因為追求時髦而留空。

       雖然網站的整體外觀和風格基調完全由經驗豐富的視覺設計師決定,但前端架構師掌控 著背後的前端開發方法和系統設計哲學。透過設計所有前端開發人員都要遵循的系統規範,前端架構師清楚地描繪了產品和程式碼的最終形態。

       一旦前端架構師建立起了系統設計的規範,專案就擁有了可以衡量程式碼品質的標準,否 則我們如何判斷程式碼是否達標呢?一個精心設計的系統,應具備完善的檢驗機制,並做出適當的取捨,以確保系統中的程式碼有實質的價值,而不是簡單的堆砌。

2. 工作規劃

       有了明確的結構設計之後,就需要發展開發工作流程了。開發人員寫一行程式碼並且提交到線上需要經過什麼步驟?舉一個最簡單的例子,這個過程包括使用 FTP 登入伺服器,修改一個檔案並儲存。然而,對於大多數專案而言,完整的工作流程可能會使用多種工具,例如版本控制器、任務調度器、CSS 處理器、文件工具、測試元件和伺服器自動化工具等。

       前端架構師的目標是設計出能流暢運作的系統。這個系統不僅能有效率且快速地啟動,還可以透過語言分析、測試案例、文件記錄等方法持續提供有效的回饋,並且大幅減少因重複操作而產生的人為錯誤。

3. 監督跟進

       前端架構設計絕不是一勞永逸的工作。沒有任何設計在一開始就是完美的,也沒有任何計畫可以一步到位。客戶和開發人員的需求會隨著時間改變。在某個階段運作良好的開發流程,隨後也可能需要重新調整,以便提高效率、減少錯誤。

       前端架構師的一個非常重要的能力,就是能夠持續地優化工作流程。如今各種各樣的構 建工具可以讓我們很方便地改變工作方式,並通知到每位開發人員。

       有些人問前端架構師是否等同於管理角色,不再需要寫商業程式碼。前端架構師不僅要寫更多程式碼,還要會用多種程式語言,還要使用大量的工具。程式碼量並未減少,只是程式碼的讀者改變了。前端開發人員是針對終端使用者寫程式碼,而前端架構師面向的則是團隊裡的開發人員。

四、web前端架構的核心

1. 程式碼

##       歸根結底,所有的網站都是由一堆文字檔案和資源檔案組成HTML、CSS、JavaScript的。當我們面對製作網站所產生的大量程式碼時,就會發現為程式碼和資源設定一個期望是多麼重要。

2. 流程

       怎麼用工具和流程建立一個有效率且避免出錯的工作流程是重要的思考。工作流程變得越來越複雜,那些用於建構它們的工具也是如此。這些工具在提高生產力、加快效率和保持程式碼一致性上帶來了驚人的效果,但也伴隨著過度工程和抽象的風險。

3. 測試

       要建立一個可擴展且可持續最佳化的系統,必須確保新程式碼與舊程式碼能夠很好地相容,我們的程式碼不會孤立存在,它們都是大型系統的一部分,創造覆蓋廣泛的測試方案,確保舊程式碼還能正常運作。

4. 文件

       設計文件是你與他人溝通的工具,來闡述你的設計決策是什麼,來闡明你的設計決策是什麼以及為什麼你的決策是好的。如果不是團隊中的重要成員要離開,幾乎都不會意識到文件的重要性。

       這四個核心是建立可擴展且可持續最佳化的系統的基礎。

(學習影片分享:

web前端入門

以上是web前端架構是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1665
14
CakePHP 教程
1424
52
Laravel 教程
1321
25
PHP教程
1269
29
C# 教程
1249
24
Nginx的Web伺服器caddy怎麼使用 Nginx的Web伺服器caddy怎麼使用 May 30, 2023 pm 12:19 PM

Caddy簡介Caddy是一款功能強大,擴展性高的Web伺服器,目前在Github上已有38K+Star。 Caddy採用Go語言編寫,可用於靜態資源託管和反向代理。 Caddy具有以下主要特性:比較Nginx複雜的配置,其獨創的Caddyfile配置非常簡單;可以透過其提供的AdminAPI實現動態修改配置;預設支援自動化HTTPS配置,能自動申請HTTPS憑證並進行配置;能夠擴展到數以萬計的站點;可以在任意地方執行,沒有額外的依賴;採用Go語言編寫,內存安全更有保證。安裝首先我們直接在CentO

Web 端即時防擋臉彈幕(基於機器學習) Web 端即時防擋臉彈幕(基於機器學習) Jun 10, 2023 pm 01:03 PM

防擋臉彈幕,即大量彈幕飄過,但不會遮擋視訊畫面中的人物,看起來像是從人物背後飄過去的。機器學習已經火了好幾年了,但很多人都不知道瀏覽器中也能運行這些能力;本文介紹在視頻彈幕方面的實踐優化過程,文末列舉了一些本方案可適用的場景,期望能開啟一些腦洞。 mediapipeDemo(https://google.github.io/mediapipe/)展示主流防擋臉彈幕實現原理點播up上傳視訊伺服器後台計算提取視訊畫面中的人像區域,轉換成svg儲存用戶端播放視訊的同時,從伺服器下載svg與彈幕合成,人像

Java API 開發中使用 Jetty7 進行 Web 伺服器處理 Java API 開發中使用 Jetty7 進行 Web 伺服器處理 Jun 18, 2023 am 10:42 AM

JavaAPI開發中使用Jetty7進行Web伺服器處理隨著互聯網的發展,Web伺服器已經成為了應用程式開發的核心部分,同時也是許多企業所關注的焦點。為了滿足日益增長的業務需求,許多開發人員選擇使用Jetty進行Web伺服器開發,其靈活性和可擴展性受到了廣泛的認可。本文將介紹如何在JavaAPI開發中使用Jetty7進行We

怎麼設定nginx保證frps伺服器與web共用80埠 怎麼設定nginx保證frps伺服器與web共用80埠 Jun 03, 2023 am 08:19 AM

首先你會有個疑惑,frp是什麼呢?簡單的說frp就是內網穿透工具,配置客戶端以後,可以透過伺服器來存取內部網路。現在我的伺服器,已經用nginx做站了,80端口只有一個,那如果frp的服務端也想使用80端口,那該怎麼辦呢?經過查詢,這個是可以實現的,就是利用nginx的反向代理來實現。補充一下:frps就是伺服器端(server),frpc就是客戶端(client)。第一步:修改伺服器中nginx.conf設定檔在nginx.conf中http{}裡加入以下參數,server{listen80

如何使用Golang實作網頁應用程式的表單驗證 如何使用Golang實作網頁應用程式的表單驗證 Jun 24, 2023 am 09:08 AM

表單驗證是Web應用程式開發中非常重要的環節,它能夠在提交表單資料之前對資料進行有效性檢查,避免應用程式出現安全漏洞和資料錯誤。使用Golang可以輕鬆實現網頁應用程式的表單驗證,本文將介紹如何使用Golang來實作網頁應用程式的表單驗證。一、表單驗證的基本要素在介紹如何實作表單驗證之前,我們需要知道表單驗證的基本要素是什麼。表單元素:表單元素是指

web標準是什麼東西 web標準是什麼東西 Oct 18, 2023 pm 05:24 PM

Web標準是一組由W3C和其他相關組織制定的規範和指南,它包括HTML、CSS、JavaScript、DOM、Web可訪問性和性能優化等方面的標準化,透過遵循這些標準,可以提高頁面的兼容性、可訪問性、可維護性和效能。 Web標準的目標是使Web內容能夠在不同的平台、瀏覽器和裝置上一致地展示和交互,提供更好的使用者體驗和開發效率。

如何從駕駛艙Web使用者介面啟用管理訪問 如何從駕駛艙Web使用者介面啟用管理訪問 Mar 20, 2024 pm 06:56 PM

Cockpit是一個面向Linux伺服器的基於Web的圖形介面。它主要是為了使新用戶/專家用戶更容易管理Linux伺服器。在本文中,我們將討論Cockpit存取模式以及如何從CockpitWebUI切換Cockpit的管理存取。內容主題:駕駛艙進入模式查找當前駕駛艙訪問模式從CockpitWebUI啟用Cockpit的管理訪問從CockpitWebUI禁用Cockpit的管理訪問結論駕駛艙進入模式駕駛艙有兩種訪問模式:受限訪問:這是駕駛艙的默認訪問模式。在這種存取模式下,您無法從駕駛艙Web用戶

web是什麼意思 web是什麼意思 Jan 09, 2024 pm 04:50 PM

web是全球廣域網,也稱為萬維網,是互聯網的一種應用形式。 Web 是一種基於超文本和超媒體的資訊系統,它允許使用者透過超連結在不同的網頁之間跳轉,從而瀏覽和獲取資訊。 Web 的基礎是互聯網,它使用統一、標準化的協定和語言,使得不同電腦之間能夠進行資料交換和資訊共享。

See all articles