你要問前端開發難不難,我就得說計算機領域裡常說的一句話,這句話就是『難的不會,會的不難』,對於不熟悉某領域技術的人來說,因為不了解所以產生神秘感,神秘感就會讓人感覺很難,也就是『難的不會』;當學會這項技術之後,知道什麼什麼技術能做到什麼做不到,只是做起來花多少時間的問題而已,沒啥難的,所以就是『會的不難』。
但是,對於前端開發這個方向,即使『會了』……依然感覺很難,唉,說多了都是淚呀,我用三個親身經歷的怪現象來說明吧。
第一個怪現象:誰都可以指手畫腳的前端開發
我職業生涯很長一段時間都在做前端開發,我也做過後端開發,兩者一對比,給我影響最深的不是技術差異,而是——前端開發者聽到的『需求修改意見』要比後端多得多。
後端這東西,畢竟是藏在後面的,外行不懂就是不懂,裝不出來,他們也不好自取其辱亂比劃,但是,前端嘛……誰都能看得見,沒吃過豬肉還沒見過豬跑,所以,誰都可以指手畫腳提一點意見。
只看得見界面的產品經理可以提一些意見。
項目經理可以有一些意見。
啥也不懂的老闆也可以提一些意見。
甚至連後端都可以來提一些意見。
……
正因為前端的產出是看得見摸得著的,所以造成了誰都可以『提一些意見』的現象。
前端開發最大的痛啊!
第二個怪現象:被鄙視但又十分搶手的前端
前端開發者,你懂的,居於開發者鄙視鏈的低端,業務邏輯大多都居於後端,超大並發量是後端實現的,超牛逼的AI、大數據分析、商業邏輯都在後端,前端要做的只是一個功能展示,所以,後端開發普遍看不上前端開發的工作,直到……到了公司舉辦黑客馬拉松活動的時候。
黑客馬拉松,就是讓程式設計師自行結隊,在幾天之內快速開發出來一個小型項目,到活動結束的時候,每個隊要演示自己的產品,於是,問題來了,平時你可以鄙視前端開發者,你可以把前端開發貶得一文不值,但是,到了黑客馬拉松的時候,才知道前端開發的必不可少,因為沒有前端你無法『演示』你的想法。
這時候,後端開發者也會發現,平時覺得前端開發很簡單,但是自己寫一個最簡單的AJAX form表單提交也要學半天,不管你的後端想法多麼牛,如果最後沒有熟練的前端開發者,最後到了演示環節也要抓瞎。
所以,每到黑客馬拉松時,平時居於鄙視鏈最低端的前端開發者,突然就變成了最炙手可熱的紅人。
誰都覺得前端開發不重要,但是又離不開前端開發。
是不是很諷刺?
第三個怪現象:苦不堪言的多端開發
一個正經的產品,為了滿足用戶不同設備上使用的要求,需要提供多客戶端,最起碼要有網頁端、iOS端和安卓端,現在大部分產品還要考慮小程序端,這還沒算iOS要分iPhone和iPad,安卓也要考慮手機和平板,甚至要考慮機頂盒設備的界面……
各種設備、各種安卓版本、各種瀏覽器都有各自的特(bu)點(g),每個前端開發者都有體會,很多精力都消耗在處理某個特定平臺/版本/瀏覽器的bug上,唉,說到這裡真想流淚……
因為要支持這麼多不同的客戶端,一個產品的前端開發者種類也不止一個,要有網頁開發者、iOS開發者和安卓開發者,大一點的項目,靠一個人支撐一種客戶端就不行了,需要的是網頁開發團隊、iOS開發團隊和安卓開發團隊。
其實,不同客戶端實現的都是同一種功能,完全是因為這個世界存在這麼多種客戶端,所以我們才被迫為各個客戶端寫一套代碼。
雖然多端的存在,增加了不少程式設計師的就業機會,但是,幹過實際項目的都知道,這其實很麻煩,很麻煩很麻煩!為了給用戶最好的體驗,肯定希望各端提供一致的功能界面,如果有新功能,要上一起發布上線,但是,不同團隊之間開發周期肯定不同,很難保證同時完成任務,最後,花費開發時間最長的那一端的開發團隊就成為整個產品的短板。
每每想到這裡,就緬懷秦始皇,秦始皇你要是不光把度量衡統一,把所有客戶端也統一了多好:-)