零基礎的網站開發初學者如何系統的學習?

A.學習背景
開始網站開發,起先是從手機網站的UBB語法開始的,也因此有了深入學習的興趣。爲了讓學習的熱情膨脹,我有意的培養這一愛好 ,定位了自己要成爲一名優秀的網站開發員的目標。
作爲一名只有高中水平的零基礎初學者,周圍也沒有掌握相關知識的朋友,打算自學的我只有通過google,baidu來了解要學習網站開發所需要的知識點。
目前掌握的知識點
瞭解到網站分爲前端和後端。
前端方面:由於我是從UBB語法上開始的,我一開始就選擇了學習的XML,後來學到,schema的一知半解,到後來的DOM就出現了瓶頸,於是放下這個開始學習HTML,CSS,可是一直都覺得簡單,也就當看電影一樣一氣呵成,便開始了學習Javascript,一直堅持到了自己能編寫一些簡單的效果,也在這裏進一步的瞭解了DOM,此時我覺得可以進行一些進階級的網站效果設計,可是忽然發現我對HTML+CSS原來是如此不堪,我並不能很好的用它們去編排內容,更或者說我連從哪下手去設計都不知……爲此我迷茫了很久,又回過頭來學習一遍,我才發現自己腦子裏的知識點是一片混亂!
由於我是斷網自學(手機上網看文字的內容還是很方便的),原因是爲了不讓自己在網絡上分散了學習上的那份專注。所以對於圖片等素材是很是欠缺的。我也知道前端對於熟悉PS,AI,Flash等圖行工具很重要,可是我看了這麼多教程,就是找不到學習的竊門,只能對圖片進行一些簡單處理,Flash更是難點重重,我就一直想不明白,用鼠標鍵盤怎麼畫出那麼好看的動畫。。。。。。
後端方面:我選擇了PHP,MySQL。由於前面學Javascript的經驗,學PHP也不是很難,學完了一些基礎語法,MySQL也瞭解了建庫建表,可就是一直沒用過,這也是因爲前面的知識點一直沒找到突破口,所以也就沒打算怎麼去深入學習後臺知識。
B.問題
一. 怎樣編寫標準的HTML+CSS,對於這些規範的標準很是不解,對於編寫代碼(包括js,php)有哪些好的習慣?我一直沒有給自己寫的代碼註釋,也許是目前自己寫的都是太簡單了。
二. 從Javascript , xml 上我都對DOM這一知識點上了解不深,是不是一種面向對象的知識,我該怎麼去形象通俗的瞭解面向對象?
三. 我該如何去系統的整合我現在的HTML+CSS+Javascript+xml+PHP+MySQL的知識,或者說是如何系統的學習,作爲一名單獨的自學者,我很是迷茫這一點!???
四. 圖形工具(PS,AI,Flash)方面,有沒有一個好的學習建議或竅門?
五. 從未來的互聯網發展趨勢來看,還有哪些知識點是網站開發者需要掌握的?
C.後記
個人對自己的點評:1)可能是約束力不夠,搞得知識面混雜。2)有點好高騖遠了,基礎沒勞固就想開發?3)急功求成,對於一個23歲沒收入的青年來說,如果不能早日學成,是個很可怕的事,壓力啊!
在此我也講講發這一篇像博文般問題的原由,知乎作爲中國首家專注社交問答類的網站,我認爲這必然有它的出彩之處。這裏牛人前輩也是特別的多,所以我想單純的提出問題,還不如上百度算了,這裏提倡社交式的問答,問題問的不止是要答案,還要是着重於社交這一點,所以我加入了對問題背景的產生,更好的讓人瞭解了我的現狀,對回答應該有所幫助。
同時我也是想着能否找到一些與我一樣的初學者,相互提高;或者是偏重圖形工具的人能與我形成互補,希望以後能有合作的機會。
最後,我對所有對我的幫助者致以真誠的感謝! 


