WebDeveloper要做的事情真的很多!_Web標(biāo)準(zhǔn)教程
教程Tag:暫無Tag,歡迎添加,賺取U幣!
美國雅虎前端工程師Hedger Wang。這位原雅虎奇摩的第一位Web Developer,非�?犊呐c我們分享了他豐富的經(jīng)驗(yàn)�,F(xiàn)身說法,比空洞的理論更有感染力,我們發(fā)現(xiàn)現(xiàn)在碰到的很多問題也都是他曾經(jīng)碰到過的。美國雅虎里面Web Developer是一個(gè)更帖近用戶的前端工程師角色,他們負(fù)責(zé)把UI和產(chǎn)品功能邏輯整合起來,并增強(qiáng)產(chǎn)品易用性和交互體驗(yàn)。
在他的信息架構(gòu)(Information Architecture)培訓(xùn)中講到,像雅虎幾百人在一起做產(chǎn)品,內(nèi)部更需要速度和效率,更需要團(tuán)隊(duì)的協(xié)同和專業(yè)化。以往的開發(fā)流程是單線程的,產(chǎn)品經(jīng)理向設(shè)計(jì)師提出設(shè)計(jì)需求,設(shè)計(jì)師開始設(shè)計(jì)然后和產(chǎn)品經(jīng)理反復(fù)討論并定稿,再交給Web Developer轉(zhuǎn)成HTML模板,之后,將模板發(fā)給前端工程師開發(fā),前端工程師需要后端提供數(shù)據(jù),再將需求提給后端工程師。這時(shí)候,Web Developer只能祈禱別把本來寫得挺標(biāo)準(zhǔn)的模板破壞。于是,每啟動(dòng)一個(gè)項(xiàng)目,哪怕是功能很類似的項(xiàng)目,都要走一遍這樣的流程。顯然,做法不是高效的,而且在每個(gè)環(huán)節(jié)上都很輕易出問題,就像玩多米諾骨牌,任何一個(gè)小牌倒了就都白費(fèi)了。
“Bottom Up Approach”,對!Web開發(fā)由下而上實(shí)現(xiàn)才是合理的。產(chǎn)品經(jīng)理在現(xiàn)有系統(tǒng)和現(xiàn)有技術(shù)的基礎(chǔ)上,策劃產(chǎn)品,細(xì)化產(chǎn)品流程,最終確定產(chǎn)品都具有哪些功能。這些做好之后,前端工程師就可以開工了。比如,所有頁面都有一個(gè)登錄模塊,直接寫成這樣就可以了:
至于在頁面上是什么樣子,前端工程師完全不用考慮,自有Web Developer后期通過CSS定義它。同樣,做一個(gè)搜索結(jié)果頁時(shí),只要生成這樣一個(gè)結(jié)果就好了:
像這樣,前端工程師只需要和Web Developer用XHTML描述一下數(shù)據(jù)的結(jié)構(gòu)就可以了,但是這時(shí)候開發(fā)出來的東西就會(huì)很難看:

沒關(guān)系,Web Developer后期拿到設(shè)計(jì)效果圖后,會(huì)根據(jù)實(shí)際的效果用CSS定義它,最后得到的是這樣的:

這就是前端采用表現(xiàn)分離(Presentation Tier)的好處,不同的專業(yè)Team,可以專注在自己專長的領(lǐng)域開發(fā),以實(shí)現(xiàn)并行開發(fā),高效而且不易出現(xiàn)問題。用一個(gè)現(xiàn)實(shí)生活中的例子類比一下就更清楚了,就像要蓋一幢房子,首先要有具體的工程圖紙,準(zhǔn)確標(biāo)出廳多大,有幾間房,幾個(gè)門...之后,圖紙交給設(shè)計(jì)師來設(shè)計(jì)裝修的3D效果圖,同時(shí)工人開始蓋房。房子蓋完后,3D效果圖也出來了,再找來裝修隊(duì)按照效果圖,哪兒刷什么涂料,哪兒貼什么磁磚...但假如顛倒順序,先讓設(shè)計(jì)師設(shè)計(jì)3D效果圖,完成后再由工人們照著效果圖蓋房,最后這房子即使蓋出來也不會(huì)合格。對照上面的例子,在產(chǎn)品開發(fā)過程中,Web Developer就是一個(gè)裝修工人的角色。
產(chǎn)品的前端開發(fā)可以分為三層:

