【從開(kāi)公司到開(kāi)發(fā)全平臺(tái)產(chǎn)品】5.前端開(kāi)發(fā)的思考荣茫、實(shí)踐-UPUPMO

  • 歡迎觀看《從開(kāi)公司到開(kāi)發(fā)全平臺(tái)產(chǎn)品》系列冠蒋。
  • 希望通過(guò)該系列可以幫助新手,快速了解全棧軟件產(chǎn)品的一些思路械馆、應(yīng)用。
  • 本期我們講解第五章:《前端開(kāi)發(fā)的思考、實(shí)踐》
  • 我們將會(huì)從以下4個(gè)小節(jié)進(jìn)行探討:
1. 前端企業(yè)級(jí)架構(gòu)標(biāo)準(zhǔn)
2. 主流前端框架對(duì)比
3. 正在發(fā)展的云開(kāi)發(fā)介紹
4. 我常用的前端框架介紹

1. 前端企業(yè)級(jí)架構(gòu)標(biāo)準(zhǔn)

  • 主要分為:框架標(biāo)準(zhǔn),組件標(biāo)準(zhǔn)懂盐。
  • 其中建議預(yù)留開(kāi)發(fā)者后門(mén)褥赊,比如代理配置、全局參數(shù)修改等莉恼,方便遇到問(wèn)題的時(shí)候好調(diào)試

1.1 框架標(biāo)準(zhǔn)

支持主流 UI 庫(kù)拌喉,比如 Vue 類(lèi)的需要支持 TailwindCSS、Vant俐银、Element Plus 等
不同環(huán)境編譯尿背、打包
請(qǐng)求框架
請(qǐng)求攔截器
權(quán)限管理
路由統(tǒng)一管理
調(diào)試工具
性能分析工具
WebSocket
統(tǒng)一異常處理
請(qǐng)求參數(shù)校驗(yàn)
登錄、注冊(cè)捶惜、忘記密碼田藐、退出流程
全局變量
狀態(tài)管理
全局?jǐn)r截器(路由守衛(wèi))
圖片懶加載
異常日志統(tǒng)一輸出方案
全局靜態(tài)資源
不同路由實(shí)現(xiàn)不同的布局結(jié)構(gòu)
路由統(tǒng)一配置
多屏分辨率兼容
埋點(diǎn)設(shè)計(jì)
生產(chǎn)部署流程,生產(chǎn)環(huán)境 HTTPS 測(cè)試
配置 CDN 流程
國(guó)際化吱七、多語(yǔ)言
微信登錄汽久、微信支付
基準(zhǔn)性能測(cè)試流程
開(kāi)發(fā)者后門(mén)
百度統(tǒng)計(jì)等統(tǒng)計(jì)類(lèi)插件
版本更新提示
包大小優(yōu)化
首屏優(yōu)化
加載速度優(yōu)化
工具包(字符串、日期踊餐、加解密回窘、JSON 等)

1.2 組件標(biāo)準(zhǔn)

  • 組件標(biāo)準(zhǔn)中大部分組件都是 UI 框架中自帶了,少部分需要自己找第三方或者自己封裝
頁(yè)頭市袖、頁(yè)尾
導(dǎo)航菜單
賬號(hào)登錄啡直、注冊(cè)頁(yè)面
手機(jī)號(hào)登錄、發(fā)送短信
統(tǒng)一異常頁(yè)面
全局樣式修改
文件苍碟、圖片上傳組件
文件導(dǎo)出組件
圖表庫(kù)
分頁(yè)組件
輪播圖
卡片
單選框酒觅、多選框

頭像
徽標(biāo)數(shù)
表格組件
折疊面板
樹(shù)組件
分割線
滑塊
抽屜
選擇器
級(jí)聯(lián)選擇
日期組件
空狀態(tài)
標(biāo)簽

標(biāo)簽頁(yè)
警告提示、全局提示
富文本
遮罩層
加載中
骨架屏
省市區(qū)組件
對(duì)話框微峰、提醒框
表單校驗(yàn)
用戶頭像上傳舷丹、剪切
地圖
音頻、視頻

2. 主流前端框架對(duì)比

[圖片上傳失敗...(image-81f9c3-1655207786669)]

