以下純屬個人體驗與意見,不喜勿噴!!
如果你打算進入這個IT行業,想做前端開發,你要做好的準備,因為要學的要懂得的實在不少。我一直主張興趣是學習最好的老師,如果沒有興趣可言,這條路我相信不會走太遠。當然有些人可能現在還很迷茫,不知道自己興趣在哪,不知道自己真正喜歡做什麼,就像現在我身邊有很多同學,即将畢業,可依然不知道自己想要做什麼工作,不知道自己适合做什麼工作,如果你已經出現這種現象了,請你好好靜下來,學着了解一下自己,好多人迷茫是因為從來都不了解自己,不了解自己适合做什麼,我覺得了解自己最好的方式是在行動中、在做事中了解自己,是以在大學裡,很多事情想做的一定要多嘗試去做,在做事中你就會漸漸發現自己的優缺點,慢慢發現什麼樣的工作适合自己。
我記得我一開始并不是走前端路線的,我一開始是自己自學java的,本來想一直從事java方面的工作,後來做了幾個月,發現自己并不适合,背景語言邏輯性比較強,而我的邏輯性向來不是很好。因為堅持了大半年,發現确實不适合自己,才轉向邏輯性相對弱點的前端。很多事就是應該多去嘗試,嘗試多了才會發現自己适合什麼。前端入門主要包括html,css,javascript,html是結構,css是表現,javascript是行為。因為之前學java,有看過韓順平老師的java視訊,在裡面就接觸了一些前端方面的基礎知識。
前端入門很快,基本自己自學一下就可以自己寫出一個靜态頁面。前端具體要學什麼,我是一直主張先學個基礎,然後在做項目中慢慢領悟成長,很多東西你現在學得, 不用的話,過不了多久就忘了,而且我總感覺有些東西隻用在項目中才會體會到它的真正用處,是以多找老師、多争取機會做點項目,隻有項目的實踐和開發才會讓你真正了解整個流程和技術是怎樣的,現在我就詳細說一下前端入門要學的一些東西:
1,Html+css可以直接看w3school(http://www.w3school.com.cn/)上的教程,邊學邊練,每章後還有小測試。之後可以模仿一些網站做些頁面(這個很重要,多模仿一下比較複雜的網頁,其實在很多公司就是這樣,設計師把圖給你,你要把圖用代碼寫出來了,實作它的相容性和互動效果,這裡還涉及到一個“切圖”的技術,可以了解一下怎麼把一張圖切好,用代碼将它實作),真正在實踐中做到學以緻用,如果想看書的,可以看一下《 Head First HTML與CSS、XHTML(中文版) 》,這本書對于html+Css入門比較容易點。
2,現在html和css都已經更新到了html5,css3,是以僅僅學html+css是不夠的,現在外面的公司基本都用html5和css3,這兩個的入門我之前也是直接看w3c文檔。Html5和css3移動的會用得更多,在pc上ie浏覽器很多版本都不支援。
3,JavaScript:不是所有的網頁都必須有js,但是要想實作一些超酷的功能和界面的時候,就需要涉及到js。關于javascript的學習,我推薦以下幾本好書(這幾本也是我之前在學習的時候,一位資深前端介紹的):
(1):《JavaScript DOM程式設計藝術》
看這本書之前,請先确認一下自己對Javascript是否有個基本的了解,應該知道if else之類的文法,如果不懂,先去看看我第(2)推薦的《Javascript進階程式設計》的前三章,記住看三章就别往下看了,回到《JavaScript DOM程式設計藝術》這本書上來。
學習Javascript用《JavaScript DOM程式設計藝術》來入門最好不過了,老老實實看兩遍,看完了你就會對JS有一個大概的了解,整本書都圍繞着一個網頁效果例子展開,你跟着老老實實敲一篇,敲完之後,你會發現這個效果不是常在網頁中看到麼,發現自己也能做出來網上的效果了,嘿嘿,小有成就感吧。
(2):《JavaScript進階程式設計》
有的書是用來成為經典的,比如犀牛書;還有些書是用來超越經典的,顯然這本書就是這種。書中章章經典,由淺入深,其中第6章,關于JS面向對象的解說,沒有教程出其右。
如果有一場滿分100分的JS考試,看了《JavaScript DOM程式設計藝術》能讓你拿到20分,那麼看完這本書,你就能拿到60分以上了。學完後,你會成就感倍增的,相信我(至少看兩遍,推薦三篇,跟着書上的代碼一行行的敲)。
學了以上這兩本,你js基本可以實作你所想要的功能了,現在招原生js的程式員也很多,精通js,已經可以找到一份很好的工作了。
(3)《javascript權威指南》這本書可以當平時沒事可以翻翻,這本書比磚頭還厚,可以到網上下載下傳電子檔的,這本書寫得很基礎,有空可以看看的,我自己有買一本,把它當工具書。
下面這些書要當你有一定js的功底再看:
(4)《JavaScript語言精粹》和《高性能JavaScript》
《JavaScript語言精粹》和《高性能JavaScript》算是JS進階教程的補充,裡面有一些内容和JS進階教程重複了,兩本書可以同時看,都不厚,可以對前面所學的有一個很好的加強和鞏固。
(5)《JavaScript DOM進階程式設計》和《JavaScript設計模式》
在吃透了前面所說的書之後,接下來兩本書的順序已經無關緊要了,《JavaScript DOM進階程式設計》(注意和《JavaScript 進階程式設計》相差別)和《JavaScript設計模式》,這兩本都是重量級的書,能讓你的JS技術上一個新的台階;這兩本書前者主修煉外功,後者主修煉内功,有點想乾坤大挪移和九陽神功的關系。
4,jquery,bootstrap和AngularJS:這3個是前端我常用的架構,前端的架構實在太多了,參差不齊,每個公司用的架構都不一樣,不過這3個架構是很多公司用的,jquery是javascript封裝好的一個架構,用jquery實作網頁的動畫效果,能減少原生js的編寫,代碼量也會減少很多。Jquery可以看《鋒利的jquery》,這本書講得很基礎,也可以看一下w3c文檔關于jquery的介紹來入門。
bootstrap是Twitter推出的一個用于前端開發的開源工具包,它比較好的是響應式做得很不錯,而且引入它的.css和.js檔案,就可以直接調用它的class,不用寫太多樣式,減少自己css的編寫,而且網頁的很多特效可以直接套用它的子產品,實作的效果也很酷炫。Bootstrap可以從它的中文網上學:http://www.bootcss.com/ 它現在已經更新到bootstrap3.0的,它更針對的是移動端響應式的,現在移動端這麼火,它也是被很多公司所用,是以建議一定要去這個架構,不過它的一個很不足的是不相容ie8以下。
AngularJS這個架構很牛逼,這個架構建議等你有一定基礎再學,至少有做過幾個完整項目再學,你才會體會到他的強大,AngularJS可以去慕課網(http://www.imooc.com/course/list?c=fe)學,看“大漠窮秋”的視訊。
5,Ajax:ajax是學前端不可少的技術,我之前是看了我同學發給我的幾集視訊,很适合入門,如果想要的話,請聯系我。也可以看w3c文檔關于ajax的東西,我個人覺得w3c文檔很多都很适合入門。書的話可以看一下《Head Frist Ajax(中文版) 》
6,設計類:有些公司前端和設計分的很清楚,有些相對比較小的公司前端和設計都要我們自己做,是以有空看一些設計配色類的書,《配色設計原理》這本書講得不錯,《深入淺出Web設計(Head First Web設計)》這本書有空也可以多看看。Ps就算學不到很精通,至少基本的網頁圖檔處理也要會一些。Flash現在有些公司不怎麼用,遊戲公司會用得比較多,普通的項目一些動畫基本用代碼實作,很少用flash。
7,使用者互動體驗:這個真的要等你有一定工作經驗再來了解,前端這個職位本來就是位于背景與使用者互動體驗之間,是以既要學好前端的知識,也要了解一點背景的知識,還要了解使用者互動體驗,要跟這兩者溝通合作好。
總之一句話,以前前端開發隻是做一些很簡單的特效什麼的,但伴着 ajax 的興起,随着 HTML5 以及浏覽器的性能越來越高,前端的開發越來越複雜,以前在後端的事情現在會放到前端來,以便給使用者更好的體驗。
但是前端開發比起背景,要處理的邏輯代碼要少得多,大部分邏輯都比較簡單,比較難搞的是浏覽器相容,以及考慮浏覽器解析執行的性能問題。但是并不是說前端的開發很容易,其實很多時候是,一件事情用前端開發有 N 種方法,要找到最好的方法是需要有良好的架構設計的。前端技術更新的速度比背景技術要快很多,很多前端架構更新得太快,而且也特别特别多,是以想從事這一行的也要做好準備,要不斷學習學習再學習。。。
不過也不要怕,一開始最重要的是把html+css+JS學好,先把一個架構和樣式搭好,再來實作它的 特效。原生的js如果覺得比較難的話,可以先了解一下基礎,先學JQuery,再慢慢學原生js.
以上更多的技術是關于PC的,現在移動端的很火,有空可以多了解一下這方面的技術,bootstrap,jquerymoblie,phonegap,個人覺得jquerymobile各個方面都不如bootstrap.有空可以多學booststrap
别問我前端有沒有前途,很多人在問這個問題,我不知道,我隻知道如果你喜歡前端,那麼我相信不管怎樣都不會混得有多差。
别問我前端的工作好不好找,不管哪一職位,工作好不好找都是看你的水準。
别問我前端累不累,這世界就沒有不累的活,但你感興趣了,樂在其中,自然也不會感到累了。
别問我怎麼才能快速學好前端,我隻能告訴你:多看多練多動腦!
苦逼碼農,且碼且珍惜。。。
福利:
1,以上我所推薦的書都可以在這個網址上找到:
http://www.w3cfuns.com/forum.php?mod=forumdisplay&fid=139&filter=typeid&typeid=183
這個網站上前端方面的書基本都有,有電子檔可以下載下傳,有空可以看看。
2,最近慕課網(http://www.imooc.com/course/list?c=fe)很火,前端的一些東西也可以在裡面看看,不過它裡面的東西你最好有點基礎再看
3,http://www.imooc.com/course/list?c=fe 這個網址裡面有前端開發的知識結構,該學什麼需要什麼都可以在裡面了解
4,多看一些招聘資訊,看一些公司招人的要求,看他們的需求,知道公司想招什麼人,需要什麼技術,就可以多花點心思鑽研一下某個方面的技術,這個可以幫助你有更好的方向和目标。
下面是我剛開始出去實習時,之前寫的一些的工作感觸和體會:
我是大三暑假就開始出來做前端工作,記得剛來公司時,是先熟悉項目産品,一般其他公司都是這樣,新人剛來一個星期都是先熟悉一下公司的東西,自己一開始有點接受不了的是,項目經理跟我講述公司産品運作環境和各種軟體時,全都是用英文說的,所有的專業名詞他們都是用英文說,當時很不習慣,還常常慢半拍,停了很久才知道他說什麼。是以還是想跟你們說,多學點英語吧,多練練口語吧,多學點專業英語吧,不是說過了四六級,拿了四六級的證後就把英語丢掉,做我們這一行你會發現,其實很多技術書都是英文,可以在項目裡出現某個bug,在百度經常搜不到,如果你英文還可以的話,用英文關鍵詞在google裡搜尋,很多問題會得到解決,總之,多學點英語,對你絕對有益無害。
還沒出來工作之前,在學校就一直很想能快點出來工作,總以為工作能多學到很多在學校裡學不到的東西。也确實如此,工作是可以學到很多,但我還是很想跟那些要從事IT的你們說,還沒工作之前還是多學點東西,把基礎打好。不要總想着出來工作後再學,到時你們會發現其實真的很吃力,壓力會很大,公司是做事的地方,它每天都有你要完成的任務,每天有一定的工作量,也不要總想着工作中有人會一步步教你怎麼做,上司可能隻會跟你說一下大概的思路,他想你做成的效果,其他的你自己琢磨,自己鑽研,當然如果你做不出來,這個時候,你也一定要厚着臉皮去向同僚或你的項目負責人請教,千萬不要一直在那裡死摳,因為怕到最後還是弄不出來,卻因為你而拖了大家的總體進度。
我主要是負責前端的,是以如果想從事前端的人員,一定要把jquery,js學好,我記得剛工作裡,我的工作任務都是跟jquery有關的,每天都要解決很多因為jquery引起的問題,需要寫很多jquery代碼,那時才真正了解了、明白了jquery的内涵。都知道jquery是javascript的一個優秀架構,是以網頁裡很多功能都可以用jquery來實作。是以一開始出來做前端實習的人,html+css+js這三樣是你的基本功,也是你開始工作一定要用到。這三樣裡,html+css是最簡單但同時也是最重要的,因為我們知道html控制結構,你搭建的網頁結構好不好,可維護性好不好,直接取決你html是否寫得好,寫得巧,而css是網頁的一個點綴,網頁美不美觀,使用者體驗是否舒服,取決你如何設定你的網頁樣式。而javascript,原生态的javascript比較難寫,而jquery卻很好的實作了我們網頁需要的大部分功能,是以能不能寫好jquery也直接影響了我們網頁的可維護性,和使用者體驗效果。html代表了結構,css代表了樣式,而js構成了行為,行為可以控制你的結構和樣式,一個網頁其實大部分都要用到js,是以一定一定要學好。
html+css+js都說是基本功,做前端當然不僅需要好這三樣,還有很多要學習,前端位于“使用者體驗”與“背景”之間,是以做前端的朋友,不僅要學好前端的東西,如:設計美工,網頁切片等等,還要了解使用者對産品的體驗,了解使用者的心理,還要學一些背景的知識,如:jsp,asp.net,php等。建議多看看一些招聘資訊,看看公司具體的一些技術要求。當然很多東西還是要慢慢積累,慢慢了解吸收成為我們自己的東西。
想做前端的朋友,對浏覽器的相容性也要多了解,如果有機會的話一定多實踐一下。浏覽器相容性一直是做前端人員覺得頭痛的事,我自己也深有體會。不過我也總結了一些經驗。建議大家去學一下bootstrap,用它來寫樣式,不僅簡單,它的相容性真心覺得棒!隻需要加幾個js,就可以相容基本浏覽器,真的很不錯!!
想做前端的朋友,還要學會巧用浏覽器的console,如果你有用過它來排程過代碼,我敢肯定你一定會愛上它。我以前是用Google浏覽器和FireFox,現在發現ie11更好用,它的控制台裡可以檢視ie11以下的界面的相容問題,還可以進行調試,有了這個就不用ietaste來測ie不同版本的相容問題,可以真心覺得ie11的console很好用。很多代碼你可以先在console裡先試一下效果,結果是你想要的再在自己的代碼裡寫。這是個不錯的工具。其實每個做前端的人自己應該都有收藏一些用得很習慣、覺得不錯的工具。。。