結(jié)構(gòu)層就是前端工程師開發(fā)出來的產(chǎn)品原型。通過CSS疊上一層表現(xiàn)效果。在這個(gè)基礎(chǔ)上,再利用JavaScript/DOM加強(qiáng)產(chǎn)品的交互體驗(yàn)。這種分層帶來的另一個(gè)好處是,假如客戶端環(huán)境不支持JavaScript仍然可以使用產(chǎn)品,假如客戶端環(huán)境不支持CSS(像手持設(shè)備)內(nèi)容呈線性排列,仍然是便于閱讀的。
為什么說Web Developer是一個(gè)更帖近用戶的前端工程師呢?傳統(tǒng)工程師是以完成產(chǎn)品功能,優(yōu)化服務(wù)端執(zhí)行性能為目的的,而Web Developer要考慮產(chǎn)品在用戶機(jī)器上的性能、用戶的操作體驗(yàn)等等這些細(xì)節(jié)。尤其是現(xiàn)在,用戶端的瀏覽環(huán)境是非常復(fù)雜的,顯示器有16:9的,也有10寸的小筆記本,還有用更小的PDA屏幕...網(wǎng)站的頁面應(yīng)該定多寬才能適應(yīng)不同的用戶,這就要求Web Developer開發(fā)的網(wǎng)站頁面采用彈性布局。同時(shí)瀏覽器也是多種多樣的,PC上用Firefox、IE,蘋果上用Safari,手機(jī)上用Opera...通過基于標(biāo)準(zhǔn)的Web開發(fā)完全可以達(dá)到一致性。假如哪天用戶的鼠標(biāo)壞了,他不得不使用鍵盤訪問我們的網(wǎng)站...雖然現(xiàn)在上網(wǎng)快了,但是要知道對于用戶期待看到的內(nèi)容,哪怕等半秒用戶都會(huì)抱怨。
看來Web Developer要干的事情真的是很多。還好,雅虎有很多高人像Hedger Wang。雅虎中國的產(chǎn)品目前在用戶體驗(yàn)和易用性上,正做著不斷的改善和提高。
在他的信息架構(gòu)(Information Architecture)培訓(xùn)中講到,像雅虎幾百人在一起做產(chǎn)品,內(nèi)部更需要速度和效率,更需要團(tuán)隊(duì)的協(xié)同和專業(yè)化。以往的開發(fā)流程是單線程的,產(chǎn)品經(jīng)理向設(shè)計(jì)師提出設(shè)計(jì)需求,設(shè)計(jì)師開始設(shè)計(jì)然后和產(chǎn)品經(jīng)理反復(fù)討論并定稿,再交給Web Developer轉(zhuǎn)成HTML模板,之后,將模板發(fā)給前端工程師開發(fā),前端工程師需要后端提供數(shù)據(jù),再將需求提給后端工程師。這時(shí)候,Web Developer只能祈禱別把本來寫得挺標(biāo)準(zhǔn)的模板破壞。于是,每啟動(dòng)一個(gè)項(xiàng)目,哪怕是功能很類似的項(xiàng)目,都要走一遍這樣的流程。顯然,做法不是高效的,而且在每個(gè)環(huán)節(jié)上都很輕易出問題,就像玩多米諾骨牌,任何一個(gè)小牌倒了就都白費(fèi)了。
“Bottom Up Approach”,對!Web開發(fā)由下而上實(shí)現(xiàn)才是合理的。產(chǎn)品經(jīng)理在現(xiàn)有系統(tǒng)和現(xiàn)有技術(shù)的基礎(chǔ)上,策劃產(chǎn)品,細(xì)化產(chǎn)品流程,最終確定產(chǎn)品都具有哪些功能。這些做好之后,前端工程師就可以開工了。比如,所有頁面都有一個(gè)登錄模塊,直接寫成這樣就可以了:
示例代碼 [www.hl5o.cn]
<div id="login_mod">
<h2>登錄</h2>
<form method="GET" action="">
<ul>
<li><label>用戶名:</label><input type="text" name="name" /></li>
<li><label>密碼:</label><input type="password" name="pwd" /></li>
<li><button type="submit">登錄</button></li>
</ul>
</form>
</div>
<h2>登錄</h2>
<form method="GET" action="">
<ul>
<li><label>用戶名:</label><input type="text" name="name" /></li>
<li><label>密碼:</label><input type="password" name="pwd" /></li>
<li><button type="submit">登錄</button></li>
</ul>
</form>
</div>
至于在頁面上是什么樣子,前端工程師完全不用考慮,自有Web Developer后期通過CSS定義它。同樣,做一個(gè)搜索結(jié)果頁時(shí),只要生成這樣一個(gè)結(jié)果就好了:
示例代碼 [www.hl5o.cn]
<ul>
<li><a href="URL">標(biāo)題1</a><p>描述...</p></li>
<li><a href="URL">標(biāo)題2</a><p>描述...</p></li>
<li><a href="URL">標(biāo)題3</a><p>描述...</p></li>
...
</ul>
<li><a href="URL">標(biāo)題1</a><p>描述...</p></li>
<li><a href="URL">標(biāo)題2</a><p>描述...</p></li>
<li><a href="URL">標(biāo)題3</a><p>描述...</p></li>
...
</ul>
像這樣,前端工程師只需要和Web Developer用XHTML描述一下數(shù)據(jù)的結(jié)構(gòu)就可以了,但是這時(shí)候開發(fā)出來的東西就會(huì)很難看:

