請問學習關於學習架設網站的資訊有?(除以下資訊還有?)
台灣大學資訊系統訓練班
https://train.csie.ntu.edu.tw/train/
若是對於什麼都不懂的民眾要學習,架設網站會建議有?
網站分類大至分為兩大類?
靜態資料網站(static website)
動態資料網站(dynamicwebsite)
什麼css、javascript、html、php、java一定會有一堆人跟你說要學、要看,
但你又沒有一個入門、入手的輪廓與了解,一眛的聽網友東一個、西一個的
建議,我想你也很頭大。想說去上個網頁開發的課程,而課程也是琳瑯滿目
、五花八門,深怕花錢上錯課,就好像買冷氣,買錯噸數安裝後又不能退一
樣,所以上網來問問,那麼你至少要對一個網站的形成,需要有基礎的了解。
html、css、javascript是一個網頁組成的基本語法、語言,而這個網頁形成、產生
的方法,可以使用package、framework等工具來達成,把它想成現代造車方式,
都是拿現成的零組件、車台、引擎來組裝生產,網站前、後端的開發也是雷同。
package、framework這些是一種已經事先規劃好"如ppt大綱"的工具,至於在這個大綱
下要如何生成你所需要的架構、結構,它提供了泛用的範本,當然你也可以按你的
需求進行更改調整。使用這些package、framework,裡面包函了公共協議、約定成
俗的架構、機制與寫法,以及快速生成腳手架(就是你系統該需要有的初步結構與佈
置)的精靈。不過...想要讓系統達到什麼功能,其中的邏輯與主要代碼,還是要自己
動手寫,package、framework只是幫先把整個結構框架先產生出來,其他的還是要
自己完成。
現在開發網站的工作人員,學會使用這些package、framework可以事半功倍、可以
減少結構設計上的錯誤,也很適合團隊開發;甚至可以直接使用"以這些package、
framework開發好的公版"產品,一個開箱即用的"網站"、"系統",只需要經過一些按
需客製與微調,並與後端接口串接,就可以快速上線使用(阿里也弄了一套開箱即用
的產品,可以試試還不錯)。
所以弄清楚一個網站,前端與後端使用哪些package、framework來做什麼事情,以
及有哪些主流、適用、好用的package、framework工具(相同功能類型的package、
framework會有多個商業或開源的品牌),並且了解、選定使用哪一套package、framework
,然後去學習如何使用它來加速網站的開發(基本都是使用開源免費的框架)。選擇
使用哪一套package、framework很重要,在公司就是跟著公司的選擇,若是個人,
基本就選擇最主流的,例如我使用java作為後端語言,那自然就選擇SSM作為後端框架。
簡易的描述一下:
前端:UI框架工具(如bootstrap、Element Ui等)、charts框架工具(如echarts、bizcharts)
與後端交換資料的機制(ajax、axios)。(這些前端框架,內容基本都是使用javascript、
html、css組成,意思就是說,前端頁面使用的程式語言,就是javascript+html+css,即
使你使用了前端相關的package、framework,也是用這三種語言工具來撰寫開發。當然
我們不討論typescript,初學者還不用了解這個東西)
後端:若使用java語言,配合的框架SSM(SpringMVC + Spring + MyBatis)
資料庫:MySQL或其他
了解了前、後端有哪些package、framework,以及使用的資料庫,接著就是要用什麼工
具來開發它。一般都會使用所謂的IDE(整合式開發環境: 是協助程式設計師高效地開發
軟體程式碼的軟體應用程式),比較多人使用的IntelliJ IDEA (收費)或Eclipse(開源),個人
使用IntelliJ IDEA,滿好用。
使用這類IDE工具進行開發,基本開發好某些單元代碼後,就可以在IDE工具裡面運行,
就可以在瀏覽器裡看的到網頁運行的效果,IDE工具也可以協助除錯等等。等寫好網站後
,就可以直接在本機上以命令模式下達指令:
C:\myweb\java -jar myweb-server-0.0.1-SNAPSHOT.jar
直接將寫好的網站運行起來,也不用另外安裝web server(因為SSM自帶tomcat web server
會打包在*.jar檔案裡面),除非你有專門準備好的正式環境與防火牆安全上的考慮與設計,
不然直接運行起來,就可以提供網頁服務了。
上面寫了這麼多,你看完後也有一定的了解後,就可以使用百度搜索,到對岸搜索一下
你所需要的package、framework的教學,基本你會搜索到非常巨量的"免費教學視頻",
這些教學視頻有非常多都是任職阿里、騰訊、數字科技裡的大牛錄製的教學課程,當初
是收費的,但是......一傳十、十傳百後,就變成免費的,去靜下心來,完完整整的看完
你配對成套的package、framework視頻教學,其中不少教學視頻裡,是帶有step by step
實務開發系統,你也認真的照著開發一遍,一天4小時,3個月後,你應該就算入門了!
也能"copy"出一套你需要的網站了,若想在精進,那就多去github看別人寫的系統源代碼
,或是有閒時間,看一下SSM裡的spring代碼,也會有很大的收獲。(因為大陸電腦用語
有所不同,在看教學視頻時,需要事先習慣一下)
以上分享
----------分隔線-------------------------------------------
補充一下:目前就市場來看,基本就是直接掌握好package、framework來開發網站,這
個方向目前是沒錯誤的。所以挑選"正確"的package、framework就變的非常重要了!雖然
有些厲害的高手,能做到"一法通則萬法通",但我們是普通人,而且時間還要花在美好的
生活上,不可能一直學習"各種各類"的package、framework,反而是選定某一個後,專
精並深耕它。一旦投入學習,學習成本、沈入成本,市場行情、佔有率、該工具擴展性、
生態完整性,,個人精力、體力等等,就要好好掂量掂量了,這些能夠成名的package、
framework要弄懂它們,可不是件輕鬆容易的事。
直接給你一些推薦:網站開發分前端、後端,後端的部份推薦用java + SSM框架,基本沒
有什麼問題,投資報酬率也高、生態環境也完整、成熟,也是業界主流之一;而前端就
沒這麼好推薦了,畢竟這幾年前端的市場裡也是百花齊放,而且架構也有所變化與強化
,這個真不好給你推薦,但是前端幾個需要配備的package、framework還是能挑出一些
重量級的開源產品給你。
前端就是給用戶看到的畫面與內容,最直接的就是畫面的介面與設計,這個部份若是徒
手開發,光是決定線條的粗細、圓角或直角,以及元素的位置大小,整體匹配的視學、
配色及美觀等問題,可能就會讓你自殺數百次,所以選擇一套好用方便又完善的UI工具
(user interface用戶介面),就是非常必要的,它已經繪製好通用的元件元素,佈局配色
等等,只需要引入該package,便可以使用它。UI package會比較推薦bootstrap,但因
為某些自身原因,所以我並不使用它。
除了畫面外,另一個重點會是圖表,例如折線圖、圓餅圖、曲線趨勢圖等等,這類的圖
表在一般介紹企業的外部官網上可能用的不多,但是在企業內部各類分析、報表、計劃
等等的系統,用到的機會與比重是非常多的,這邊會比較推薦Echarts這個package
你或許會覺得奇怪,為何我沒有提到react(fb開發並開源,2013)、vue(大陸神人尤雨溪
開發並開源,2014,同時他也在google工作多年)、angular(google開發並開源,2016)
這三種"前端框架"。
這些框架為何被開發出來?是為了解決什麼事情?我抄錄網路的一段話來解釋:因為頁
面越來越複雜且雜亂,不再是使用JavaScript或是Jquery就有辦法處理各種複雜的"前端
狀態",因此有了框架的誕生。React、Vue、Angular 則是為了處理複雜的前端狀態而被
發展出來的。
也就是說,在網站前端(網頁頁面)的部份,之前都是隨開發者的功力自行開發、設計、
規劃頁面結構、功能,以及前後端資料交換、處理、存取的解決方式。就我的理解,似
乎在前端的架構部份,少了類似 "後端java SSM的框架工具",可以生成所需要的架構
、結構,並且提供泛用的範本,讓其內包函了公共協議、約定成俗的架構、機制與寫法
,以及快速生成腳手架的精靈。
網站的"後端"部份,不需要面對"用戶",所以framework將系統的代碼、目錄結構、功能
、機制,按"業界規範標準"自動生成且規劃設計好,就可以在背後(景)運行並提供服務(同
樣提醒一下:想要讓後端系統達到什麼功能,其中的邏輯與主要代碼,還是要自己動手寫
,package、framework只是幫先把整個結構框架先產生出來,其他的還是要自己完成。);
而"前端"因為面對"用戶"的視覺與操作,同時按操作的要求還要跟"後端"互動、計算、存
取資料(當然"後端"在需要的時候,會向它下面的資料庫去存取數據),所以會使用到UI框
架工具或Charts圖表框架工具(當然這2個部份,開發者也可以自己徒手開發,不使用框架
工具)
在前端的部份說了這麼多,且沒提到React、Vue、Angular這三大前端框架,主要還是在
"前後端系統架構"方面不好對初學者解釋清楚。
R、V、A這三大框架基礎的使用方式,是採用前後端分離的方式,對於資料與畫面"處理者"
而言,稱其為CSR(Client-Side Rendering,客戶端渲染)方式,也就是資料與畫面在用戶面
前呈現,是由前端拿到後端"資料"後,由前端來執行渲染。(將資料與畫面格式、位置、顏色
等進行揉合一起,可以稱這個動作叫渲染)。
而傳統網頁上資料呈現的方式,是SSR(Server-Side Rendering,伺服器端渲染)...............
這個再解釋下去,對你初學者而言,有些鴨子聽雷了,那就不說了,等到以後真的入門了
,相信這些對你來說,也只是基本常識。
前端:學會bootstrap、echarts框架,javascript語言要學會、html要了解、css看得懂。
後端,學會springBoot框架(內含了SpringMVC、Spring,而Mybatis可在springboot
pom.xml相依進來,由maven提供library,mysql資料庫 library也要相依進來,然後在本機
安裝好mysql資料庫),java語言要學會。
資料庫:mysql資料庫的安裝、使用,而操作資料庫需要用到sql語法,所以這個要學,但
除非是專職寫報表,不然sql語言不用鑽的太精。
上面所提供的框架、語言,在大陸的教學視頻中都能輕易找到,而且內容、教學技巧也非
常棒(當然同個主題,你可能要看過幾套後,才能分辨出哪些視頻課程是好的。
以上補充




























































































