想問一下,最近朋友要學前端,目的應該是寫網頁。
我跟他說直接碰框架,大概把jquery搞懂,
就去上react。
可是我另一個前輩朋友說:建議原生js慢慢摸。
我大概能理解前輩朋友的意思,就是打底保健康,
不過我那個朋友要學,並不是為了工作,只是工具傾向。
所以我才覺得,就模板套套,bootstrap用下去,東西就出來。
我只怕萬一朋友聽了某前輩的觀念,結果搞老半天,
學是學很穩,但太慢,
根本做不出東西來。
那也就錯失了商業機會。
可不可以請各位幫我分析,假設一個人打死都不碰框架,說要穩穩地學,
看不起模板跟bootstrap就硬要自己手刻,
而且是初學者喔!初學者!
是否能說明一下這樣子的優點跟缺點?
套框架真的很快
如果是打算做工具的話,想直接套用框架其實沒有問題
問題在你朋友這個工具需要用到多深的地步
如果是那種其實什麼都不太需要修改的話,只是單純套用的話
那麼直接套用沒問題
不過如果他可能還需要根據一些條件做些微調整的話
也不需要他像你前輩說的原生js完全慢慢摸
不過一些基礎的js運用方法,還是得去學習一下
如果你擔心他會錯失時機,我只能說
最少,他打算套用的框架部分,他得了解一下,到底是怎麼實現的
這樣在調整的時候,才不會不曉得從哪入手
或是出現bug時也不曉得怎麼調整
我身邊之前有同事就是那種套框架,然後套完什麼都不管的那種
不會修改調整,也沒辦法排除bug,最後他的作品完全不能用
因為他的套件套到自己都搞不清楚怎麼弄出來的......
基本上,你要先了解一件事。
所有的框架本體,都是javascript的。
所以,學習原生javascript並不是不好的事。而且如果能了解。
任何框架學習都不會是難事。
框架其最大的目的,就是將你原本已知的原生JS寫法。給物件化、容易操作處理。
但還是離不開原生JS。
但並不代表原生JS是一定要必學。有學對一定有好處。但就算沒學。
了解框架的應用來建立網站前端,其實也不是不可。
就我個人的看法,我確實還是會偏向最好還是打好底,學好原生JS。
這樣面臨啥框架,學習起來都沒有難度。
但也確實就如你所言的。學習曲線高,時間長。
這一般我對工程師的人員都是這樣說。有學原生JS是一定有好處。
但就學沒學。有練習好某個框架其實也是可以的。
只是一個學了可以縮短其它框架學習的曲線。一個則是直接學。
就看個人的看法及想法了。
分享一個經歷給你朋友
我前同事就是複製別人的框架,複製、貼上 ( 說實話,真的滿厲害的,很速成)
但是一出包,總是要花很多時間去除錯...
後來才發現我前同事並沒有去理解..
導致大多時間都在Debug,修正完,在複製貼上 ( 其實也不曉得,有沒有修正正確 ),不斷輪迴。
但以我的經驗來說
多理解,對於後面開發,會有不同見解,也可以增進自己程式能力。
不然下次遇到新的問題,也是每天在問 "為什麼"。(隔壁同事可能被問到有怨念~)
PS:我就是那個當初學習很慢的人QQ
我也建議直接學jsx的框架,但基礎DOM的操作還是要有概念,bootstrap就不用浪費時間去摸了,直接改用tailwindcss比較有機會在不同框架裡面使用。
至於你想學vue、react還是其他新出的框架就真的比較沒差了,但我會建議找有支援jsx的框架,solid、qwik我覺得都還算蠻不錯的,但基底其實都是從react的概念延伸的,如果後面想學full stack的話還可以轉使用 Next、remix這些框架,但是基礎的概念是一樣的。
所以基礎觀念夠好、要摸不同的框架其實不難也蠻容易上手的,搞清楚自己學這個工具是要拿來處理怎樣的問題比較重要,不要因為別人學而學!
個人建議用原生
好處
1: 學習其他框架很快
2: 如果一開始用框架,換工作時候,要能保證其他公司也是用同框架
3: 習慣原生羅輯思維也比較清楚
4: 框架有時候很多莫名的bug,像速度慢的時,debug就很累了
5: 框架或套件的安全性,誰知道會不會有人利用漏洞入侵
6: 原生彈性比較大
這只是建議
也有人框架爽爽的用
同樣是初學者路過
我之前也是把基本js“看過”後就去學框架,我只能說過程超級痛苦完全看不懂
最後我還是默默把js撿起來好好學...
當然有些人學習能力異於常人,若你朋友學習上沒有遇到問題我覺得也沒什麼不好
但是我滿認同前面幾位前輩說的,框架的本體還是javascript蓋出來的
最終若要在框架的部分上精進,還是離不開最底層的javascript
為什麼不參在一起做呢!?
就好像手上有一個完整的PPT,
裡面有各種重點可以使用,且方便了解。
但不代表書本就沒用處不是嗎?
有些人喜歡先看重點,後再看書,覺得這樣比較好理解,
有些人則先看完書,自己整理重點後多方比較。
學習方式和使用情況不同,會有不同的學習方式
例如你朋友狀況,不是要拿來工作的話,
可能先用bootstrap、碰框架先將簡單的上手,
也可以邊學JS加深整體觀念;比例上就看怎麼分配而已。
大意是這樣。
BTW我個人時間頗多,所以我先學JS。