別再追逐全新框架了,先打好基礎(chǔ)再說......
Hello,大家好,我是 Sunday
如果大家做過一段時(shí)間的前端開發(fā),就會(huì)發(fā)現(xiàn)相比其他的技術(shù)圈而言,前端圈總顯得 “亂” 的很。
因?yàn)?,每隔幾個(gè)月,圈里就會(huì)冒出一個(gè)“閃閃發(fā)光的全新 JavaScript 框架”,聲稱能解決你所有問題,并提供各種數(shù)據(jù)來證明它擁有:更快的性能!更簡(jiǎn)潔的語法!更多的牛批特性!
而對(duì)應(yīng)的,很多同學(xué)都會(huì)開始 “追逐” 這些全新的框架,并大多數(shù)情況下都會(huì)得出一個(gè)統(tǒng)一的評(píng)論 “好牛批......”
但是,根據(jù)我的經(jīng)驗(yàn)來看,通常情況下 過于追逐全新的框架,毫無意義。 特別是對(duì)于 前端初學(xué)者 而言,打好基礎(chǔ)會(huì)更加的重要!
PS:我這并不是在反對(duì)新框架的創(chuàng)新,出現(xiàn)更多全新的框架,全新的創(chuàng)新方案肯定是好的。但是,我們需要搞清楚一點(diǎn),這一個(gè)所謂的全新框架 究竟是創(chuàng)新,還是只是通過一個(gè)不同的方式,重復(fù)的造輪子?
全新的框架是追逐不完的
我們回憶一下,是不是很多所謂的全新框架,總是按照以下的方式在不斷的輪回?
- 首先,網(wǎng)上出現(xiàn)了某個(gè)“全新 JS 框架”發(fā)布,并提供了:更小、更快、更優(yōu)雅 的方案,從而吸引了大量關(guān)注
- 然后,很多技術(shù)人開始追捧,從 掘金、抖音、B 站 開始紛紛上線各種 “教程”
- 再然后,幾乎就沒有然后了。國(guó)內(nèi)大廠不會(huì)輕易使用這種新的框架作為生產(chǎn)工具,因?yàn)榇髲S會(huì)更加看重框架的穩(wěn)定性
- 最后,無非會(huì)出現(xiàn)兩種結(jié)果,第一種就是:熱度逐漸消退,最后停止維護(hù)。第二種就是:不斷的適配何種業(yè)務(wù)場(chǎng)景,直到這種全新的框架也開始變得“臃腫不堪”,和它當(dāng)年要打敗的框架幾乎一模一樣。
- 重新開始輪回:另一個(gè)“熱門”框架出現(xiàn),整個(gè)循環(huán)再次啟動(dòng)。
Svelte
火了那么久,大家有見到過國(guó)內(nèi)有多少公司在使用嗎?可能有很多同學(xué)會(huì)說“國(guó)外有很多公司在使用 Svelte
呀?” 就算如此,它對(duì)比 Vue 、React、Angular(國(guó)外使用的不少)
市場(chǎng)占有率依然是寥寥無幾的。并且大多數(shù)同學(xué)的主戰(zhàn)場(chǎng)還不在國(guó)外。
很多框架只是語法層面發(fā)生了變化
咱們以一個(gè) “點(diǎn)擊計(jì)數(shù)” 的功能為例,分別來看下在 Vue、React、Svelte
三個(gè)框架中的實(shí)現(xiàn)(別問為啥沒有 angular
,問就是不會(huì)??)
Vue3 實(shí)現(xiàn)
<template>
<button @click="count++">點(diǎn)擊了 {{ count }} 次</button>
</template>
<script setup>
import { ref } from 'vue';
const count = ref(0);
</script>
React 實(shí)現(xiàn)
import { useState } from 'react';
function Counter() {
const [count, setCount] = useState(0);
return (
<button onClick={() => setCount(count + 1)}>
點(diǎn)擊了 {count} 次
</button>
);
}
export default Counter;
Svelte 實(shí)現(xiàn)
<script>
let count = 0;
</script>
<button on:click={() => count += 1}>
點(diǎn)擊了 {count} 次
</button>
這三個(gè)版本的核心邏輯完全一樣,只是語法不同。
那么這就意味著:如果換框架,都要重新學(xué)習(xí)這些新的語法細(xì)節(jié)(哪里要寫冒號(hào)、哪里要寫大括號(hào)、哪里要寫中括號(hào))。
如果你把時(shí)間都浪費(fèi)著這些地方上(特別是前端初學(xué)者),是不是就意味著 毫無意義,浪費(fèi)時(shí)間呢?