前端這些年的發(fā)展很快蜓肆,各種框架層出不窮颜凯,但是對(duì)我而言來(lái)講其實(shí)沒(méi)那么復(fù)雜谋币,
因?yàn)槲覍?duì)框架技術(shù)本身不感興趣,我只感興趣框架技術(shù)能做什么症概,能解決什么業(yè)務(wù)場(chǎng)景蕾额,能不能快速?gòu)?fù)制,我一直盯著的是框架的生態(tài)彼城。
基于這個(gè)理論诅蝶,排除法其實(shí)很好做。很多人在乎的框架快不快募壕、牛不牛调炬,我是不在乎.

當(dāng)然,這不等同于你不需要學(xué)習(xí)框架底層舱馅,或者不做壓測(cè)缰泡、不做優(yōu)化。
我如果學(xué)習(xí)某個(gè)框架底層代嗤、做壓測(cè)棘钞、做優(yōu)化,那只有一種目的资溃,我需要了解它武翎,我需要度量指標(biāo)烈炭,不然后續(xù)框架升級(jí)我無(wú)法知道是進(jìn)步了溶锭,還是退步了。
在我過(guò)去的工作中發(fā)現(xiàn)有些人跟我的思考方式是不太一樣符隙,他們喜歡探究 0 和 1 的感覺(jué)趴捅,它們不 care 產(chǎn)品,不 care 項(xiàng)目管理霹疫,他們只想寫(xiě)他們爽的代碼拱绑。
這里我們也可以做個(gè)小調(diào)研,大家可以在彈幕中說(shuō)說(shuō)自己是屬于什么類(lèi)型的開(kāi)發(fā)者!
1 技術(shù)型開(kāi)發(fā)者丽蝎,2 產(chǎn)品型開(kāi)發(fā)者猎拨,3 我全都要


回到框架的選擇,基于我前面理論屠阻,在國(guó)內(nèi)我們選擇什么框架其實(shí)沒(méi)那么復(fù)雜红省,就只有 React、Vue 兩種国觉。

Svelte 目前生態(tài)還不夠吧恃,優(yōu)點(diǎn)就是簡(jiǎn)單、輕麻诀、快痕寓。
Angular 是后端思維的前端傲醉,學(xué)習(xí)坡度較高,以 Google 主導(dǎo)生態(tài)呻率,國(guó)內(nèi)社區(qū)生態(tài)不夠硬毕。

React、Vue 在社區(qū)生態(tài)中都是比較完善筷凤,但是它們的編碼風(fēng)格還是有點(diǎn)不一樣昭殉,選你自己喜歡就行。
如果你沒(méi)辦法上大廠藐守,那 Vue 比較傻瓜挪丢、簡(jiǎn)單,中小企業(yè)普遍用得較多卢厂,可以優(yōu)先學(xué)乾蓬。
我比較認(rèn)可 Vue 的尤雨溪,認(rèn)為他是具備產(chǎn)品慎恒、技術(shù)多個(gè)思維的開(kāi)發(fā)者任内。



3. 正在發(fā)展的云開(kāi)發(fā)介紹(無(wú)服務(wù)器)

[圖片上傳失敗...(image-743bb1-1655207786669)]

國(guó)內(nèi)目前云開(kāi)發(fā)最有名的就是:微信小程序云開(kāi)發(fā)。因?yàn)樾〕绦虮旧斫缑嫒诩怼I(yè)務(wù)都是比較簡(jiǎn)單死嗦,確實(shí)挺合適的這種模式的。

市面上的 Serverless 主要產(chǎn)品命名都是帶有:Lambda 或 Function 的關(guān)鍵字粒氧,可以看出來(lái)特點(diǎn)都傾向于函數(shù)計(jì)算越除,或者它們叫做函數(shù)即服務(wù)。
它們本質(zhì)也是干解耦計(jì)算和存儲(chǔ)的事情外盯。雖然現(xiàn)在也有一些項(xiàng)目在做數(shù)據(jù)庫(kù)的 Serverless 比如 Neon摘盆,只是看起來(lái)還太早了。

