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