Upgrade to Pro — share decks privately, control downloads, hide ads and more …

網頁前端⼯程師與室內裝修師傅的相似之處

 網頁前端⼯程師與室內裝修師傅的相似之處

應 DEMO 之邀,於 twMVC 分享。

Ping-Yen Tsai

August 16, 2014
Tweet

More Decks by Ping-Yen Tsai

Other Decks in Technology

Transcript

  1. http://mvc.tw n 蔡秉諺 ⽶米蟲  Tsai  Ping-­‐Yen   n 2001.9    -­‐  2007.7

       中正資⼯工   n 2007.10  -­‐  2013.9    中華電信   n 2013.9    -­‐  現在    Yahoo  Search   Vexed 2
  2. http://mvc.tw n PM  開需求給  UED  和  BE   n BE  依需求提供 API

      n UED  依需求提供  Mockup  與素材   n FE  依  Mockup  組合素材與  API  建置網⾴頁   我每天的⼯工作   4 PM - Product Manager UED - User Experience Designer BE - Back-end Engineer FE - Front-end Engineer
  3. 5 PM 開需求給 UED 和 BE BE 依需求提供 API UED

    依需求提供 Mockup 與素材 FE 依 Mockup 組合素材與 API 建置網頁 圖⽚片出處:http://www.palantir.net/blog/website-wireframes-making-your-whole-world-better Wireframe Mockup
  4. http://mvc.tw n FE 將 Mockup  翻譯成 HTML  CSS  JavaScript   n 信達雅

      n 可信 達意 ⽂文雅   n 做不做得到 怎麼做 如果做不到 為什麼   n 持續與  PM  UED  BE  溝通   FE  依  Mockup  組合素材與  API  建置網⾴頁   7
  5. http://mvc.tw n ⼊入⾨門容易 精通難   n ⼊入⾨門   n 看起來跟  Mockup ⼀一樣就好  

    n 怎麼做 不在意   n 不明就裡   n Copy  &  Paste   n Try  &  Error   翻譯成 HTML  CSS  JavaScript   8
  6. http://mvc.tw n FE  永遠是問題回報點   溝通 協調   10 Timeout Server-side

    error JavaScript error CSS issue CDN issue Content issue Cache issue Network issue …
  7. http://mvc.tw n ⼊入⾨門   n 看起來跟  Mockup ⼀一樣就好   n 怎麼做 不在意  

    n 不明就裡   n Copy  &  Paste   n Try  &  Error   ⼊入⾨門容易 精通難   12
  8. http://mvc.tw n 難關   n Cross-Browser   n SEO   n Performance   n 第三⽅方

     Library 出錯   n 資訊安全   ⼊入⾨門容易 精通難   13
  9. http://mvc.tw n 放棄任何裝置、瀏覽器都是市占率的取捨   n IE6  COUNTDOWN   n 台灣 0.8%   n 中國

    12.5%   n 全世界 3.8%  (中國佔其中 2.68%)   n App  Store  Distribution   n iOS  6  8%   n 持續與  PM  UED  BE  溝通   Cross-­‐Browser   15
  10. http://mvc.tw n 統⼀一不同瀏覽器⾏行為   n <!DOCTYPE  html>   n 使⽤用標準模式繪製網⾴頁   n CSS  Reset

     &  Normalize.css   n HTML5  Shiv   n IE  6  7  8 ⽀支援  HTML5 標籤   n jQuery  1.x  &  2.x   n 1.x ⽀支援  IE  6  7  8   Cross-­‐Browser   16
  11. http://mvc.tw n Progressive  enhancement  &  graceful  degradation   n 漸進式加強  & 優雅的降級

      n 持續與  PM  UED  BE  溝通   Cross-­‐Browser   17 動畫 圓⾓角 漸層 陰影 … caniuse.com
  12. http://mvc.tw n Responsive  Web  Design   n 響應式網⾴頁設計   n ⽐比⼀一般網⾴頁設計難 需更有經驗的  FE

      n Mobile  Websites  vs  Responsive  Design   n 取  &  捨   n 持續與  PM  UED  BE  溝通   Cross-­‐Browser   18
  13. http://mvc.tw n Search  Engine  只看  HTML  裡的字   n 圖⽚片上的字不看   n FLASH

    裡的字原則上不看   n 原則?   n JavaScript 裡的字原則上不看   n 原則?   SEO   20
  14. http://mvc.tw n 搞懂  HTML 標籤的語義   n 標籤原⽂文   n <p>  -­‐>  Paragraph

      n <ul> -­‐>  Unordered  list   n <li> -­‐>  List  item   n …   n HTML5  Sectioning  Elements   n 產⽣生網⾴頁 Outline   SEO   21 <article> <section> <aside> <nav>
  15. http://mvc.tw n 釐清  HTML  與  CSS  的界線   n 原則上   n 語意留

     HTML   n 設計放  CSS   n CSS  Zen  Garden   n 事實上   n 界線劃哪是⼤大哉問   SEO   22
  16. http://mvc.tw n CSS  Architectures   n OOCSS   n SMACSS   n BEM  

    n Kuro:  漫談  CSS  架構⽅方法  -­‐  以  OOCSS,  SMACSS,  BEM  為例   SEO   23
  17. http://mvc.tw n 處理動態網⾴頁   n Making  AJAX  Applications  Crawlable   n __escape_fragment__  

    n 善⽤用 history.pushState()   n 以  Facebook  為例   SEO   24
  18. http://mvc.tw n Web  Performance  Best  Practices   n 搞懂瀏覽器繪製網⾴頁的流程   n 各種載⼊入 JS

     CSS  Image 的⽅方式與差別   n 搞懂  HTTP   n 計算  HTTP  Request 數量 & ⼤大⼩小   n CSS  Sprite 、 JS  /  CSS  /  Image  合併壓縮 、 Gzip  、 …   n Cache 機制   n Brower  Cache 、 If-­‐Modified-­‐Since 、 ETag 、 …   n Session  &  Cookie   Performance   26
  19. http://mvc.tw n SPDY   n Chrome  Firefox  Opera  IE11  Safari  8  

    n Ihower:  A  brief  introduction  to  SPDY   Performance   27
  20. http://mvc.tw n Bug   n jQuery  Open  Bugs  45  Matches   n jQuery

     Plugin?   n 其他專案?   n 更多時候是不符預期   第三⽅方  Library   28
  21. http://mvc.tw n 重新了解  HTML  CSS  JavaScript  的基礎   n jQuery 幫你做了哪些事  

    n DOM   n JavaScript  與其它語⾔言的不同之處   n ⾃自動轉型   n Closure   n Prototype   n …   第三⽅方  Library   30 良葛格 JavaScript 本質部份
  22. http://mvc.tw n XSS   n Cross-­‐site  scripting   n Session  Hijacking   n CSRF

      n Cross-­‐site  request  forgery   n Session  Riding   資訊安全   31
  23. http://mvc.tw n ⾼高中   n CityFamily   n 網路同學會   n 只是想讓字變⾊色   n <font

     color="red"  >炫</font>   n 現在看 全都是  XSS   n 班網   n 教官室網⾴頁   n IE5   我的網⾴頁前端之路   33
  24. http://mvc.tw n ⼤大學   n 中正計中   n 主管資訊系統   n 教職員數位學習系統   n 全端⼯工程師

      n PHP   n Sybase   n ⼤大專創意競賽網站   我的網⾴頁前端之路   34
  25. http://mvc.tw n GAIS  Lab   n Nopam   n NUWeb   n NUBlog  

    n ⾃自建  Cross-­‐Browser  JavaScript  Library   我的網⾴頁前端之路   35
  26. http://mvc.tw n 社會   n 中華電信   n Xuite   n Hami+   n XUI

      n Yahoo  Search   我的網⾴頁前端之路   36
  27. http://mvc.tw 1.  網⾴頁全端轉網⾴頁前端   2.  UED 轉網⾴頁前端   n 各有優缺  

    n 就是沒有學校教出來的網⾴頁前端   市⾯面上的網⾴頁前端   38
  28. http://mvc.tw n ⽔水電出問題   n 先 DIY   n 不⾏行才叫⽔水電師傅   n 隨便 1200

     上看 2000   n 師傅還不⼀一定來   網⾴頁前端⼯工程師與室內裝修師傅的相似之處   44
  29. http://mvc.tw n DIY  vs.  ⽔水電師傅   n ⼊入⾨門 vs.  精通   n 不明就裡

    Copy  &  Paste  Try  &  Error   n 看起來跟 Mockup  ⼀一樣就好了   n ⽔水電師傅   n 良⼼心事業   n 顧客只會看   n 昧著良⼼心 問題不會不⾒見 網⾴頁前端⼯工程師與室內裝修師傅的相似之處   45