目前行業(yè)的大問(wèn)題主要在于存儲(chǔ)饱苟,而不是計(jì)算孩擂。存儲(chǔ)場(chǎng)景不一樣,需要用到的數(shù)據(jù)庫(kù)不一樣箱熬。
目前存儲(chǔ)環(huán)境很割裂类垦,比如我常用的就有 MySQL、MongoDB城须、Redis蚤认、Elasticsearch、ClickHouse酿傍、Prometheus烙懦、Neo4j、Hadoop 等等。

存儲(chǔ)真的是后端最痛苦的地方氯析。
如果你后端要復(fù)雜起來(lái)亏较,那就需要考慮各種場(chǎng)景的安全引擎、規(guī)則引擎掩缓、報(bào)表引擎雪情、流程引擎、批處理引擎你辣、事件引擎巡通、搜索引擎等等

如果你只是使用傳統(tǒng)數(shù)據(jù)庫(kù)、文件存儲(chǔ)舍哄,那這種云開(kāi)發(fā)方案是很方便的宴凉。但是如果要考慮微服務(wù),大數(shù)據(jù)表悬,智能推薦等大方向弥锄,那就很難辦,至少現(xiàn)在 Serverless 行業(yè)還沒(méi)結(jié)果蟆沫。
對(duì)于我一直說(shuō)的用戶畫(huà)像籽暇、智能推薦它們不是大系統(tǒng)的專(zhuān)利,小系統(tǒng)也很需要饭庞,只是現(xiàn)階段成本對(duì)他們來(lái)講太貴了戒悠。

總結(jié):Serverless 這類(lèi)云開(kāi)發(fā),它們現(xiàn)階段只保下限舟山,無(wú)法爭(zhēng)上限绸狐。并且每家各不兼容,如果對(duì)于數(shù)據(jù)安全捏顺、遷移成本等考慮的話六孵,目前還是需要慎重纬黎。


4. 我常用的前端框架介紹

4.1 Vue3-Admin

[圖片上傳失敗...(image-4c8aad-1655207786669)]

  • Vue 的后臺(tái)管理模板幅骄,在 Vue2 的時(shí)候我用 Ant-Design-Vue。現(xiàn)在 Vue3 我用 Element-Plus本今,
  • 主要是因?yàn)?Element-Plus 社區(qū)參與人員更多拆座,細(xì)節(jié)更完善,并且不會(huì)跟 TailwindCSS 沖突冠息,也方便我寫(xiě) PC Web 場(chǎng)景挪凑。

4.2 Vu3-SSR

[圖片上傳失敗...(image-27bc2c-1655207786669)]

  • PC Web 用 SSR 框架除了 SEO 需要,那些以閱讀為主的前端也可以用來(lái)提速加載速度
  • Vue 的 SSR 目前主推 Nuxt.js 沒(méi)得選逛艰,當(dāng)然它做得也不錯(cuò)

4.3 Chrome 擴(kuò)展開(kāi)發(fā)

[圖片上傳失敗...(image-cb0c0f-1655207786669)]

  • Chrome 擴(kuò)展開(kāi)發(fā)我們可以用原生 JS 開(kāi)發(fā)
  • 也可以用 Vue 框架編譯躏碳,一般 Chrome 擴(kuò)展都不是很復(fù)雜,可以直接考慮用 Vue

4.4 Electron 桌面跨平臺(tái)開(kāi)發(fā)

[圖片上傳失敗...(image-888a06-1655207786669)]

  • 考慮到桌面端類(lèi)似于 PC Web 端散怖,所以用 Electron-Vue 框架開(kāi)發(fā)效率會(huì)更高菇绵。

4.5 Flutter 移動(dòng)端跨平臺(tái)開(kāi)發(fā)

[圖片上傳失敗...(image-1c2ada-1655207786669)]

  • APP 能用原生開(kāi)發(fā)是最好的肄渗,F(xiàn)lutter 也只是一種折中,目前普通業(yè)務(wù)還是能支持的咬最。
  • Flutter 在移動(dòng)端上已經(jīng)基本完善了翎嫡,并且 pub.dev 也有大量的包,生態(tài)也起來(lái)了永乌。
  • React Native 每次升個(gè)級(jí)都讓自己很苦逼惑申,配置環(huán)境,調(diào)試啥的也真的難用翅雏,不推薦圈驼。

4.6 微信小程序開(kāi)發(fā)

