週末學習總結(一)

在咱們以往的學習中課程主要包括三個要素:HTML、CSS和JavaScript!
    它要求前端開發工程師不只要掌握基本的Web前端開發技術,網站性能優化、SEO和服務器端的基礎知識,並且要學會運用各類工具進行輔助開發以及理論層面的知識,包括代碼的可維護性、組件的易用性、分層語義模板和瀏覽器分級支持等。
    隨着近兩三年來RIA(Rich Internet Applications的縮寫,中文含義爲:豐富的因特網應用程序)的流行和普及帶來的諸如:Flash/Flex,Silverlight、XML和服務器端語言(PHP、ASP.NET,JSP、Python)等語言,前端開發工程師也須要掌握。
    前端開發的入門門檻其實很低,與服務器端語言先慢後快的學習曲線相比,前端開發的學習曲線是先快後慢。
 
  • HTML 甚至不是一門語言,他僅僅是簡單的標記語言!
  • CSS 只是無類型的樣式修飾語言。固然能夠勉強算做弱類型語言。
  • Javascript 的基礎部分相對來講不難,入手還算快。
   
    也正由於如此,前端開發領域有不少自學成「才」的同行,但大多數人都停留在會用的階段,由於後面的學習曲線愈來愈陡峭,每前進一步都很難。 Web前端技術有一些江湖氣,知識點過於瑣碎,技術價值觀的博弈也難分伯仲,即全局的系統的知識結構並未成體系,這些因素也客觀上影響了「正統「前端技術的沉澱!並且各類「奇技淫巧」被濫用,前端技術知識的傳承也過於泛泛,新人難看清時局把握主次。所以,前端技術領域,爲本身覓得一個靠譜的師兄,重要性要蓋過項目、團隊、公司、甚至薪水。
 
    另外一方面,正如前面所說,前端開發是個很是新的職業,對一些規範和最佳實踐的研究都處於探索階段。總有新的靈感和技術不時閃現出來,例如CSS sprite、負邊距佈局、柵格佈局等;各類JavaScript框架層出不窮,爲整個前端開發領域注入了巨大的活力;瀏覽器大戰也愈來愈白熱化,跨瀏覽器兼容方案依然是五花八門。爲了知足「高可維護性」的須要,須要更深刻、更系統地去掌握前端知識,這樣纔可能建立一個好的前端架構,保證代碼的質量。
 
    隨着手持設備的迅猛發展,帶動了 HTML5行業標準的快速發展。web領域的技術,大概有10年都沒有大的更新了!如今市場很須要優秀的、高級的前端工程師。一方面是由於這是一個比較新的細分行業,並且前端程序員大都自學一部分,知識結構不繫統;另外一方面,大學裏面沒有這種課程,最最重要的是:北大青鳥這類培訓機構也沒有專門的前端工程師的培訓課程!!
 
    吳亮在《JavaScript 王者歸來》第一張的序裏面說:大多數程序員認爲 Javascript 過於簡陋,只適合一些網頁上面花哨的表現,因此不肯花費精力去學習,或者覺得不學習就能掌握。實際上,一門語言是否腳本語言,每每是她的設計目標決定,簡單與複雜並非區分腳本語言和非腳本語言的標準。事實上,在腳本語言裏面,Javascript 屬於至關複雜的一門語言,他的複雜度即便放在非腳本語言中來衡量,也是一門至關複雜的語言!Javascript 的複雜度不遜色於 Perl 和 Python!
 
 
那麼如何學習前端知識呢,經過這三個月的學習我總結以下
    
    做爲一名最基礎的前端工程師你必須掌握HTML、CSS和JavaScript。三者必須同時精通,對前端知識只知其一;不知其二的,一遇到問題就停下工做就四處搜索解決方案的,首先就算不上一個合格的前端人員。像我這樣的若是當了前端工程師那工期確定是不能保證的。合格的前端工程師第一要學會的就是在沒有任何外來幫助的狀況下(包括搜索引擎),可以完成大多數任務。
如下知識點是做爲一個前端工程師必須瞭解和熟悉的:
 
  • DOM結構——兩個節點之間可能存在哪些關係以及如何在節點之間任意移動。
  • DOM操做——怎樣添加、移除、移動、複製、建立和查找節點。
  • 事件——怎樣使用事件以及IE和DOM事件模型之間存在哪些主要差異。
  • XMLHttpRequest——這是什麼、怎樣完整地執行一次GET請求、怎樣檢測錯誤。
  • 嚴格模式與混雜模式——如何觸發這兩種模式,區分它們有何意義。
  • 盒模型——外邊距、內邊距和邊框之間的關係,IE < 8中的盒模型有什麼不一樣。
  • 塊級元素與行內元素——怎麼用CSS控制它們、它們怎樣影響周圍的元素以及你以爲應該如何定義它們的樣式。
  • 浮動元素——怎麼使用它們、它們有什麼問題以及怎麼解決這些問題。
  • HTML與XHTML——兩者有什麼區別,你以爲應該使用哪個並說出理由。
  • JSON——它是什麼、爲何應該使用它、到底該怎麼使用它,說出實現細節來。
    
    上述這些知識點都應該是你「想都不用想」就知道的東西。除了上述的前端知識,也還需學會至少一門後端編程語言,讓你本身學會如何與後端進行更好的交互。 不少前端工程師對一些庫很是的熟悉,jQuery,Bootstrap等,可是對於庫的熟悉並不能提現你的優秀,整整優秀的是那些理解庫背後的機制,特別是可以徒手寫出一個本身的庫的人。真正合格的前端工程師是能實現具體的功能要求,而優秀的前端工程師須要解決的問題是尋找一個最優的解決方案。
 
    再者,優秀的前端工程師須要具有良好的溝通能力,由於前端工程師至少都要知足四類客戶的需求:
 
  • 產品經理。這些是負責策劃應用程序的一羣人。他們會想出不少新鮮的、奇怪的、甚至是不但是實現的應用。通常來講,產品經理都追求豐富的功能。
  • UI設計師。這些人負責應用程序的視覺設計和交互模擬。他們關心的是用戶對什麼敏感、交互的一向性以及總體的好用性。通常來講,UI設計師於流暢靚麗、但並不容易實現的用戶界面,並且他們常常不滿前端工程師形成 1px 的偏差。
  • 項目經理。這些人負責實際地運行和維護應用程序。項目管理的主要關注點,無外乎正常運行時間、應用程序始終正常可用的時間、性能和截止日期。項目經理追求的目標每每是儘可能保持事情的簡單化,以及不在升級更新時引入新問題。
  • 最終用戶。指的是應用程序的主要消費者。儘管前端工程師不會常常與最終用戶打交道,但他們的反饋意見相當重要。最終用戶要求最多的就是對我的有用的功能,以及競爭性產品所具有的功能。  
    
    Yahoo公司 ,YUI的開發工程師 Nicholas C. Zakas 認爲:前端工程師是計算機科學職業領域中最複雜的一個工種。絕大多數傳統的編程思想已經不適用了,爲了在多種平臺中使用,多種技術都借鑑了大量軟科學的知識和理念。成爲優秀前端工程師所要具有的專業技術,涉及到廣闊而複雜的領域,這些領域又會由於你最終必須服務的各方的介入而變得更加複雜。專業技術可能會引領你進入成爲前端工程師的大門,但只有運用該技術創造的應用程序以及你跟他人並肩協同的能力,纔會真正讓你變得優秀。
相關文章
相關標籤/搜索