采訪媒體:本站編輯,小何被采訪人:AXUI工程師,鋒哥采訪時(shí)間: 2025 年 3 月 14 日采訪地點(diǎn):深圳
引言
前端開發(fā)是指用戶與軟件或網(wǎng)頁直接交互的界面設(shè)計(jì)和開發(fā),涉及文字、圖片、視頻、音頻、游戲等多媒體內(nèi)容的整合與呈現(xiàn)。隨著前端項(xiàng)目的復(fù)雜化,前端工程師不僅需要掌握HTML、CSS和JavaScript等基礎(chǔ)語言,還需熟練使用Webpack、rollup等打包工具,以及VUE、React等技術(shù)框架(包括衍生庫和工具)和UI框架(如ElementUI、AntUI)。此外,AI編程和全棧工程師的趨勢要求前端工程師具備后端開發(fā)和數(shù)據(jù)庫使用能力,如掌握Node和Express框架。
現(xiàn)階段前端開發(fā)繁雜又成體系,但其薪資上限不高,團(tuán)隊(duì)地位有限;雖然能直接接觸用戶,最容易獲得滿足感和成就感,但是也最容易遭受批評。前端開發(fā)何去何從,我們今天看看AXUI的鋒哥如何說。
訪談?wù)?/p>
編輯小何:鋒哥,您好,請簡要介紹一下您自己和AXUI的背景。
AXUI鋒哥:您好,我是AXUI的主要負(fù)責(zé)人,負(fù)責(zé)產(chǎn)品設(shè)計(jì)和技術(shù)開發(fā),并不定時(shí)召集小伙伴分享最近的工作成果。在長期的項(xiàng)目管理和產(chǎn)品設(shè)計(jì)工作中,經(jīng)常糾結(jié)于UI和UX設(shè)計(jì)的選型,及設(shè)計(jì)還原解決方案選型。為了應(yīng)對客戶特定需求,UI設(shè)計(jì)師和前端工程師常常耗費(fèi)大量時(shí)間進(jìn)行定制開發(fā)。為了節(jié)約開發(fā)成本,提高開發(fā)效率,我們孵化了AXUI這個(gè)產(chǎn)品。
編輯小何:AXUI是做什么的呢?
AXUI鋒哥:AXUI顧名思義是一個(gè)前端UI框架,用來快速構(gòu)建用戶交互界面。他基于原生技術(shù)標(biāo)準(zhǔn),沒有任何依賴,沒有復(fù)雜的生態(tài)環(huán)境,簡單易用;與VUE和React沒有任何關(guān)系,也不需要他們生態(tài)中的任何工具,但是因?yàn)樵詤s可無縫接入VUE和React,對于喜歡鉆研原生技術(shù)標(biāo)準(zhǔn)的職業(yè)開發(fā)者而言,AXUI應(yīng)該是一個(gè)趁手的工具。
AXUI可以與其他后臺系統(tǒng)搭配使用,用來快速搭建中小型管理系統(tǒng)、博客、企業(yè)網(wǎng)站、技術(shù)網(wǎng)站和電商網(wǎng)站。
編輯小何:AXUI主要解決了哪些痛點(diǎn)?
AXUI鋒哥:AXUI的核心優(yōu)勢在于“快”。它能夠快速復(fù)刻靈感、創(chuàng)建組件、搭建WEB界面并交付成果。在商業(yè)項(xiàng)目單價(jià)下降的背景下,需要極限壓縮開發(fā)成本。AXUI提供完整的API資料和諸多復(fù)制可用的示例,減少溝通和使用成本,簡化開發(fā)流程,幫助個(gè)人或團(tuán)隊(duì)提高開發(fā)效率。
編輯小何:AXUI采取了哪些策略來實(shí)現(xiàn)這些目標(biāo)?
AXUI鋒哥:AXUI的策略包括:
1.屬性即參數(shù):基于原生Webcomponent技術(shù)開發(fā)常用組件,通過修改節(jié)點(diǎn)的attr屬性即可改變組件的功能和狀態(tài)。
2.組件類型全面:封裝高頻組件為通用組件,確保覆蓋大多數(shù)場景,減少二次開發(fā)風(fēng)險(xiǎn)。
3.復(fù)制即可用:詳細(xì)羅列參數(shù)、API、方法、事件,并提供示例代碼,前端工程師可直接復(fù)制使用,減少查找和調(diào)試API的時(shí)間。
編輯小何:AXUI的性能如何?
AXUI鋒哥:我們將效率分為啟動效率、加載效率和執(zhí)行效率。
AXUI提供TypeScript+Less和JavaScript+CSS兩種版本。在協(xié)同項(xiàng)目或者中大型項(xiàng)目中使用TypeScript+Less版本,該版本沒有其他依賴庫,NPM下載到本地后即可使用;在小型或工具性項(xiàng)目中則使用JavaScript+CSS版本,全局引入JS和CSS文件即可開始工作。
AXUI使用ESM標(biāo)準(zhǔn)的import和export方法,支持treeshaking,按需打包和模塊加載,文件體積小,加載速度快。
由于使用原生技術(shù)標(biāo)準(zhǔn),不依賴其他庫,不做任何嵌套,按需操作虛擬DOM或真實(shí)DOM,沒有VUE或React復(fù)雜的技術(shù)生態(tài),渲染速度快。
編輯小何:AXUI使用了哪些關(guān)鍵技術(shù)?
AXUI鋒哥:關(guān)鍵技術(shù)分為JS和CSS兩部分:
1.JS部分:使用Proxy進(jìn)行數(shù)據(jù)響應(yīng);使用XMLHttpRequest進(jìn)行異步請求(因?yàn)閒etch不能監(jiān)聽上傳進(jìn)度沒有采納);使用MutationObserver、IntersectionObserver、ResizeObserver監(jiān)聽節(jié)點(diǎn)變化;使用FLIP思想創(chuàng)建動畫;使用Webcomponent構(gòu)建組件,Class類構(gòu)建模塊;使用RequestAnimationFrame執(zhí)行異步宏任務(wù);使用Async+Await執(zhí)行異步微任務(wù);使用發(fā)布訂閱模式監(jiān)聽事件;使用純函數(shù)和純模塊思想支持TreeShaking。不一而足。
2.CSS部分:使用Less作為構(gòu)建工具;使用rem和em作為主要尺寸單位;使用grid和flex作為布局方式;使用:has()、:not()、:is()和:where()等新選擇器。不一而足。
編輯小何:您如何看待VUE和React的技術(shù)生態(tài)復(fù)雜性?
AXUI鋒哥:從前端蠻荒時(shí)期,到Jquery,在到目前的VUE和React生態(tài),是源自項(xiàng)目對前端技術(shù)要求而不斷發(fā)展起來的。以前工具缺乏,前端開發(fā)束手束腳,但是簡單而快樂;現(xiàn)在前端各種框架和工具橫行,解決方式多樣,前端工程師卻疲憊不堪。
前端技術(shù)生態(tài)的復(fù)雜性源于工具鏈的龐雜。VUE和React雖然基于JavaScript,但其衍生的庫和工具進(jìn)一步封裝了API,導(dǎo)致開發(fā)環(huán)境復(fù)雜。前端工程師在安裝Vscode基礎(chǔ)上,還需要安裝一系列插件和庫,不然很難開展工作。
AXUI的目標(biāo)是簡化開發(fā)流程,減少對工具的依賴,提供簡單易用的組件,讓開發(fā)者專注于核心業(yè)務(wù)邏輯,實(shí)現(xiàn)盡快產(chǎn)出和交付的目的。
我認(rèn)為理想的、自由的編程環(huán)境不是Vscode+一堆插件+一堆庫,而是一個(gè)text記事本?,F(xiàn)在AI編程時(shí)代來了,這個(gè)記事本里寫的東西不再是代碼,而是提示詞。
編輯小何:聽您這么一說,倒是非常期待AXUI了,AXUI已經(jīng)發(fā)布了嗎?
AXUI鋒哥:AXUI已經(jīng)開發(fā)到了第三個(gè)大版本了,早期的1、 2 版本算實(shí)驗(yàn)性質(zhì)的,v3 已經(jīng)拋棄了所有依賴,完全基于原生技術(shù)標(biāo)準(zhǔn),而且執(zhí)行MIT政策,開源了所有JavaScript、HTML和CSS文件。用戶可到Github、Gitee和NPM上獲取比較新資源,AXUI團(tuán)隊(duì)成員會定義查閱ISSUE并做積極回復(fù)。
編輯小何:AXUI適合哪些人群?
AXUI鋒哥:AXUI適合四類人群:
1.新手小白:AXUI簡單易用,適合UI設(shè)計(jì)師和對前端技術(shù)感興趣的人。
2.小企業(yè)主:AXUI效率高,適合快速完成項(xiàng)目的小型團(tuán)隊(duì)。
3.職業(yè)后臺程序員:AXUI示例豐富,構(gòu)建WEB頁面快,適合后端開發(fā)人員。
4.職業(yè)前端工程師:AXUI基于原生技術(shù)標(biāo)準(zhǔn),容易集成,可作為VUE和React的重要補(bǔ)充。
編輯小何:現(xiàn)在很多人說前端已死,您如何看待前端技術(shù)的未來?
AXUI鋒哥:因?yàn)榍岸思夹g(shù)變革很快,作為前端工程師需要不斷復(fù)習(xí)技術(shù)棧并學(xué)習(xí)新的技術(shù)棧,疲于奔命,但是結(jié)果都是在 35 歲關(guān)口被裁員。所以很多人說藝多不壓身是個(gè)偽命題,被裁員的那一刻,曾經(jīng)學(xué)習(xí)過多少技術(shù)都是一文不值的東西,那既然新舊技術(shù)都會一文不值,那有什么好學(xué)的呢?還不如轉(zhuǎn)Java或Python。鑒于此,你會聽到諸如“前端轉(zhuǎn)后臺”,“前端轉(zhuǎn)送外賣”,“前端已死”等言論。
盡管有人認(rèn)為前端已死,但前端作為用戶交互的核心,其形態(tài)會隨時(shí)代變遷而變化。
現(xiàn)在的JavaScript技術(shù)已經(jīng)很強(qiáng)大了,而且每年都會推出新的標(biāo)準(zhǔn)提案,每次提案落地都會被歡呼。結(jié)合HTML和CSS可實(shí)現(xiàn)canvas、svg矢量繪圖、數(shù)據(jù)可視化、2d/3d游戲、Webgl、音視頻處理、協(xié)同編輯、WebAssembly等復(fù)雜功能,而且每一個(gè)都是攀登困難的高峰。
前端不會消亡,只是形態(tài)會不斷演進(jìn);前端死不了,死的只是個(gè)人心態(tài)。
編輯小何:感謝鋒哥的分享,今天的訪談到此結(jié)束。
AXUI鋒哥:謝謝。
訪談總結(jié)
當(dāng)前的前端開發(fā)不是只有JavaScript、TypeScript,也不是只有VUE和React,可簡單可復(fù)雜;如果需要構(gòu)建龐大的前端項(xiàng)目,使用框架打底應(yīng)該是個(gè)很好的做法;如果構(gòu)建中小型的前端項(xiàng)目,可考慮采用原生技術(shù)標(biāo)準(zhǔn),因?yàn)闆]有多層框架嵌套,執(zhí)行效率更高,可完成復(fù)雜多變的項(xiàng)目。AXUI是走在簡化前端開發(fā)鏈路上的一個(gè)重要嘗試,未來可期。
前端技術(shù)更新很快,對于前端工程師而言,或許專注前端技術(shù)標(biāo)準(zhǔn),以不變應(yīng)萬變是個(gè)很好的選擇。
(推廣)