作者lovdkkkk (dk)
看板Soft_Job
標題Re: [討論] 前端工程師前景請益
時間Thu Oct 29 21:15:26 2015
覺得前端簡單嗎?那只是你用不到難的部份而已。
個人覺得前端難可以很難,而且是超級的那種。
來看一個需求如何慢慢長大的 input field。
1. 一個輸入欄位,嗯...簡單。
2. 一個美化的輸入欄位,拼一下 Dom,一點圖,一些 CSS,
一些客製的 hover focus...仍然 easy。
3. 其實這 input 是要到後端撈選單的,輸入後要跳個 list 在下方,
好吧,聽 key event 發 Ajax + 以上,還好嘛?
4. 一直發 request 伺服器負擔太大?
好吧加個 debonunce / throttle,仍然 ok
5. User 敲完字後立刻選好選項 (更新了 input) response 才回來,
選單又跳出來?噢好吧檢查一下有選項就不跳選單。
6. 這時發現因為 Dom 結構的原因,在瀏覽器縮放時會破圖,
或產生 color bleeding
7. User 敲完字後立刻選好選項但發現選錯,結果因為 5 選單沒跳?
...
什麼?你說上面 1234567 都已經有現成元件可以用?
你確定?
style 是你要的嗎?
當你需要客製行為時抓得到 inject point 嗎?
用現成元件最怕的是狀態你無法掌握,
狀態改變的事件它不見得有提供,
而其實到上述 7 的部份,
個人覺得就已經不下於後端多執行序下的資源管理問題了,
那通常還不會是最後一個問題...
而且...這還只是個輸入欄位哦?
如果 A 元件如何時 B 元件要有什麼改變,
或是多個元件間有親子關係影響到顯示問題,
或是遇到規格上的限制 (如 302 redirect) 要找 workaround,
那...故事可精彩的咧!
※ 引述《neo5277 (I am an agent of chaos)》之銘言:
: 程式很講天分
: 前端也是自己覺得還 更加吃天分。
: 很多時候重點在排版~~
: 我們同期有一個,以前是念新聞的。
: 自己有再兼攝影婚攝修圖,PS,AI神手。
: 我們是.net, backend的時候他比較困擾
: 上到前端部分時候他整個人根本就變成超級賽亞人
: 順便還包辦修圖出圖。
: UI出來就先贏了~~ 現在在某銀行做前端跟手機薪水也是不錯。
: 前端的世界的確是滿迷人的。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.164.141.96
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Soft_Job/M.1446124529.A.3E7.html
1F:推 aiyswu: 而且這1234567還沒考慮到元件耦合性,維護性,重用性,跨專 10/29 22:13
2F:→ aiyswu: 案重用,等等的問題,每一個元件都可以是一個open source 10/29 22:13
3F:→ aiyswu: 專案 10/29 22:13
加一個各瀏覽器 (尤其舊 IE) 的獨特行為 @@
4F:→ CaptainH: 後端產生適合的選單比調整ui還難 10/29 22:15
可能個人感覺不同吧,我前後都做,
我是覺得只要邏輯明確生選單容易多了。
或許可以說,我沒有前端的天份 XDD
5F:→ superpai: 我還特地回去看一下,沒看到人說簡單呀 10/29 22:19
就...天份的部份 @@
6F:推 CaptainH: 你舉google docs這種SPA還比較有說服力 10/29 22:22
SPA 難的部份也是在這裡啊,流程管理跟狀態維護。
不然只是 call AJAX 拿資料改頁面也沒什麼。
如果是指多人共同編輯的部份,相信我,
前端的部份那會再難一點點而已,不會難很多,
因為光單使用者的情況就可以包含大部份複雜的 case。
後端的難度倒是會提昇不少
個人剛好有陣子處理不少某支援共同編輯的 SPA 試算表元件的客製跟 Debug
( 這個
http://www.zkoss.org/product/zkspreadsheet )
置入性行銷一下 XDD
※ 編輯: lovdkkkk (1.164.141.96), 10/29/2015 22:42:25
7F:推 Masakiad: 我覺得最難還是maintain跟擴充功能了,比起以前不太會 10/29 23:56
8F:→ Masakiad: 更改ui的網站,現在都是webapp,系統營運後功能越來越 10/29 23:56
9F:→ Masakiad: 複雜,如果沒有好的軟體架構,會發生什麼事情? 10/29 23:56
10F:推 Masakiad: 又或是老闆說這些都做好的ui,加幾個欄位改成b功能應該 10/29 23:59
11F:→ Masakiad: 不難吧?就跟另外一個api隨便接一下就可以了 10/29 23:59
12F:推 aiyswu: 房子都裝潢好了,我只是要改一下廁所,廚房和客廳的位置 10/30 00:27
13F:→ aiyswu: 應該不難吧。 10/30 00:27
14F:推 abccbaandy: 同感,一開始架構不好好弄,後面想改超麻煩 10/30 00:33
真的,面對各個使用者各種情境下的不同需求,
持續的擴充與維持穩定就更麻煩了。
因此請愛用瀏覽器自動化工具做 acceptance test 0rz
這裡順便舉個用現成元件 (google map) 時,
要確認狀態可能有多麻煩的例子
http://goo.gl/acag1q
15F:→ bndan: 你被推文釣出來了 何必呢?(攤手) 有些人帶有舊時代"寫網頁" 10/30 12:15
16F:→ bndan: 的.這種詞來看待現在新式WEB APP..別的不說 稿不好你講SPA 10/30 12:16
17F:→ bndan: 他還不知道你在說啥3小 更不用說後來的hybird APP 或是靠整 10/30 12:17
18F:→ bndan: 合物(EX:Cordova)整合的多平台程式.(個人習慣稱client APP) 10/30 12:19
其實我是有點想要說,
要好好考慮是不是一開始就要從前端入門,
當然基礎的部份是比較快能看到成果有成就感,
但是實際工作上坑可能會很大也更快把熱情燒光。
突然想到 "釣出來" 的另一種意思,
不用想太多,這種例子到處都是,Google Map 不過是其中之一,
其它如 solmate (一個幾乎就是 1~7 缺 4 的元件)
選單開啟/關閉時沒發 event 等等,
(這個還比較接近上述 1~7 的例子)
※ 編輯: lovdkkkk (1.164.141.96), 10/31/2015 01:01:13
19F:推 Dnight: 隨便弄一個可以很簡單,要做的好不管前後端都很難... 10/31 19:28