為什麼有人說前端開發水很深,工作量有時比後台還多?
上聯:為需求而生,為用戶而死,為瀏覽器奮鬥一輩子!
下聯:吃C S S 虧,上 J S 的當,最後死在兼容上! 橫批:前端人生
再次說說目前前端的工作狀態吧。其實我覺得現在的全端慢慢地已經成為了b/s以及c/s中的b還有c,兼顧了兩樣工作。
1,以前對於前端的定位可能只是「頁面仔」,把設計師的設計變成一個實際的網頁。不過現在可不是這麼簡單了,同樣是一張設計圖,需要在許多千奇百怪的瀏覽器上面進行兼容,調試。而且因為現在網頁的交互已經變得越來越複雜,單純的網頁已經不能夠滿足於用戶。而更加像是一個富客戶端。
2,而且隨著HTML5跨平台應用的興起,前端的定位又進一步發展了。因為可以要求前端編寫移動端web app應用甚至是跨平台應用。這個時候,前端要學習的東西就更多了。
3,可能這些只是一個表面上看到的東西。因為前端工程師如果定位不好,在一個團隊中很容易成為一個中間人。為什麼這麼說呢,因為團隊中會使用一種後端語言,常見的有python,php,ruby現在還有node.js(對不起,我知道node.js不是一種語言,不過你懂就行了),如果你不會這種後端語言,你會變得好像一個局外人,甚至在團隊中顯得像個外包。因此前端又需要在應用層面上會這些後端的語言,比如說要爬爬數據,你總不能在瀏覽器上就完成吧?所以前端的範圍就更廣了。
好吧,從幾個方面說了前端為什麼那麼苦逼。其實前端是一個很好的練武場,你一定會在前端職位上成為一個多面手,學習到最多的東西,因為你跨維度是最大的,你懂設計,懂交互,懂後端語言,懂前端語言,會溝通,會兼容,你都做到了,你已經是個牛人了!歡迎加入前端。誰跟你說過前端開發的水不深么?
很多年前。。。那時候菊花還是一種花。。。那時候前端有很多時間去研究各種技術,研究用戶體驗,研究牛逼的交互效果。現在感覺這種時間越來越少了,每天埋在會議,bug,需求中間不能自拔。
也許是我老了?
不過我覺得我還是比後台開發們更輕鬆一些,每次我正常下班時間下班的時候,開發都會用可憐的眼神看著我,因為他們的下班時間還早。。。不等到十點半發夜宵都不好意思說自己會java。
有些話記得印象特別深,例如:善待自己,善待家人。。。。
PS:苦逼的其實不是跨瀏覽器什麼的,那都是前端的自嘲。苦逼的是前端的發展還不成熟,交流不夠多,分層比較複雜,會一點就覺得自己貌似都會了,可是又貌似自己啥都不會。。。。各種矛盾體啊有木有。。。。最近的實習做前端工作,需要支持以下瀏覽器:
Firefox, Chrome, Safari, IE8, IE9, IE10往往其他都搞定了, IE8的顯示老是出問題。跟我的mentor抱怨,他微微一笑,說道:「小夥子,你聽說過IE6嗎?」
接著就說起幾年前,公司還要求支持IE6的時候,他搞網頁開發的一半(或以上)時間都花在了如何讓網頁在IE6上也能正常顯示。。。另同事說過這樣一句話:「如果你沒有黑過IE,你就不算一位真正的前端工程師」
做後台的精力主要放在業務邏輯上
做前端的精力主要放在瀏覽器兼容性上前者有數學工具可以使用,後者只有靠人肉了以前覺得前端只要會HTML+CSS就行了,現在從事3年,覺得前端要會設計(你要根據設計師設計的圖來判斷是什麼效果,【PS,AI等要會用一點,把圖片切片基本的,還要保證圖片質量,圖片大小,圖片格式等等】),你要會一門後台語言(PHP基本的),你要想到以後自己維護或者別的前端維護(CSS要規範,HTML要規範,合理運用注釋,JS要規範,起碼要讓別人或者半年後的自己一看到這塊的效果就知道JS在哪兒),再熟悉幾個框架(PHP的ecshop,織夢,thinkphp,YII;JS的juqery基本的;CSS的bootstrap等);大眾瀏覽器的了解(IE,火狐,谷歌,360【國內用得很多,雖然是雙內核不是自主研發的,我們還是要測試的】,safari【現在MAC也很普及了】);還有SEO(HTML的標籤要用到合理,搜索引擎首先解析那個標籤這要了解);要會HACK,但是不要寫太多HACK,寫太多說明代碼不是很規範;一定要考慮CSS的重複利用性;HTML的命名要規範;我們雖然討厭IE6,如果你不是HTML5+CSS3寫的頁面還是測試一下IE6真的很鍛煉你的解決兼容性問題思路;對了JQUERY雖然好用,但是你要知道,JS才是實用的,一定要看看別人寫的源生JS;還有AJAX,json等技術要會用(不會用的話起碼要了解其中的道理面試裝裝B還是可以的)。
就前端的交互動效說句題外話:
拿web來說,現在有太多很炫的交互都是無用的,用一個靜默的頁面能解決的呈現,卻有很多為了讓頁面顯得「高級、歷害」而做的交互,實在不應該,大部分動效的鮮活期是很短的,多看兩遍就厭煩無比。從css兼容來考慮,確實很苦逼,為了bug產品而耗時間。
從javascript語言來考慮,我覺得js這語言很考驗功力。
個人有潔癖,每次玩一個東西,都喜歡玩很極端的想找終極答案的東東。比如javascript到底要怎麼寫。呵呵,都說前端苦逼,其實瀏覽器兼容問題還是比較容易解決的, 如果你的代碼足夠規範,我想兼容也是小問題了吧,前端確實比較有意思,研究交互,特效等等,比枯燥的後台有意思多了。覺得主要的問題是在新的交互和特效上以及如何滿足用戶需求上,這個比較糾結!
fpga前端跟web的前端完全兩碼事,題主這標籤是怎麼分類的
很多人說到瀏覽器兼容這方面,確實是一道很難跨越的凱
也許真的是你沒經歷過ie6,其實現在ie8及以上,還是很好處理的啊,通常了解規範,這些倒不是什麼太大問題
工作後沒怎麼玩過前端開發了,不過在大學時兼職時,我弄前端的時間的確長過後台,大概只是因為自己不熟悉或者是真的有這麼複雜吧。瀏覽器的兼容性是個大問題。
javascript 水很深,前端是苦逼活
前後分離單頁面應用大行其道,前端需要對需求理解非常透徹。有時候後台數據全推送前端,遇到邏輯複雜的就巨蛋疼
現在,前端有了ES6,及各種框架,學好設計模式,看好源代碼。感覺工作沒啥挑戰。還是學後端吧。兼容?沒有聽說過。
學啥也別學前端了。好多要學的。
兼容問題還好,或許是我寫的東西比較低級吧保持隊形
感覺後端代碼可以復用較多,前端的很難復用,確實只是搬磚活,到這就是工作量啊喂
的確,前端人少,工作量大攤到人頭上自然活多了
推薦閱讀:
※如何看待豪情的前端各個群開始付費加群並且踢了新人,需要重新付費進群的行為?
※前端leader要什麼技能?
※2017年前端有什麼樣變化?即將來臨的2018有什麼樣的期待?
※百姓網的前端架構是怎樣的?
※做為初入職的Web前端開發,應該如何儘快提高自己的能力?