Web 前端開發大致上是,創建出 Web 網頁以供用戶瀏覽使用等。主要通過 HTML、CSS、JavaScript 等技術來實現交互。
所面臨的挑戰主要有幾點:
一、
Web 的載體的多樣性。
以瀏覽器為例,分別有 IE,Chrome,火狐等。雖然有 ECMA 委員會進行標準化,但不同瀏覽器對 HTML、CSS、JS 等支持程度還是存在差異。所以需要進行兼容處理。
而且,這還會另測試的復雜度上升。
二、
Web 前端開發的工程化問題。
在以前,Web 前端開發是極度依賴于后端的,例如 JSP、PHP 等前后端代碼混雜,這段時期,前端的工程化問題還不算凸顯。
而隨著 MVVM 的普及,前后端的分離,本身的前端項目需要有一定的組織,協作,需要有前端的一套工程化解決方案。
包括組件化開發,單元測試,增量更新,代碼壓縮混淆,項目的打包構建發布等。
三、
Web 框架之間的不兼容。
Web 開發中,躲不開的是三大框架 React、Angular、Vue。而框架與框架之間存在明顯的溝壑。
對于一個 Web 前端項目來說,其實使用哪種技術并不重要,重要的是能實現需求。但是在實際上,如果項目選定了某個框架,其他框架之間的某些組件或者解決方案并不能互通。
當然,現在的 Web Component 有希望解決這個問題,但是, Web Componet 的兼容性也存在明顯問題。
結語:
Web 前端開發所面臨的問題遠不止這些。當然,有問題就有解決方案,Web 前端技術就是在攻克這些問題上不斷演進。
我是一名前端開發程序員,所以每天的工作就是寫代碼,搞開發各種開發,網站開發小程序開發以及webAPP的開發。這就是我目前的狀況,我怎么會成為一名前端程序員呢?
原本我是想成為一名設計師,高中時期選擇的美術生的道路,本想著是考上大學可以學習設計方面的專業,所以在上大學的時候選擇的計算機系,在大一的時候學校沒有專業細分,上的都是公共基礎課程。辦公軟件,做網站,以及設計專業內容都有涉及。
我們計算機系也是男生居多的學院,女生是少的可憐那種,在這樣的情況下,本以為在大二專業細分的時候可以選擇自己想要設計專業,但是沒想到設計班只有一個。大部分女生選擇設計,但是沒想到男生選專業也特別多,系統隨機所以我就被淘汰了。
我也是在被淘汰的情況下,也是隨緣吧,選擇可網站開發班,這才是心路歷程的開始啊 !這對設計熱情高漲的大一時候,主要學習了設計相關的課程,導致學習網站開發的時候,腳步慢跟不上,相差甚遠啊,也是在慢慢熬才得以畢業。
現在也剛剛是畢業一年,記得在實習的時候是在一家外包開發公司,在接觸那些正真的開發項目,對上司安排的工作都有點手忙腳亂的,畢竟沒有正真做客戶的項目,在學校都是應對考試和學分,在正真做開發的時候才發現,自己學習的東西是多么的少,使用的知識和技術是多么的不足。也是從一步步的細小開發中獲取經驗,知識和技術,慢慢的提升自己,直到現在的可以獨立開發前端,頁面的制作數據的對接,各方面的進步。
現在已經是加上實習期已經有兩年的前端開發經驗了,已經可以做到獨自開發前端,和后端對接數據完成整站的開發和上線工作。在這兩年時間成長的速度是很快的,也讓對前端這個職業慢慢的喜歡了,雖說程序員是個會禿頭的職業哈哈哈,但是在做到項目上線那一刻,絕對是很有成就感的,所以我也會繼續努力,向更好的前端技術前進,提升自己做到更好,更棒的技術人員。
新手怎么快速學習web前端技能?這個問題是剛開始學習web前端開發的朋友都會想問的,開始的時候沒有人帶你和有人帶你是不一樣的,各有利弊吧,沒有人指導的話會苦逼一點,但是可以鍛煉出很強的學習能力,有人指導的話可以少走一些彎路,但是容易養成依賴別人的習慣,影響獨立思考的能力。當然我是屬于參加前端培訓學習的,在這分享一下我的web前端學習的經驗吧。
在學習之前,首先要搞清楚,web前端工程師需要掌握哪些技能才算得上是web前端工程師?比如我在學習前端技能之前,先制定一個學習計劃,先看一下招聘網上的招聘web前端的崗位要求什么技術,先記下來,里面的技術要求都是最新的技術要求。
學好上面的基礎知識,然后就是學習各種框架了,比如最近比較流行的vuejs框架,還有angular和react,我建議先學好一種,理解其中的原理和思想,到后面學習其他的相對簡單一點。jquery框架是最多人用的前端框架,當然也要掌握,學習它也比較簡單。css框架也要掌握至少一種吧,比如sass,less,stylus等等,用的比較多的還是sass和less吧。還有精通頁面布局,css樣式調整,深刻理解web標準,對可用性,可訪問性,結構與表現分離等等相關知識也是必須的。
當然也需要精通熟悉bootstrap,font awesome.js等前端基礎庫,熟悉大規模的web應用開發,網站性能優化和代碼規范。當然如果使自己更加充實,就學習一門服務器腳本語言,儒nodejs/php/java/python等,個人感覺nodejs更接近前端一點,它是前后端分離的框架。學習一本后端語言也是一個加分項,也是為了以后的全棧和架構師之路也是必須的,如果你向產品經理發展那就另當別論。
針對于新手,最好是建議去一些web前端培訓機構學習吧,會有比較專業的導師教你入門,為你制定比較適合你的學習計劃,這樣學習起來也比較快。