前端這些年

jopen 10年前發布 | 21K 次閱讀 前端

前言

本人一直從事的是服務端開發工作,寫前端貌似有點跑題,不過自己初中也就是2000年左右的時候,引領我進入計算機大門的也的確是前端,后來也做過不少的前端工作。于是,就想著從自己的角度寫點前端這些年的發展。但畢竟不是專業所長,有所紕漏在所難免。

正文

還記得2000年左右的時候,那時的四大門戶:新浪、搜狐、網易、中華網(是的,那時候還沒騰訊啥事)。我第一次訪問這些網站的時候就被震撼到了,一直很奇怪這是怎么寫出來的。恰巧,初中開了一個計算機課,老師當時在給我們講微軟的office系列,里面有個軟件叫frontpage,拖著拖著就能出來一個網頁。幼稚的我恍然大悟:原來用這東西就能拖出來個新浪網啊。學會了拖網頁,學校里家庭條件比較好、接觸電腦比較早的同學還把自己的網頁傳到了網上的免費空間(網易的yeah.net免費空間),然后就儼然成了公眾人物。畢竟,那個時候在我們那個小城市,家里有電腦的少,能上網的更少,能有自己的網站還能通過網絡訪問的則少之又少了。當然,開始大家拖出來的網頁都是靜態的頁面(這里的靜態指的是靜止不動的。。。。),然后有些人發現,貌似加上一段代碼,網頁上就能有各種類似動畫的效果。比如: 標題動態改變、鼠標后跟著一串文字、狀態欄滾動字幕等等。frontpage已經不能滿足這些了,這時候一款更加NB的軟件出現在了我的眼前 -dreamweaver。這款軟件我后來一直用到了大學本科畢業,當然,從開始的完全依賴dw來拖頁面,到后來把它當成了一個寫代碼的IDE。說起來,那個時候沒有那么多前端框架,寫個頁面就是html+css+js。頁面布局用table,然后table里面嵌套table。現在想想也是醉了,還記得當時還有個原則是最外面的table寬度要設置為960px,100%,居中。這算是我接觸前端的第一個時代吧,那個時候國內貌似也就ie瀏覽器,兼容性的問題根本不存在,技術體系相對來說也比較簡單。

后來,業界興起了div+css的概念。說白了就是內容和樣式要分開,div組織內容,css控制樣式。與此同時,js技術也飛速發展中。 jquery橫空出世,成為了前端開發必不可少的一個框架。大家也在樂此不彼的收集著各種各樣的jquery插件。那時候覺得jquery真是太好用了,覺得會寫jquery插件的人好nb。除此之外,extjs也成為了開發web必不可少的框架,不知多少管理系統都長的一模一樣。。。最讓我記憶尤甚的是瀏覽器的兼容性問題,firefox、chrome、safari這些瀏覽器一下全火了起來,然后兼容性問題就成為了令廣大前端開發者最頭疼的一件事情,尤其是萬惡的ie6。當時在做一個英國的項目的時候,甲方的boss竟然細致到1px都要度量的份上,于是無數個夜晚,我就在那里調整像素,還是要調整在多個瀏覽器下的像素。。。。不知是幸運還是不幸的我也由此接觸到了n多瀏覽器兼容的問題,記得最深的一個就是ie6的1px問題。對于這些兼容性問題,自己當時總結了一下,基本上使用css reset初始化所有樣式,然后使用css hack針對不同瀏覽器做兼容,其他的針對具體問題具體分析。同樣的,js里也存在兼容性的問題,一個典型的就是解析json字符串,有些瀏覽器里是默認有JSON的方法的,但有些瀏覽器卻沒有,只能使用eval來做。這方面,jquery則做了很好的兼容。其實,到了這個時候,整個前端已經亂了,尤其因為微軟的自我,ie給大家帶來了數不清的麻煩。針對這種情況,W3C適時的提出了新的標準,以求統一瀏覽器的渲染,也推出了es想統一一下前端腳本語言。不過,由于某些原因,ie6在很長一段時間都曾是國內前端開發者的夢靨,其他兼容性問題也一直成為了遺留問題。此外,隨著前端樣式和腳本變得越來越多、越來越復雜,頁面的性能優化變得被人重視起來,雅虎前端優化35條原則、CSSSprites這些技術應運而生。這算是我經歷的第二代前端。主要以 div+css+jquery+esxjs為代表,以chrome、firefox的崛起為表象,開始考慮前端的性能優化問題。其實想想,由于瀏覽器的多種多樣,這一代的前端開發者真的挺苦逼的。

經歷了兩代前端,其實自己后面就沒怎么關注過這一塊了,頂多就是留意一下業界的新聞,技術體系也基本就停留在了第二代上。最近由于某些原因,需要帶一下公司的前端團隊,就惡補了一下最新的前端知識,發現自己還真的有點out了。發展到現在,前端工程師真正成為了一個舉足輕重的職位。以前由于只有pc 端的前端開發,很多人瞧不上前端,覺得前端不過就是做個表單驗證,做個小動畫,沒啥技術含量。而現在由于移動互聯網的興起,移動端前端開發成了越來越重要的一部分。與此同時,“富前端”的概念也提了出來,就是讓web程序的體驗和本地程序體驗盡可能一致,于是對前端開發者的要求也就變得越來越高。 html5也適時的席卷了整個生態圈,如果說幾年前h5還只是個噱頭,那么現在h5在移動頁面以及移動app混合開發中則已經舉足輕重了。與此同時,多種終端的出現,也相應催生了“響應式”頁面設計,意思就是能讓你的頁面根據不同的終端自動適配,極大優化用戶體驗。而nodejs的出現,則讓“全棧工程師”這個名詞盛行起來,發展到現在也逐步證明并實現了前后端分離的可行性。此外,頁面性能調優、前端工程化、前端模塊化等也成為了前端領域越來越火的研究方向,相應的誕生了很多新興框架、技術。具體的,前端框架以AngularJs、requirejs、reactjs為代表,客戶端混合開發以 phonegap為代表,工具以grunt、gulp為代表。在這里不做詳述,詳細的可以閱讀這篇文章:http://blog.csdn.net/borishuai/article/details/8676573

結語

不管前端怎么變,其核心只有一個:視圖呈現。所有的前端技術都是圍繞著這一點進行的。只不過有的是從速度上,有的是從交互上,有的則從開發效率上。

說到前端,不得不說一下前端工程師。在最近公司的招聘中,發現前端工程師是一個相對難招的職業,尤其是好的前端工程師,一方面是由于之前大家對前端的輕視所致,另一方面也有前端技術更新迭代太快的原因。那么如何定義一個好的前端工程師呢?除了研發職位普遍具有的一些共性之外,以下幾點,我覺得是前端的特質:

  • 有一定的審美觀: 很難想象一個沒有審美觀的人開發出來的頁面是如何讓人覺得賞心悅目的。
  • 耐心、細致:有時候前端顯示的問題,真的需要一點又一點慢慢地找出來的,尤其是css方面。
  • 有一定的產品思維:很多情況下,前端算是和用戶直接打交道的(和客戶端類似,開發出的東西是直接面向用戶的)。因此,具有一定的產品思維,才能讓你更好的優化交互。
  • </ul>

    最后,打個廣告^_^。中華萬年歷,攜2億用戶急需優秀的人才加入,七險一金、待遇優厚。各種職位虛位以待。http://www.lagou.com/gongsi/j1826.html

    </div> 來自:http://www.rowkey.me/blog/2015/12/21/front-these-years/

     本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
     轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
     本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!