題主的問題問得有點大,想要回答好真的很不容易。
我也是技術人,只能單從技術角度出發扯一扯。
目前看來前端技術的基礎仍然無法離開javascript、css、和html,這是前端的“根”。
前端開發最近幾年經歷了一次快速發展,其中也包含一些“野蠻發展”的情況,以js為例,最典型的就是出現了大量的第三方js庫及組件。這些庫為開發人員帶來了大量的選擇空間,如果運用得當確實能夠大幅提升工作效率。
但是這樣的“野蠻生長”同樣也帶來了負面效應。許多初入行的新手會覺得無所適從,這么多第三方庫,每個都聲稱自己是最好的,網絡上也是褒貶不一,各說各的。到底該從哪里開始入手呢。
如果把時間往回退一點,不用很久,我們先往回退5年左右,一些如今大家都耳熟能詳的主流前端技術開始在國外形成氣候,但是可能還未進入國內,那個時候如果程序員掌握一門jQuery并且熟練使用的話,是很吃得開的。
再往前5年,也就是北京奧運前后這段時間,那個時候的開發人員根本還沒有像今天這樣把崗位劃分得那么細,哪有什么前端和后端,無非是美工設計好頁面,做好切圖,程序員一手包圓,從后臺數據庫開始一路碼到前臺頁面。而那時候的大部分程序員在做前端開發的時候,用的最多的是原生javascript、ajax和dom。
要是再往前推,大家只要搜索一下世紀之交的時候,網頁都是丑成什么樣子就懂了。上世紀末那會兒上網得拿個貓撥號吱哇吱哇響半天,那時我還在念書,老實說如果你的網頁上有個幾百k的圖片,人家基本上根本就沒那耐心再繼續加載下去了。
回過來就能想明白了,正是因為前端是經過了這樣的發展,程序員們覺得原生js、ajax和dom太羅嗦,為了實現業務功能不得不寫大量與業務無關的代碼,并且還不得不考慮不同的瀏覽器差異,要知道那些年光是處理ie的不同版本就夠程序員喝一壺的了。
而優秀的程序員總是懂得高度封裝的,于是第一批經過封裝后的前端產品開始出現了,典型代表是以縮減業務無關代碼量和屏蔽瀏覽器差異為目的“jQuery”和以用戶UI為代表的“Ext JS”。使用這一類產品的時候,程序員不太需要考慮一些原生問題了。
新的問題也開始出現了,處于這一時期成長起來的程序員們,開始漸漸生疏原生代碼了。那時候招聘新人,已經開始出現不少不會甚至第一次聽說document或ajax的人了。但是老程序員誰會去管這些呢。
當“jQuery”發展得成熟穩定后,有經驗的程序員們又發現了新問題。前端原則上是純粹開源的,這也導致了前端看起來似乎毫無規則可言,程序員想怎么寫就怎么寫,要多亂就有多亂。恰巧這時候后端的架構經歷了早期的重量級EJB、輕量級的struts、提出了數據庫持久化概念的hibernate,以及某一天突然跳出來大喊一聲“這tmd才叫框架”的spring,越發變得成熟和穩定。(請原諒我,我是Java系的碼農)MVC概念逐漸變成了一種主流思想。
還記得我剛才說早期的程序員不太區分前后端不?這幫人當中就有人發現,為什么前端不能像后端那樣以框架或者架構方式出現呢。
幾乎在同一時期,一批主打mvvm概念的前端框架脫穎而出了。
如果找一些比較優秀的“全棧”問一下,你會發現現在流行的幾款前端框架,其主要設計思想中都存在后端架構的身影。而這一時期出現的新興前端程序員們,可以說幾乎沒有誰再會去關心“原生的洪荒之力”了。
上面所說的大部分都是js相關的,css和html雖然也進入了新的發展時期,但畢竟之前沉寂得太久,程序員們并沒有在這兩者上面出現太猛烈的脫節或不適應。
說到底,至少現階段前端的主流js架構都只是一些“高級工具”而已,說得難聽些哪怕不會這些架構,很多事情還是能做-----沒了電動螺絲刀難道就沒法擰螺絲了么。
熟悉和使用好的流行框架固然重要,但是在前端問題上更不能忽略的是基礎:原生的javascript看起來入門容易,實則水相當深;原始的dom理論是構建網頁的基礎的基礎;原生的ajax會幫助你更深入理解同步和異步,以及如何與后端交互。
除此之外,無論前后端,無論什么語言,編程這件事最要緊的還是思想和思路,這些東西聽上去有點懸,最有效的辦法還是不斷累積,并且要善于思考,多看老手的代碼,多想人家為什么要這么寫,這么設計肯定是有道理的,理由何在。千萬不要把自己變成一個只會復制粘貼的低級程序員。
我好像扯太遠了,不知道題主有沒有耐心看。。。?
網頁設計是伴隨著互聯網的發展,衍生出來的一個行業。互聯網發展得越迅速,網頁設計也會隨之發展得迅速,那么網頁設計就業前景也就可想而知了。網頁設計是要分前端和后臺的,網頁設計師是前臺后臺都要學習的,學習的內容主要包括:
一、網頁設計前端包括:網站Logo圖標的制作、網頁頂部圖片的制作、網頁背景圖片的制作、網頁中SWF動畫制作、WEB網頁頁面制作、網站導航欄設計等等;HTML網頁構架與窗口布局制作、常用工具欄設計、創建頁面以及頁面制作,超級鏈接、表格設計、框架技術;CSS 層疊樣式表;DIV+CSS網頁布局;個人和工作室網頁;企業類型網頁;門戶類網頁。
二、網頁設計前端JS交互開發,Jquery使用Jquery框架的擴展、結合各種事件和對象的選擇。
三、服務器的組建:使用apache搭建PHP網頁服務器,MySQL服務器。
網頁設計師只有前端和后臺都系統學習了才能更好的結合運用,才能做出好的作品!
新手學習前端開發的話,一般需要5到8個月的時間。
如何學習前端開發,
Web前端的學習路線
結合我的學習經歷、近年來輔導學生的經驗以及公司中實際項目的需求,在這里將Web前端的學習分為以下幾個階段,具體的學習路線圖如圖所示。
第一階段——HTML的學習。
超文本標記語言(HyperText Mark-up Language 簡稱HTML)是一個網頁的骨架,無論是靜態網頁還是動態網頁,最終返回到瀏覽器端的都是HTML代碼,瀏覽器將HTML代碼解釋渲染后呈現給用戶。因此,我們必須掌握HTML的基本結構和常用標記及屬性。
HTML的學習是一個記憶和理解的過程,在學習過程中可以借助Dreamweaver的“拆分”視圖輔助學習。在“設計”視圖中看效果,在“代碼”視圖中學本質,將各種視圖的優勢發揮到極致,這種對照學習的方法彌補了單純識記HTML標簽和屬性的枯燥乏味,想必對各位初學的小盆友們來說必定是極好的!
在學習了HTML之后,我們只是掌握了各種“原材料”的制作方法,要想蓋一幢樓房就還需要把這些“原材料”按照我們設計的方案組合布局在一起并進行一些樣式的美化。
于是進入第二個階段——CSS的學習。
CSS是英文Cascading Style Sheets的縮寫,叫做層疊樣式表,是能夠真正做到網頁表現與內容分離的一種樣式設計語言。相對于傳統HTML的表現而言其樣式是可以復用的,這樣就極大地提高了我們開發的速度,降低了維護的成本。
同時CSS中的盒子模型、相對布局、絕對布局等能夠實現對網頁中各對象的位置排版進行像素級的精確控制。通過此階段的學習,我們就可以順利完成“一幢樓房”的建設。
“樓房”建設完成之后,我們可以交給用戶使用,但是如果想讓用戶獲得更佳的體驗,我們還可以對“樓房”進行更深一步的“裝修”,讓它看起來更“豪華”一些。
為了完成這個任務,我們進入第三個階段——JavaScript的學習。
JavaScript是一種在客戶端廣泛使用的腳步語言,在JavaScript當中為我們提供了一些內置函數、對象和DOM操作,借助這些內容我們可以來實現一些客戶端的特效、驗證、交互等,使我們的頁面看起來不那么呆板,屌絲瞬間逆襲高富帥!有么有?
此時,也許你還沉浸在JavaScript給你帶來的驚喜之中,但你的項目經理卻突然對你大吼道
JavaScript的兼容性和復雜性有時候的確讓我們頭疼,還好有“大神”幫我們做了封裝。
接下來我們進入第四個階段——jQUery的學習。
jQuery是一個免費、開源的輕量級的JavaScript庫,并且兼容各種瀏覽器(jQuery2.0及后續版本放棄了對IE6/7/8瀏覽器的支持),同時現在有很多基于jQuery的插件可供選擇,這樣在我們實現一些豐富的動態效果時更方便快捷,大大節省了我們開發的時間,提高了開發速度,這也充分體現了其write less,do more的核心宗旨。這個Feel倍兒爽!有么有?
“豪華大樓”至此拔地而起,但是每天這樣日復一日,年復一年的蓋樓,好繁瑣!能不能將大樓里面每一個單獨部件模塊化,當需要蓋樓時就像堆積木一樣組合在一起,這樣豈不是爽歪歪?可以實現嗎?答案是肯定的。
這種思想在Web前端開發中也是適合的,于是乎就出現了各種前端框架,在這里推薦給大家的是Bootstrap。
Bootstrap是Twitter推出的一個開源的用于前端開發的工具包,是一個CSS/HTML框架,并且支持響應式布局。一經推出后頗受歡迎,一直是GitHub上的熱門開源項目。
在項目開發過程中,我們可以借助Bootstrap提供的CSS樣式、組件、JavaScript插件等快速的完成頁面布局和樣式設置,然后再有針對性的微調樣式,這樣基于框架進行開發大大縮短了開發周期。站在巨人的肩膀上就是爽!
Web前端的學習建議
最后給大家聊聊在學習Web前端中的一些建議和方法。
自己是一個五年的全棧工程師,這里推薦一下我的前端學習交流群:開始484然后757最后760,里面都是學習前端的,群里會不定期更新最新的教程和學習方法,有想學習web前端的,或是轉行,或是大學生,還有工作中想提升自己能力的web前端黨歡迎加入,
在CSS布局時需要注意的一個問題是很多同學缺乏對頁面布局進行整體分析,不能夠從宏觀上對頁面中盒子間的嵌套關系進行把握,就急于動手去做,導致頁面中各元素間的關系很混亂,容易出現盒子在浮動時錯位等情況。建議大家在布局時采用“自頂向下,逐步細化”的思想,先用幾個盒子將頁面從整體上劃分,然后逐步在盒子中繼續嵌套盒子。
“君子生非異也,善假于物也”,在學習的過程中還要多瀏覽一些優秀的網站,善于分析借鑒其設計思路和布局方法,見多方能識廣,進而才可以融會貫通,取他人之長為我所用。
同時還要善于使用Firebug這個利器。Firebug一方面可以在我們學習過程中幫助我們調試自己的頁面,另一方面我們可以使用Firebug方便地查看、分析別人網站的源代碼,“偷”也是一種技能!
隨著移動互聯網熱潮的到來,移動開發越來越受到大家的追捧,響應式布局、微網站等需求量不斷增加,也是我們Web前端未來的發展方向之一,學有余力的同學可以多多關注。最后祝愿大家能在Web前端開發道路上走出一片更寬更廣的天地!