沒關(guān)系,Web Developer后期拿到設(shè)計(jì)效果圖后,會(huì)根據(jù)實(shí)際的效果用CSS定義它,最后得到的是這樣的:

這就是前端采用表現(xiàn)分離(Presentation Tier)的好處,不同的專業(yè)Team,可以專注在自己專長的領(lǐng)域開發(fā),以實(shí)現(xiàn)并行開發(fā),高效而且不易出現(xiàn)問題。用一個(gè)現(xiàn)實(shí)生活中的例子類比一下就更清楚了,就像要蓋一幢房子,首先要有具體的工程圖紙,準(zhǔn)確標(biāo)出廳多大,有幾間房,幾個(gè)門...之后,圖紙交給設(shè)計(jì)師來設(shè)計(jì)裝修的3D效果圖,同時(shí)工人開始蓋房。房子蓋完后,3D效果圖也出來了,再找來裝修隊(duì)按照效果圖,哪兒刷什么涂料,哪兒貼什么磁磚...但假如顛倒順序,先讓設(shè)計(jì)師設(shè)計(jì)3D效果圖,完成后再由工人們照著效果圖蓋房,最后這房子即使蓋出來也不會(huì)合格。對照上面的例子,在產(chǎn)品開發(fā)過程中,Web Developer就是一個(gè)裝修工人的角色。
產(chǎn)品的前端開發(fā)可以分為三層:

