天天看點

《Web前端工程師修煉之道(原書第4版)》——我需要學習哪些語言

本節書摘來自華章社群《web前端工程師修煉之道(原書第4版)》一書中的我需要學習哪些語言,作者jennifer niederst robbins,更多章節内容可以通路雲栖社群“華章社群”公衆号檢視

我需要學習哪些語言

如果你是一個把時間花在photoshop和illustrator上的視覺設計師,你需要暫時放下學習如何用文本設計的念頭,但我向你保證,這是很簡單的一項工作。很多創作工具可以加快創作過程,我們将在本章的後面讨論。

下面是與網頁開發相關的技術清單。至于學習哪種語言或者技術,取決于你對自己的定位。但是我建議每一個人都了解html 5和層疊樣式表,而且如果你想做前端設計,javascript也是必備的技能。網絡技術更多地傾向于服務端配置、資料庫、站點性能,但是一般來說這些都不是前端的開發工作(雖然了解基本的背景技術沒有什麼壞處)。

看一看

web相關技術如下:

html

css

javascript和 dom 腳本

伺服器端腳本和資料庫管理

html(超文本标記語言)是用來建立網頁檔案的語言。目前業界使用的html版本有多個:包括有廣泛基礎的html4.01,新的健壯的html 5也獲得更多的關注和浏覽器支援。兩個版本都有一個嚴謹的實作,即xhtml(擴充html)。xhtml本質上采用同樣的文法規則。我們将在第10章中講二者的差別。

html并不是一種程式設計語言,它是一種标記語言,也就是說,它是用來識别和描述一個檔案中各個元件的系統,比如标題、段落和清單。标記表示文檔的底層結構(你可以把它當做詳細的、機器可讀的綱要)。要編寫html,你隻需要耐心和常識,并不需要程式設計技巧。

學習html的最好方法是動手編寫一些頁面,我們将在練習中這麼做。如果你最終從事web制作,那麼你将天天與html打交道。即便隻是一個愛好者,了解底層是如何工作的,對你也是很有幫助的。令人鼓舞的是,學習基本知識非常簡單。

層疊樣式表(css)

html用來描述網頁的内容,而層疊樣式表(css)用來描述你希望這些内容如何顯示。在web設計界,頁面的外觀稱為“展示”。也就是說,字型、色彩、背景圖檔、行間距、頁面布局等都是由css來控制的。使用最新版的css3可以給你的頁面添加一些特殊效果和簡單動畫。

css不僅提供頁面在傳統的浏覽器和螢幕上展示的方法,還提供控制檔案在其他媒介上展示的方法,如在列印機和掌上裝置中展示。對于明确說明非視覺展示的檔案,它也提供了相應的規則,如要用螢幕閱讀器閱讀時,該如何發音(雖然這些并不被良好支援)。

樣式表也是自動制作的很棒的工具,因為你可以通過修改單獨的樣式表檔案改變站點所有的頁面。現在幾乎所有的浏覽器都不同程度地支援樣式表。

雖然單獨使用html就已經可以釋出網頁,但如果使用樣式表,你就可以不必拘泥于浏覽器的預設樣式。如果你想專業地設計網站,精通樣式表是必須的。

我們将在第三部分更詳細地讨論樣式表。

javascript/dom腳本

javascript是一種腳本語言,在網頁中,它可以用來添加互動和行為,包括(隻是其中一部分):

檢查表單輸入,以確定輸入有效;

更換一個元素或整個站點的風格;

使浏覽器記住有關使用者的資料,友善他們下次通路;

建構界面視窗,如擴充菜單。

javascript是常用于操縱網頁元素或者某些浏覽器視窗功能的一種語言。當然還有其他的web腳本語言,但是javascript(也稱為ecmascript)是标準和最普遍應用的腳本語言。

你可能也聽過術語dom腳本,它的使用與javascript相關。dom是檔案對象模型(document object model)的簡稱,它指的是用javascript(或其他腳本語言)通路并控制的網頁元素的标準清單。dom腳本是一個更新的術語,它原來是指dhtml(動态html),現在這種說法已經過時了。

編寫javascript就是程式設計,是以如果你先前沒有程式設計經驗,學起來可能會很費力。很多人通過閱讀書籍,跟随并修改現有的程式來自學javascript。大多數web創作工具都帶有标準的腳本,你可以用這些腳本來實作常用的功能。

專業的web開發者需要知道javascript,然而很多設計師都是依賴開發者來在他們的設計中添加javascript行為的。是以,雖然javascript很有用,但并不是所有的web設計師都需要會編寫。教授javascript超出了本書的範圍;但是如果你想學習,我推薦你看看《learning javascript》,shelley powers著(o扲eilly出版社, 2006)。

服務端程式設計

有一些網站的頁面都是靜态html檔案和圖檔,但是大多數商業站點都有非常進階的功能,如表單處理、動态生成頁面、購物車、内容管理系統和資料庫等。這些功能都是由運作在伺服器上的特殊web程式來實作的。有很多程式設計語言和架構(括号中列出的)可以用來建立web程式,包括:

php(cakephp、 codeingniter、drupal)

python(django、turbogears)

ruby(ruby on rails、 sinatra)

javascript(node.js、rhino、spidermonkey)

java(grails、 google web toolkit、 javaserver faces)

asp.net(dotnetnuk、asp.net mvc)

開發web程式是程式員的任務,并不需要所有的web設計師都程式設計。這就意味着你也可以在用戶端提供這些功能。你不必自己編寫所有的程式就可以實作購物車、内容管理系統、郵件清單和留言薄等功能。