網站開發開發大概分爲前臺和後端,前臺又可以分爲美工,交互設計,js編程。後端瞭解不多,前端的話,可以按如下思路學習系統學習:
基礎知識:
1. html + css 這部分建議在 www.w3school.com.cn 上學習,邊學邊練,每章後還有小測試。之後可以模仿一些網站做些頁面。在實踐中積累了一些經驗後,可以系統的讀一兩本書,推薦《head first html 與 css 中文版》,這本書講的太細了,我沒能拿出耐心細讀。你可以根據情況斟酌。
2. javascript 要學的內容實在很多,如果沒有其他編程語言的基礎的話,學起來可能要費些力,還是建議先在 w3school上學習。之後建議馬上看《javascript語言精粹》,js是一門很混亂的語言,這本書能夠幫助你區分哪些是語言的精華,哪些是糟粕,對於語言精華,應該深入學習。糟粕部分能看懂別人寫的代碼就行,自己就不用嘗試了。
進階:
有了以上基礎,就可以進行一般的靜態網頁設計,不過對於複雜的頁面還學進一步學習。
1. css。必看《精通css》,看完這本書你應該對:盒子模型,流動,block,inline,層疊,樣式優先級,等概念非常瞭解了。作爲練習可以看下《css藝門之匠》這本書,它對標題,背景,圓角,導航條,table,表單等主題都有詳細的介紹。
2. javascript。上面提到內容還不足以讓你勝任js編程。在有了基礎之後,進一步學習內容包括:
a) 框架。推薦jQuery,簡單易用,我的第一web項目就是在w3school簡單學習後,直接上手jQuery完成的,真的很難簡單,很好用。jQuery適用環境有限,對於那些對性能要求很高的頁面無法勝任。推薦瞭解一下 YUI 或百度的 tangram ,都很好用,學習方法也很簡單,照着產品文檔做幾個頁面就行了,不用面面俱到,以後遇到問題查文檔就行了。框架可以幫你屏蔽瀏覽器的差異性,讓你能更專注與web開發學習的精髓部分。
b) javascript 語言範式 。這個名字可能並不恰當,只是我找不到可以描述“面向對象”,“函數式”這個兩個概念的概念。javascript不完全是一個面向對象的語言,它的很多設計理念都有函數編程語言的影子,甚至說如果你不用面向對象,完全可以把它理解成一門函數式編程語言。javascript的很多語言特性,都是因爲他具有函數是語言的特點才存在的。這部分推薦先學習面向對象的基本理論,對封裝,繼承,多態等概念要理解,維基百科,百度百科會是你的幫手,另外推薦《object oriented javascript》,應該有中文版。對與函數式編程我瞭解的也不繫統,不好多說,可以自己百度一下。
c) javascript 語言內部機制。必須弄清如下概念:js中變量的作用域,變量傳遞方式,函數的定義環境與執行環境,閉包,函數的四種調用方式(一般函數,對象的方法,apply,call),以及四種調用方式下,‘this'指向的是誰。這部分內容你會在《javascript語言精粹》中詳細瞭解。另外,你必須理解json。
d) dom編程,這個web前端工程師的核心技能之一。必讀《dom編程藝術》,另外《高性能javascript》這本書中關於dom編程的部分講的也很好。
e) ajax編程,這是另一核心技術。ajax建議在網上查些資料,瞭解這個概念的來龍去脈,百度百科,維基百科上的內容就足夠了。真正編程是很容易的,如今幾乎所有框架都對ajax有良好的封裝,編程並不複雜。
f) 瞭解瀏覽器差異性。這部分包括css和js兩部分,瀏覽器差異內容很多,建議在實踐中多多積累。另外對於瀏覽器的渲染模式,DOCTYPE等內容應該系統學習。
再進一階:
有了以上知識,對於大多數小型網站,你應該已經可以寫出能夠工作的代碼了。但寫出可以運行的代碼,只是編程的最初級階段。更高要求大概還有三方面:1易維護,2可測試,3高性能,如果頁面流量有要求,那第四個就是,4低流量。
1. 易維護。對於頁面你該理解‘樣式’,‘數據’,‘行爲’三者分離,對應的當然就是css,html,js。對於js代碼,你最好了解設計模式,重構,MVC等內容。
2. 可測性。js代碼可測性的主題,我正在研究,歡迎感興趣的同學聯繫我,共同學習
3. 高性能。必讀《高性能javascript》
4. 低流量。技巧性太強,非一朝一夕之功,不多說
補充:
對於前段開發,核心部分基本就這些了,可以根據自己的興趣愛好選擇性學習以下內容。
1. 美工。 大公司都有專業的美工人員,不過如果愛好也可以瞭解
2. 交互設計。大公司依然有專業人士搞這些,不過如果愛好也可瞭解。推薦《簡約至上》。
3. 後端。應該說前段工程師必須至少了解一門後端語言,不過如果愛好也可深入學習,入手難度比較低的應該是php了。這部分由可分爲基於頁面,基於框架兩種。大型項目都是基於框架開發的,建議至少了解一個MVC框架,php的zend,asp.net 的 asp.net mvc等等太多了,好還框架的設計思想都大同小異。
4. flash。我並沒有吧flash作爲前端工程的核心技能之一,因爲我不會,不過ActionScript應該和js大同小異,可以根據工作需要學習。不過我的原則是能不用就儘量不用,其實很多效果通過js,css都可以實現,完全不需要flash。而且隨着html5的發展flash早晚會淘汰。
5. html5和css3 。html5的標準到現在還沒有正式發佈,不過目前幾乎所有新的瀏覽器都已經開始支持,手機上就更是如此,建議學習,很好,很強大。


前端開發需要學習的內容,很多很雜,我在最開始學習的前兩個月也是一片迷茫。一路走來,發現也走了些彎路。美工,交互設計,flash,js,html+css,後端,隨便哪種技能,如果學的特別牛,都可以保證你擁有一個職業。想通吃,沒個幾年怕是不成。關鍵是選準自己的愛好,深入學習一項,面要鋪開,但深度更重要。以上我這一年學習經驗的總結,希望對你有幫助。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章