結(jié)構(gòu)層就是前端工程師開發(fā)出來的產(chǎn)品原型。通過CSS疊上一層表現(xiàn)效果。在這個(gè)基礎(chǔ)上,再利用JavaScript/DOM加強(qiáng)產(chǎn)品的交互體驗(yàn)。這種分層帶來的另一個(gè)好處是,假如客戶端環(huán)境不支持JavaScript仍然可以使用產(chǎn)品,假如客戶端環(huán)境不支持CSS(像手持設(shè)備)內(nèi)容呈線性排列,仍然是便于閱讀的。
為什么說Web Developer是一個(gè)更帖近用戶的前端工程師呢?傳統(tǒng)工程師是以完成產(chǎn)品功能,優(yōu)化服務(wù)端執(zhí)行性能為目的的,而Web Developer要考慮產(chǎn)品在用戶機(jī)器上的性能、用戶的操作體驗(yàn)等等這些細(xì)節(jié)。尤其是現(xiàn)在,用戶端的瀏覽環(huán)境是非常復(fù)雜的,顯示器有16:9的,也有10寸的小筆記本,還有用更小的PDA屏幕...網(wǎng)站的頁面應(yīng)該定多寬才能適應(yīng)不同的用戶,這就要求Web Developer開發(fā)的網(wǎng)站頁面采用彈性布局。同時(shí)瀏覽器也是多種多樣的,PC上用Firefox、IE,蘋果上用Safari,手機(jī)上用Opera...通過基于標(biāo)準(zhǔn)的Web開發(fā)完全可以達(dá)到一致性。假如哪天用戶的鼠標(biāo)壞了,他不得不使用鍵盤訪問我們的網(wǎng)站...雖然現(xiàn)在上網(wǎng)快了,但是要知道對于用戶期待看到的內(nèi)容,哪怕等半秒用戶都會(huì)抱怨。
看來Web Developer要干的事情真的是很多。還好,雅虎有很多高人像Hedger Wang。雅虎中國的產(chǎn)品目前在用戶體驗(yàn)和易用性上,正做著不斷的改善和提高。
相關(guān)Web標(biāo)準(zhǔn)教程:
- Web標(biāo)準(zhǔn):需要正確的使用H1~ H6標(biāo)簽
- 五個(gè)WEB標(biāo)準(zhǔn)中必須注意的地方
- 做到結(jié)構(gòu)(XHTML),表現(xiàn)(CSS),行為(JavaScript)的分離
- CSS標(biāo)準(zhǔn):HTML標(biāo)簽元素的關(guān)閉
- Web標(biāo)準(zhǔn)之路 勿使用W3C廢棄的元素
- CSS布局 聲明文檔類型描述(DTD)
- DIV CSS\讓搜索引擎蜘蛛不再累
- 用XHTML+CSS創(chuàng)建基于Web標(biāo)準(zhǔn)的網(wǎng)頁
- XHTML+CSS創(chuàng)建基于Web標(biāo)準(zhǔn)的網(wǎng)站
- DIV+CSS對SEO的幫助
- 淺析什么是Web標(biāo)準(zhǔn) 及其前景
- CSSer新手寄語:開始標(biāo)準(zhǔn)之路
Web標(biāo)準(zhǔn)教程Rss訂閱Div+Css教程搜索
Web標(biāo)準(zhǔn)教程推薦
- 看看網(wǎng)頁高手怎么理解Web標(biāo)準(zhǔn)
- Web標(biāo)準(zhǔn):結(jié)構(gòu)、表現(xiàn)、行為相分離只是一個(gè)起點(diǎn)并非終點(diǎn)
- WebDeveloper更新最新版本W(wǎng)ebDeveloper1.1.4
- 使用DIV之后,什么時(shí)候使用TABLE
- 建立Web2.0網(wǎng)站需要解決的問題
- WEB前端:關(guān)于項(xiàng)目管理的思考
- 中文排版CSS心得
- 瀏覽器Quirksmode模式與CSSCompat模式
- CSS+DIV:讓文本字符環(huán)繞在你的圖片周圍
- 學(xué)習(xí)Div+CSS從何入手技術(shù)
猜你也喜歡看這些
- CSS布局實(shí)例:上中下三行,中間自適應(yīng)
- CSS教程:CSS兼容的技巧
- 最常用的10種CSS BUG解決方法與技巧
- CSSHack代碼范例:兼容IE5.0、IE5.5、IE6.0、IE7.0、FF1.5、FF2.0
- Web頁面優(yōu)化減小頁面對內(nèi)存及CPU的占用
- overflow與text-indent:-9999px 字體隱藏及input value偏移
- img標(biāo)簽下多余空白BUG解決方法
- CSS調(diào)試工具M(jìn)ultipleIE-IE5IE6IE7多版本共存
- Firefox和IE通用的三則網(wǎng)站重構(gòu)實(shí)用技巧
- 動(dòng)態(tài)加載外部css或js文件
- 相關(guān)鏈接:
- 教程說明:
Web標(biāo)準(zhǔn)教程-WebDeveloper要做的事情真的很多!
。