[圖片上傳失敗...(image-a7b1a4-1655207786669)]

  • 如果你是一次性的小程序項(xiàng)目,或只是簡(jiǎn)單展示項(xiàng)目可以考慮 uni-app望几、Taro 這類(lèi)多端的框架碗脊。
  • 但是,如果你打算長(zhǎng)期維護(hù)橄妆,并且可能有復(fù)雜需求需要擴(kuò)展衙伶,我建議還是用原生的,不然很容易出現(xiàn)無(wú)力感害碾。
  • 因?yàn)槿绻隳硞€(gè)需求用原生做不了矢劲,那就可以把責(zé)任推給騰訊。但是如果你用框架造成了原生可以支持慌随,框架不支持芬沉,那有你老板可不是這么想。
  • 雖然 uni-app 支持混合開(kāi)發(fā)阁猜,但是還是那句話丸逸,遇到問(wèn)題責(zé)任算誰(shuí)的。

下期預(yù)告

  • 下期我們將介紹《基于 YApi 的前后端對(duì)接實(shí)踐》剃袍,分別從以下 4 個(gè)方面進(jìn)行講解:
1. 前后端的對(duì)接標(biāo)準(zhǔn)
2. YApi 介紹
3. YApi 相關(guān)生成器場(chǎng)景介紹
4. 我的 YApi 開(kāi)源生成器介紹

最后

  • 如果你心中有創(chuàng)意黄刚,想自己開(kāi)發(fā)產(chǎn)品,可以微信聯(lián)系我民效。
  • 如果你覺(jué)得視頻憔维、文章對(duì)你有幫助,歡迎點(diǎn)贊畏邢、收藏业扒、轉(zhuǎn)發(fā)。我們下期見(jiàn)舒萎。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末程储,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌章鲤,老刑警劉巖致板,帶你破解...
    沈念sama閱讀 206,839評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異咏窿,居然都是意外死亡斟或,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén)集嵌,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)萝挤,“玉大人,你說(shuō)我怎么就攤上這事根欧×洌” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 153,116評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵凤粗,是天一觀的道長(zhǎng)酥泛。 經(jīng)常有香客問(wèn)我,道長(zhǎng)嫌拣,這世上最難降的妖魔是什么柔袁? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,371評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮异逐,結(jié)果婚禮上捶索,老公的妹妹穿的比我還像新娘。我一直安慰自己灰瞻,他們只是感情好腥例,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,384評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著酝润,像睡著了一般燎竖。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上要销,一...
    開(kāi)封第一講書(shū)人閱讀 49,111評(píng)論 1 285
  • 那天构回,我揣著相機(jī)與錄音,去河邊找鬼蕉陋。 笑死捐凭,一個(gè)胖子當(dāng)著我的面吹牛拨扶,可吹牛的內(nèi)容都是我干的凳鬓。 我是一名探鬼主播,決...
    沈念sama閱讀 38,416評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼患民,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼缩举!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,053評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤仅孩,失蹤者是張志新(化名)和其女友劉穎托猩,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體辽慕,經(jīng)...
    沈念sama閱讀 43,558評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡京腥,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,007評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了溅蛉。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片公浪。...
    茶點(diǎn)故事閱讀 38,117評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖船侧,靈堂內(nèi)的尸體忽然破棺而出欠气,到底是詐尸還是另有隱情,我是刑警寧澤镜撩,帶...
    沈念sama閱讀 33,756評(píng)論 4 324
  • 正文 年R本政府宣布预柒,位于F島的核電站,受9級(jí)特大地震影響袁梗,放射性物質(zhì)發(fā)生泄漏宜鸯。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,324評(píng)論 3 307
  • 文/蒙蒙 一遮怜、第九天 我趴在偏房一處隱蔽的房頂上張望顾翼。 院中可真熱鬧,春花似錦奈泪、人聲如沸适贸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,315評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)拜姿。三九已至,卻和暖如春冯遂,著一層夾襖步出監(jiān)牢的瞬間蕊肥,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,539評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工蛤肌, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留壁却,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,578評(píng)論 2 355
  • 正文 我出身青樓裸准,卻偏偏與公主長(zhǎng)得像展东,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子炒俱,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,877評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容