PHPconf 2013 - 寫好前端,不要搞瘋你的 PHP 後端工程師
by
winwu
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
寫好前端 不要搞瘋你的 PHP 後端⼯工程師 Lighting Talk WinWu / win@unisharp.com / winwu.github.io
Slide 2
Slide 2 text
其實今天沒什麼爆點 只是題⺫⽬目看起來⽐比較威…
Slide 3
Slide 3 text
只是想上來講講話…
Slide 4
Slide 4 text
About Win
Slide 5
Slide 5 text
Front End Engineer | 悠夏爾科技 (Now) winwu Frontend Web Developer | 美商網碩科技 (2012.6-2013.7)
Slide 6
Slide 6 text
• 怎麼⾯面對 400~500 多⼈人講 lighting talk… • 熟悉 LiveScript • Joomla! Extension • It邦幫忙 鐵⼈人賽進⾏行中… 近期研究….
Slide 7
Slide 7 text
M V C F2E
Slide 8
Slide 8 text
Let’s Start…
Slide 9
Slide 9 text
剛⼊入⾏行
Slide 10
Slide 10 text
Mock-up
Slide 11
Slide 11 text
How I think Mock-up .... … … …
Slide 12
Slide 12 text
include! Header.php slide.php footer.php
Slide 13
Slide 13 text
從.html 到 .php 看起來⽐比較厲害
Slide 14
Slide 14 text
include(‘header.php’); Include(‘nav.php’); Include(‘list_view.php’); … … … … … Include(‘footer.php’); Index.php List_view.php foreach data
Slide 15
Slide 15 text
Include( ) 無敵? 不…只有⾮非常微⼩小的幫助
Slide 16
Slide 16 text
當我們要⾯面對 需求不斷改變
Slide 17
Slide 17 text
No content
Slide 18
Slide 18 text
No content
Slide 19
Slide 19 text
No content
Slide 20
Slide 20 text
最後PM還⽐比較喜歡上⼀一版 (只好….改回去) 那時候還不知道有git
Slide 21
Slide 21 text
但是⽼老闆喜歡最後⼀一版 (只好….再改回來)
Slide 22
Slide 22 text
OS: PM幹嘛不⼀一開始就去問⽼老闆
Slide 23
Slide 23 text
PM UI Frontend Backend 溝通流程
Slide 24
Slide 24 text
為了減少反反覆覆的修改次數 以及溝通時間
Slide 25
Slide 25 text
No content
Slide 26
Slide 26 text
列表模組 display_list.php display_list.css display_list.js
Slide 27
Slide 27 text
function display_list(⼀一堆設定){ //html… //return html } 強調模組功能上的獨⽴立性 負責執⾏行某項單純的功能 容易擴充功能
Slide 28
Slide 28 text
function display_list ( 要不要圖⽚片, 要不要rating,…){ /* 前端在 function 裡決定 顯⽰示邏輯判斷 * html 結構, css class * 組 return 字串 * return html */ } 你要哪種 layout 我都有 echo display_list( $data_ary ) ; 右:圖⽚片來源:Line 貼圖
Slide 29
Slide 29 text
製造模組化的元件,顯⽰示邏輯 避免砍掉重練 練習如何達到 DRY(Don‘t repeat yourself) 減輕團隊溝通的時間成本 Frontend
Slide 30
Slide 30 text
不⽤用⾃自⼰己組字串
’ . $v[‘conf_name’].’
(這是我的⼯工作…) 資料 (Array) 帶到 Helper 即可 / 或者是使⽤用 Helper 的⼈人 透過設定決定 layout 樣式 Frontend Backend
Slide 31
Slide 31 text
o 產出良好的 HTML 結構 o ⾴頁⾯面元件模組化 o 減輕重構的負擔 o re-use 的思考模式 o 做出好⽤用的 helper for 後端⼯工程師 Better F2E
Slide 32
Slide 32 text
結論1 寫更少 做更多 (我不是在說 jQuery) ⼤大家都輕鬆⼀一點
Slide 33
Slide 33 text
結論2 我曾經想過什麼時候會後端⼯工程師 瘋掉
Slide 34
Slide 34 text
⼤大概就是沒有前端的時候
Slide 35
Slide 35 text
⼀一份mock-up,兩樣情 破版/跑版/模組化只能⾃自⼰己來 UI Backend
Slide 36
Slide 36 text
結論3 好前端帶你上天堂。 不會讓你瘋。 右:圖⽚片來源:Line 貼圖
Slide 37
Slide 37 text
Thanks 謝謝⼤大家。