1. 程式人生 > >漫談前端,咱來隨便吹吹水

漫談前端,咱來隨便吹吹水

開發 十年 ionic 軟件 互聯網 專業 執行 經驗 pack

對於很多從事IT行業的人來說,就不得不贊嘆其發展的速度,可能一項技術用個兩三年就有點過時了,這其實也是整個互聯網大環境下迅猛發展的緣故,馬雲曾經說過,很多人覺得互聯網已經發展得差不多了,貌似現在已經非常非常智能了,其實真正互聯網開始發展到如今也僅僅才十幾二十年,僅僅是開始,未來也許不可想象,猶如哆啦A夢的口袋,永遠不知道什麽時候它就掏出一個讓你眼前一亮,為之贊嘆的東西,而對於前端來說,可能發展要比後端來得更為迅猛,更加快速,可能以前僅僅靠著html+css+一丟丟框架經驗就能安穩找到工作,但現在呢?去看看開源社區,去看看github時隔不久就冒出一個開源框架,node,vue,react,更有無數較小的框架如ionic,bootstrap,特殊應用型的three...以後還會更多,特別是H5,css3這些基礎的東西大升級,less,sass,webpack各種極易維護的新技術及程序預編譯處理機制,以及越來越多的開發者,應用商放棄萬惡的ie(請暫時允許我這麽說= =),對於來發者來說會越來越友好,開發者有更多的時間用在對前端更深層的思考上,整個前端,整個交互的界面,整個展現在用戶觀感中的那個視野,會越來越震撼,VR,AR這些其實僅僅是開始,不僅僅是體現在絢麗多彩的特效,更多的是體現在用戶在用這個產品的時候,會越來越舒服,怎麽舒服怎麽來,會讓你的懶癌無限期的延長,會的。

講到這,可能你會問,誒,jquery呢?跑哪了,它不是也是個框架麽?是的,它是,但發展到現在來說,它更類似於一種生態,一種可以解決80-90%問題的生態語言,很多時候它就像是javascript一樣親切,甚至對於現在大多數開發者來說,jquery用的要比js多得多,因為寫得更少,做得更多,css中的less(為什麽叫less呢,想想= =),也是一樣的,兼容這個東西呢,得考慮,特別是有歷史遺留的,而jquery生態就是一個非常好的選擇。

對於每一位前端開發者來說,入門很簡單,你會個標簽+一點點css樣式布局即可(這是ie曾經統治多年的那個時代,當然也才僅僅幾年,十幾年前之間),但你會發現知識的更新速度快到你難以想象,新技術層出不窮,新的開源框架團隊一個接一個,優秀的開源框架更是一籮筐,你會發現有點跟不上或者甚至說會的那點技能很快就不值錢,你需要不斷的學習和更新知識,是的,能碼代碼的很多,碼高質量代碼的也不少,但能完全明白怎麽碼,要碼什麽,用什麽碼的就不多了,這些都先不提,單單論知識面吧,前端現在幹什麽事呢?它要幹或者說它已經可以幹UI+前端+後端這樣的事了,當然了,肯定沒另外兩個專業的幹得好,但很多時候對於一些項目來說,夠用就好,你會說前端怎麽幹後端的事呢?阿裏這個肯定是大夥都熟知的,雙11這樣的時候,在12:00那一秒鐘踏入的那一刻,你可以想想那中間的選單-購買-支付有多少?也許對於用戶的我們來說就簡簡單單一個點點點,但是呢你得這樣想,全國,甚至全世界都在這樣點點點,這中間得產生多少的交互?這個峰值能讓這世上絕大多數的服務器集群奔潰,阿裏怎麽解決呢?可能到這你已經猜到了,是的就是用前端框架node.js來布局架構的,那這個node是不是特別牛呢?也不是,只是它的處理機制剛剛好,也非常適用於這種形式的高並發處理。

那前端又是怎麽幹UI的事呢?專業的UI,優秀的UI前端沒法比,也不可能去比,術業有專攻,那UI核心的那些是什麽呢?(本人僅僅是名小小的前端,說得不對請見諒)我認為有不少,而圖形的處理,色彩及頁面風格的調配算是其中的兩方面,而前端呢?不用去幹這些,已經有很優秀的前端框架給我們提供好了,裏面的主題風格也許不是很優秀的,但就目前來說也還是相當的漂亮的,這裏再說下,技術的選型永遠不是這項技術多麽的牛逼,多麽的炫酷,而是這項技術適合,它適合所以選它,這個是什麽呢?你應該也猜到了,是的,它就是bootstrap,當然還有它的一些子集比如zui,當然這個給我最大的啟發不是它方便了前端多少多少的開發,而是它的柵格系統,移動互聯網到來之前,那個時候大家用的都是PC端,網站什麽的也不用考慮多終端的兼容,多終端的自適應,所以大家就用px啊,百分比啊,用的都感覺很不錯,反正能用,對用戶使用影響不大,那當手機端來了的時候呢?前端的開發者們意識到,寫單單一個前端樣式已經不足以應付越來越多種屏幕的顯示方式,如何在這眾多的終端中讓整個的用戶體驗,那個展現在用戶視野中的東西盡可能的達到觀感上的最佳,是一個必須且迫切要解決的問題,這時候前端開發者們怎麽做呢?(我根據事實來猜哈)都是程序員,那多種應用啊,有多個條件啊,肯定必須得if判斷啊,這必須的啊!當然前端不叫if,它有個很高大上的名稱叫多媒體查詢,當然這個比較麻煩的是你還是需要寫多個樣式,外聯的內聯的不管,反正你得寫多個,這就很煩了,就像明明我只需要執行一句,你一個if就得多一個代碼塊,好多個if甚至變成一大串,當項目結構很龐大復雜的時候,你會發現得多了很多很多的原本不需要的樣式表,有問題就得解決,那這時候前端的那些大神們又怎麽做呢?嗯,你想象下,我不論你這個屏幕,這個設備,或是渲染這個html的這個瀏覽器窗口有多大,我都給分成多少格,Excel(Excel這個軟件其實是一個非常笨的東西,為什麽呢?它的行列數其實都是固定的,好像以前比較低級的版本是512列*1024行,稍微高版本的好像到65535了,只不過這個數很大,絕大多數人用不完的而已,連多少列多少行都得是固定的,是不是很笨?當然它是個很了不起的應用,也有可能是裏面軟件底層架構沖突。)各位應該都用過吧,一個個的格子,但不同的是這裏的格子數列數是固定的,可能你屏幕大,界面很寬,那又怎樣?只不過拆分成的這些單元格大一些就是了。那組成這些前端頁面的基本組成單位不再是定死的固定像素了,這在大多數的時候就可以很好解決了(當然還有rem這個也是很優秀的多終端顯示的方式),也許你會說bootstrap這個是給低級開發者或是給外包用的,我不能說你沒有道理,但也許幾年後bootstrap這個東西不適用了,但裏面柵格系統這個思想,這種模式一定還會存留,會延續,變成推動前端開發的一艘動力航母,一直不斷的向前。

前面好像談了一大堆貌似還沒談到前端到底是怎麽幹UI的事,好吧,漫談,我們是漫談,別在意細節,總之一小段話概況就是,項目一般開發的前工序流程是UI把產品經理跟客戶達成一致的需求還原成一系列psd圖,這些psd圖裏面是已經具備好後續整個系統的風格及色彩搭配了,前端再把這些圖還原成頁面就可以了,不用考慮UI的事,那bootstrap這個東西呢,它就是把一些常用的psd圖中的東西先弄成一個個具有特定風格的組件供前端調用,前端可以直接同產品經理來對接,雖說沒有了psd圖,但最終完成的界面風格及色彩搭配也不會很差,還很漂亮(就目前來說),對於終端用戶來說,其實他們是不專業的,甚至他們連一些需求其實有時候都不是特別清楚,可能我們弄了個方案給他們看,誒誒誒,對對對,就這樣的,嗯,還是重申一句,技術的選型不是要多苛刻,要多高級,多新,多炫酷;夠苛刻,夠高級,夠新,夠炫酷就可以了,強調一個夠字,由於要做多終端的兼容適配,沒法像以前一樣1px都不放過,那不現實,意義上也不是很大,可能對於UI來說,黃金比例就必須是0.618, 0.62,甚至0.6181都不行,但在用戶的眼中,其實它區別真的不大,0.62可以,0.63也可以,當然並不是倡導亂來,得有原則,底線是不能觸碰的,但上面預留的這個操作空間是可更改的,這不僅僅是節省開發成本,更重要的是極快的提高了開發效率,一個產品搶先發布那麽幾天,可能最終的結果就完完全全不同,這就是很多時候經常聽到的一句調侃,嘿,程序員,程序猿,又得加班了,沒辦法啊,趕項目進度啊,你要先人一步啊,但項目任務還是那麽多,要減少時間只能拼命擠,這是沒辦法的。這也就是為什麽要組件化開發的原因所在,代碼的復用性高,意味著你不用重新寫,不重新寫不是代表你不會,這是一個誤區,不會和不重復做一件會做的事是兩碼事,當然,組件化也給了很多前端新人便利以及不思進取的溫泉,這種只能說因人而異吧。

漫談前端,咱來隨便吹吹水