⑴ 前端程序員和後端程序員區別是什麼,分別要具備哪些能力
工作內容還是有很大區別的,後端程序員主要做一些網路的請求封裝、通知、數據的封裝,前端更注重拿到後端給的數據如何更好的展示。
⑵ 前端工程師他到底是一種怎樣的職業
前端工程師已經是大家不再陌生的一個軟體行業的工種了,盡管這一工種誕生也沒幾年。作為一名從業三年的前端工程師,我嘗試結合業界標准與我的理解,來盡可能詮釋一下前端工程師這個職業。
前端工程師的英文名為front-end engineer,簡稱FE,下文將用FE來代稱。現在意義上的前端(並非只製作網頁),國內最早開始有大規模招聘崗位應該是2011年左右的事情吧,在此之前,FE的工作基本都是由服務端工程師包辦的,或者是由設計師來產出HTML頁面。那麼,是什麼樣的原因催生出了FE這一職位呢?本文將從FE的工作內容、專業FE應具備的技能和品質來聊聊這個職業。
用戶體驗的操刀者
前端工程師的首要工作就是開發用戶界面,在web系統中,就是指網頁了。為什麼網頁需要專門的FE來寫呢?答案就是「用戶體驗」。隨著web2.0概念的普及以及web3.0的提出,用戶成為互聯網的主要生產者,網頁所承載的功能越來越多。
一方面,企業的「用戶體驗」訴求很強烈。這個很容易就能理解,如果你的產品看上去就像個釣魚網站而且還特別難用,就會有一部分用戶離你而去。非互聯網企業呢?也會面臨這樣的情況,你花了很大的功夫優化資料庫,優化伺服器負載,你的客戶卻很難感知到你的努力。你的系統界面還是八九十年代的風格,客戶的第一感覺就是這系統不行,不買你的帳。相反,如果你花一點時間做一套嶄新風格的界面出來,客戶的第一感覺就是這個系統好炫酷,技術含量很高。不要小看這個第一感覺,對於外行人來說,第一感覺往往起到了決定作用。好多企業都意識到了這一點,所以對用戶體驗的訴求就上去了。
另一方面,現在的用戶也都很挑剔。畢竟他們使用的產品一個比一個炫,都被慣壞了,你的產品稍有點不爽的地方,就上微博去給你宣傳。
前端工程師是用戶體驗的把控者,在產品經理構想出交互原型,設計師設計出交互細節後,FE就用他的雙手一行行敲出這些代碼。他敲出的每一個按鈕,每一張圖片,都被成千上萬的用戶點擊著,FE與用戶可以說是「零距離接觸」。作為產品交互的實現者,除了HTML、CSS這兩門語言要精通外,對前端要求更高的其實是非技術因素。
FE需要對用戶體驗有較深的理解。比如頁面上有一個超鏈接,字體比較小的情況下,用戶可能會一下點不中,因為鏈接的可點擊區域是緊貼著文字邊緣的。前端可以通過很簡單的方法來擴大這個鏈接的可點擊區域,使得用戶更容易點中。這就是用戶體驗,正如《瞬間之美》中提到的那樣,touch到用戶的內心只需要一瞬間。對用戶體驗的理解,還體現在對一些交互常識的把握上。比如用戶操作某個軟體的界面,會感覺它很靈巧,卻具體說不出到底是哪裡。那麼很可能是這個界面上的按鈕有著設計良好的四態(正常、滑鼠移上、滑鼠按下、不可用),它會隨時對你的操作給出反饋。
懂用戶體驗的前端工程師,會讓他的作品與用戶溝通,能夠touch到用戶心中那一塊柔軟的區域。
FE需要有一點強迫症。這體現在對任何瑕疵的不容忍。比如採用技術手段讓頁面的滾動更平滑些,減少頁面的視覺抖動,像素級別的定位校準。當用戶觸碰的內容是一串非電話號碼的數字時,不要讓手機自動調出撥號功能,等等。很多細節是產品經理無法感知的,因為這些都是很零散的技術手段,只有靠FE來點滴積累。再有極致者,追求讓頁面的響應時間再減少幾個毫秒,讓你的手機少耗幾KB流量,少耗一些電量。這些甚至連用戶都無法感知,但是當你的用戶有百萬級別或者千萬級別,這樣做的價值就顯現出來了。
前端工程師需要是一個心思細膩之人,需要對美有所領悟,需要執著地追求完美,需要有品味,有思想,有大局觀,最好還能懂點心理學。
用戶端業務邏輯
做出優雅的界面只是前端工程師的第一步,編程也是必備技能,FE承擔著處理用戶端業務邏輯的任務。放在以前,用戶端就是個IE瀏覽器,沒有什麼業務邏輯可言。但現在不同了,用戶使用瀏覽器發表文章、進行社交活動,更復雜的能使用在線工具完成工作。
javascript就是FE需要掌握的編程語言,他應該通曉這門語言的優勢和缺點,掌握各種編程思想、開發模式。利用各種技巧實現交互越來越豐富的界面,同時還要與服務端的工程師溝通,調試介面,完成:頁面展示——響應用戶操作——提交用戶數據——反饋操作結果這一系列流程。
從這一點上,要求前端工程師要有軟體開發的基礎,了解計算機的基本原理,網路通信的基本原理,所以計算機相關專業出身的前端會更有優勢一些。
前端也需要架構
寫寫網頁也要架構?有什麼好架的?回答這個問題首先得明確一點,FE的工作內容已不再是「寫寫頁面」這么簡單。隨著前端代碼的規模越來越大,逐漸涌現出了模塊化開發、MVC、MVVM等開發模式。團隊規模也從原來的單兵作戰演變為團隊開發。
所以,一個高級前端工程師,要有架構能力。這個架構能力包括不限於:
對現有優秀框架的了解與整合使用
根據項目的業務特點構建出合適的開發模式
設計前端測試方案保證代碼質量
用工程化方案組織起團隊的開發流程。
向前延伸、向後延伸
物聯網的市場越來越熱了,手機是物聯網體系中的一個關鍵節點。前端工程師的戰場已不再是單純的瀏覽器,將來會覆蓋到各種「端設備」上。得益於javascript語言的靈活性,現在用javascript已經可以開發windows應用、ios應用、android應用,可以編寫智能電視上的應用。將來,或許是VR、可穿戴設備、智能家電。這是前端可以向前延伸的方向。
另一方面,由於nodejs的橫空出世,javascript這門語言竟然神奇的有了服務端的能力。之前用java、PHP做的事情,js同樣可以實現了。本來前端陣營中就有一批人是從後端轉過來的,有服務端開發的基礎,得了nodejs這一利器,再加上現在市場的需求,快出產品,敏捷開發,前端工程師向後延伸的路線寬廣而明亮。事實上,全棧工程師的概念在前年就被提出,BAT這樣的業界領頭羊早已用nodejs做一些基礎設施的建設,而很多小而快的創業公司,也在用nodejs進行快速迭代開發。
持續學習
前端領域的技術更新相對於其他領域要快很多,原因大概也是因為這個領域離用戶最近吧。有一些新的技術甚至是顛覆性的,前端工程師必須要跟上時代的步伐,否則你開發出的產品在體驗上就落後別人一截了。
有一些市場人員提出的需求,產品經理根據多年的經驗評估後覺得無法實現,就被打回了。而事實上,隨著新技術的出現,有些你認為無法實現的功能已經可以在前端實現了。隨著HTML5的支持度越來越高,前端擁有的能力也會越強。比如利用canvas能夠獲取到圖片上的每一個像素點,這樣前端就擁有了圖像處理能力。有了FileReader API,前端擁有了本地文件的讀取能力,還有地理位置獲取等等。
而這些新東西,就需要前端工程師來不斷學習。所以,一個稱職的前端必須能夠保持持續學習能力,能夠對新技術有敏銳的嗅覺。活到老,學到老,說的就是前端工程師。
高情商的程序猿
大多數人對程序猿的印象就是情商低、不善言談。但前端工程師應該是個例外,這是由工作性質決定的。
從工作流程來看,FE處於設計師的下游,他要接設計稿,轉化為網頁。同時又是後端工程師的上游,需要把用戶產生的數據提交到服務端。橫向來看,他又與產品經理有著密切接觸,因為他可能隨時和產品經理探討交互的細節。這樣一個連接著團隊中的其他成員的角色,需要他既是一個粘合劑,又是一個潤滑劑。
前端工程師需要有較高的溝通能力和理解能力。我們經常開玩笑說「設計師活在童話故事裡」,因為有時候他們設計的頁面根本不符合常規,無法實現。這個時候你就需要耐心的給設計MM講原理、講原因,並且告訴她設計需要遵循哪些基本規范。對於產品經理的思想,你要能把握到位,你得理解他比劃了半天到底是想要做什麼。與後端工程師打交道的時候,你又得馬上化身編程達人,跟他們聊數據類型,聊面向對象,聊設計模式。
你需要能隨時切換角色,切換你的表達方式和談話內容。所以,你得是一隻高情商的程序員。
以上就是我對前端工程師的理解,前端的門檻低,但要成為一名專業的前端工程師,需要掌握的東西太多了。除了前端技術外,我認為前端更重要的是綜合能力,包括我上面談到的思維細膩、有品味、有思想、情商高等等。畢竟你要通過代碼與用戶產生接觸,給用戶帶來愉悅感。從某種程度上來說,你得是一個好戀人。
⑶ 如何成為一名優秀的web前端工程師
程序設計之道無遠弗屆,御晨風而返。———— 傑佛瑞 · 詹姆士 我所遇到的前端程序員分兩種: 第一種一直在問:如何學習前端? 第二種總說:前端很簡單,就那麼一點東西。 我從沒有聽到有人問:如何做一名優秀、甚至卓越的WEB前端工程師。 何為:前端工程師? 前端工程師,也叫Web前端開發工程師。他是隨著web發展,細分出來的行業。 Web前端開發技術主要包括三個要素: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 首先要知道這門語言可以做什麼,不能做什麼,擅長做什麼,不擅長做什麼! 如果你只想當一個普通的前端程序員,你只需要記住大部分 Javascript 函數,做一些練習就可以了。 如果你想當深入了解Javascript,你需要了解 Javascript 的原理,機制。需要知道他們的本源,需要深刻了解 Javascript 基於對象的本質。 還需要深刻了解瀏覽器宿主 下的 Javascript 的行為、特性。 因為歷史原因,Javascript一直不被重視,有點像被收養的一般! 所以他有很多缺點,各個宿主環境下的行為不統一、內存溢出問題、執行效率低下等問題。 作為一個優秀的前端工程師還需要深入了解、以及學會處理 Javascript 的這些缺陷。 那麼一名優秀的、甚至卓越的 前端開發工程師的具備什麼條件? 首先,優秀的Web前端開發工程師要在知識體繫上既要有廣度和深度!做到這兩點,其實很難。所以很多大公司即使出高薪也很難招聘到理想的前端開發工程師。技術非黑即白,只有對和錯,而技巧則見仁見智。 在以前,會一點Photoshop和Dreamweaver的操作,就可以製作網頁。 現在,只掌握這些已經遠遠不夠了。無論是開發難度上,還是開發方式上,現在的網頁製作都更接近傳統的網站後台開發,所以現在不再叫網頁製作,而是叫Web前端開發。 Web前端開發在產品開發環節中的作用變得越來越重要,而且需要專業的前端工程師才能做好。 Web前端開發是一項很特殊的工作,涵蓋的知識面非常廣,既有具體的技術,又有抽象的理念。簡單地說,它的主要職能就是把網站的界面更好地呈現給用戶。 其次,優秀的Web前端開發工程師應該具備快速學習能力。Web發展的很快,甚至可以說這些技術幾乎每天都在變化!如果沒有快速學習能力,就跟不上Web發展的步伐。前端工程師必須不斷提升自己,不斷學習新技術、新模式;僅僅依靠今天的知識無法適應未來。Web的明天與今天必將有天壤之別,而前端工程師的工作就是要搞清楚如何通過自己的Web應用程序來體現這種翻天覆地的變化。 說到這里,我想起了一個大師說過的一句話:對於新手來說,新技術就是新技術。 對於一個高手來說,新技術不過是就技術的延伸。 再者,優秀的前端工程師需要具備良好的溝通能力,因為前端工程師至少都要滿足四類客戶的需求。 1、產品經理。這些是負責策劃應用程序的一群人。他們會想出很多新鮮的、奇怪的、甚至是不可是實現的應用。一般來說,產品經理都追求豐富的功能。 2、UI設計師。這些人負責應用程序的視覺設計和交互模擬。他們關心的是用戶對什麼敏感、交互的一貫性以及整體的好用性。一般來說,UI設計師於流暢靚麗、但並不容易實現的用戶界面,而且他們經常不滿前端工程師造成 1px 的誤差。 3、項目經理。這些人負責實際地運行和維護應用程序。項目管理的主要關注點,無外乎正常運行時間、應用程序始終正常可用的時間、性能和截止日期。項目經理追求的目標往往是盡量保持事情的簡單化,以及不在升級更新時引入新問題。 4、最終用戶。指的是應用程序的主要消費者。盡管前端工程師不會經常與最終用戶打交道,但他們的反饋意見至關重要。最終用戶要求最多的就是對個人有用的功能,以及競爭性產品所具備的功能。 Yahoo 公司 ,YUI 的開發工程師 Nicholas C. Zakas 認為: 前端工程師是計算機科學職業領域中最復雜的一個工種。絕大多數傳統的編程思想已經不適用了,為了在多種平台中使用,多種技術都借鑒了大量軟科學的知識和理念。成為優秀前端工程師所要具備的專業技術,涉及到廣闊而復雜的領域,這些領域又會因為你最終必須服務的各方的介入而變得更加復雜。專業技術可能會引領你進入成為前端工程師的大門,但只有運用該技術創造的應用程序以及你跟他人並肩協同的能力,才會真正讓你變得優秀。 ———————————— 關於書籍: HTML、CSS 類別書籍,都是大同小異,在當當網、卓越網搜索一下很多推薦。如果感覺學的差不多了,可以關注一下《CSS禪意花園》,這個很有影響力。 Javascript 的書籍 推薦看老外寫的,國內很多 Javascript 書籍的作者對 Javascript 語言了解的都不是很透徹。 這里推薦幾本 Javascript 書籍: 初級讀物: 《JavaScript高級程序設計》:一本非常完整的經典入門書籍,被譽為JavaScript聖經之一,詳解的非常詳細,最新版第三版已經發布了,建議購買。 《JavaScript王者歸來》網路的一個Web開發項目經理寫的,作為初學者准備的入門級教程也不錯。 中級讀物: 《JavaScript權威指南》:另外一本JavaScript聖經,講解的也非常詳細,屬於中級讀物,建議購買。 《JavaScript.The.Good.Parts》:Yahoo大牛,JavaScript精神領袖Douglas Crockford的大作,雖然才100多頁,但是字字珠璣啊!強烈建議閱讀。 《高性能JavaScript》:《JavaScript高級程序設計》作者Nicholas C. Zakas的又一大作。 《Eloquent JavaScript》:這本書才200多頁,非常短小,通過幾個非常經典的例子(艾米麗姨媽的貓、悲慘的隱士、模擬生態圈、推箱子游戲等等)來介紹JavaScript方方面面的知識和應用方法。 高級讀物: 《JavaScript Patterns 》:書中介紹到了各種經典的模式,如構造函數、單例、工廠等等,值得學習。 《Pro.JavaScript.Design.Patterns》:Apress出版社講解JavaScript設計模式的書,非常不錯。 《Developing JavaScript Web Applications》:構建富應用的好書,針對MVC模式有較為深入的講解,同時也對一些流程的庫進行了講解。 《Developing Large Web Applications》:不僅有JavaScript方面的介紹,還有CSS、HTML方面的介紹,但是介紹的內容卻都非常不錯,真正考慮到了一個大型的Web程序下,如何進行JavaScript架構設計,值得一讀。 要做優秀的前端工程師,還需要繼續努力:《高性能網站建設指南》、《Yahoo工程師的網站性能優化的建議》、「YSLOW」性能優化建議、《網站重構》、《Web開發敏捷之道》、「 jQuery 庫」、「前端框架」、「HTML5」、「CSS3」。。。 這些都要深入研究! 萬事開頭難!如果你能到這個境界,剩下的路自己就可以走下去了。 人們常說:不想當裁縫的司機,不是個好廚師。
⑷ 程序前端跟後端有什麼區別呀
前端開發主要做的是用戶所能看到的前端展示界面;後端開發主要做的是邏輯功能等模塊。其實主要區別體現在以下兩個方面:知識結構與實現和工作職責。
1、知識結構
(1)展示的方式不同
前端指的是用戶可見的界面,網站前端頁面也就是網頁的頁面開發,比如網頁上的特效、布局、圖片、視頻,音頻等內容。前端的工作內容就是將美工設計的效果圖的設計成瀏覽器可以運行的網頁,並配合後端做網頁的數據顯示和交互等可視方面的工作內容。
後端是指用戶看不見的東西,通常是與前端工程師進行數據交互及網站數據的保存和讀取,相對來說後端涉及到的邏輯代碼比前端要多得多,後端考慮的是底層業務邏輯的實現,平台的穩定性與性能等。
2、工作職責
前端工程師主要的工作職責分為三大部分,分別是傳統的Web前端開發,移動端開發和大數據呈現端開發。Web前端開發主要針對的是PC端開發任務;
移動端開發則包括Android開發、iOS開發和各種小程序開發,在移動互聯網迅速發展的帶動下,移動端的開發任務量是比較大的,隨著5G標準的落地,未來移動端的開發任務將得到進一步的拓展;大數據呈現則主要是基於已有的平台完成最終分析結果的呈現,呈現方式通常也有多種選擇,比如大屏展示等。
後端工程師的主要職責也集中在三大部分,分別是平台設計、介面設計和功能實現。平台設計主要是搭建後端的支撐服務容器;介面設計主要針對於不同行業進行相應的功能介面設計,通常一個平台有多套介面,就像衛星導航平台設有民用和軍用兩套介面一樣;功能實現則是完成具體的業務邏輯實現。
⑸ 前端後端和程序員最大的區別是什麼
區別1,以不同的方式展示:
前端開發主要是研究用戶可以看到的前端顯示界面。後端開發主要集中在邏輯功能等模塊上,用戶看不到的這些模塊。
區別2,所用技術不同
前端開發的技術主要包括但不限於html5、css3、javascript、jquery、Bootstrap等技術。而後端開發是以java為例的,主要用到的技術包括但不限於Struts spring springmvc Hibernate Http協議 Servlet Tomcat伺服器等技術。
區別3,穩定性不同
前端主要是集中在設計稿、版面風格、交互效果等方面,前端的需求頻繁變化;後端更多是關注隨著業務規模的增加,業務邏輯所發生的變化,和如何把系統變得更穩定。
⑹ 前端開發具體工作職責是什麼
入門級做頁面。就這么簡單。
把Designer出的各種設計圖轉化成html+css+js+image的靜態網頁,並把它們交給後端開發人員製作成頁面模板。這就是入門級的前端工程師所做的事情。
進階級還是做頁面。
不過稍微復雜一些,你需要開始注意一些更復雜的問題,首當其沖的就是瀏覽器兼容性問題。老實說瀏覽器兼容性問題真的不是那麼好搞定的,畢竟每個項目對瀏覽器版本的要求都不一樣,而且現在不光有PC瀏覽器還有各種移動設備上的瀏覽器,同時國內廠家的瀏覽器種類也越來越多,坑也是密密麻麻。除了兼容性,你可能還要關注一下性能問題,包括但不限於網路性能、渲染性能、js邏輯的性能等等,這個展開講可以寫本小冊子了。
中級帶團隊。
你可能會奇怪,一個中級工程師就能帶團隊了?可是真的很多公司就是這樣,尤其是小公司。當你了解了html、js、css以及各種瀏覽器的各種特性細節之後,你會被任命帶領一個小的開發團隊,當然是前端開發團隊。可能加你一共也就三四個人,甚至更少。這時候你的工作內容除了自己寫一點頁面以外,還會幫助組員解決各種各樣的細節問題,畢竟,組里,你是最懂技術細節的。這個時候,一部分人開始停步不前,而另一部分人開始關注另一個新的問題:工程化。前端代碼都是非常鬆散的,項目結構性差,一旦開發人員數量多起來,業務復雜起來,如何管理這么多人、這么多代碼是個非常大的問題。能否在這個問題上得到突破,決定了你能否邁向下一個級別。
高級架構設計。
此時你熟悉前端開發的各種技術細節(當然忘了一部分細節也沒事 ^_^),同時對各種前端框架、技術的特性聊熟於胸,你知道如何組織和管理項目讓大家能以最快的速度達到項目要求,你甚至了解手下每個人的所長所短。於是當新項目到來,你迅速根據自身過往的經驗選取若干種技術和工具,配上你認為最合適的人選組成項目團隊,披荊斬棘日夜兼程將產品汪的各種奇葩需求斬於馬下。這么做了一兩個項目之後,你可能又覺得空虛了,你要尋求新的目標。恰好,NodeJS打開了通往新世界的大門。
非典型前端穿過NodeJS打開的大門,你進入了全新的世界——後端。
全新的世界,無限的可能。樓上寸老師說的「上天入地,無所不能」,我猜就是這個狀態。愛幹嘛幹嘛吧,這個時候,你應該不會再來問「後端程序員都在幹嘛」這種問題了。其實,要成為一名「非典型前端」並不一定非得經過1~4的步驟。只是現在已經上了年紀的前端大多是這樣過來的,畢竟,NodeJS出來的時間也並不算很久。
⑺ 前端程序員怎麼自學
自學方法:
1、作為一個初學者,你必須明確系統的學習方案,我建議一定有一個指導的人,全靠自己學,放棄的幾率非常大,在你對於web前端還沒有任何概念的時候,需要一個人領進門,之後就都靠自己鑽研,第一步就是確定web前端都需要哪些內容,並且在多少時間內學完,建議時間6個月保底。
2、視頻為主,書為輔。很多初學者在學習前端的時候非常喜歡去買書,但是最後的結果是什麼?看來看去什麼都不會寫,所以在這里給大家提醒,書可以看,但是是在建立於你已經對於某個知識點有了具體操作的執行後,在用書去鞏固概念,這樣更加利於你對於知識的理解。
3、對於學習技術來講,掌握一個學習方法是非常重要的,其實對於學習web前端來講,學習方法確實很多都是相通的,一旦學習方法不對,可能就會造成「方法不對,努力白費」。其實關於這方面還是很多的,我就簡單說個例子,有的人邊聽課邊跟著敲代碼,這樣就不對,聽課的時候就專心聽,做題的時候就專心做題,這都是過來人的經驗,一定要聽。根據每個人的不同,可能學習方法也會有所出路,找到適合你自己的學習法方法是學習的前提。
4、不建議自己一個人瞎學,在我了解學習編程的這些人來看,從零基礎開始學並且最後成功做這份工作的其實並沒有幾個,我覺得大部分原因就是因為他們都不了解web前端是干什麼的,學什麼的,就盲目的買書看,到處找視頻看,最後看著看著就放棄了,所以我建議初學者在沒有具體概念之前,還是找有經驗的人請教一下,聊過之後你就會知道web前端具體是干什麼的,該怎麼學,這是我個人的小建議,可以不採納。
自學路線:
第1階段:前端頁面重構(4周)
內容包含了:(PC端網站布局項目、HTML5+CSS3基礎項目、WebApp頁面布局項目)
第2階段:JavaScript高級程序設計(5周)
內容包含:(原生JavaScript交互功能開發項目、面向對象進階與ES5/ES6應用項目、JavaScript工具庫自主研發項目)
第3階段:PC端全棧項目開發(3周)
內容包含:(jQuery經典交互特效開發、HTTP協議、Ajax進階與PHP/JAVA開發項目、前端工程化與模塊化應用項目、PC端網站開發項目、PC端管理信息系統前端開發項目)
第4階段:移動端項目開發(6周)
內容包含:(Touch端項目、微信場景項目、應用Angular+Ionic開發WebApp項目、應用Vue.js開發WebApp項目、應用React.js開發WebApp項目)
第5階段:混合(Hybrid,ReactNative)開發(1周)
內容包含:(微信小程序開發、ReactNative、各類混合應用開發)
第6階段:NodeJS全棧開發(1周)
內容包括:(WebApp後端系統開發、一、NodeJS基礎與NodeJS核心模塊二、Express三、noSQL資料庫)
基礎書籍:
1、《Head First HTML與CSS(第2版)》,入門真的是經典書籍,手把手教學,豐富的案例讓你從 0 開始學前端。
2、《CSS權威指南(第三版)》,這本書作為 CSS 的經典著作,把原理講得非常的通透,除了 w3c 標准,算最權威的一本了,畢竟權威指南。
3、《CSS揭秘》神書,47 個 css 技巧讓你在面對各種 css 問題的時候游刃有餘。是 css 書籍中評分最高的了,css 進階必備。
4、《javascript語言精粹》,這本書可以在入門之前了解一下基本語法,以及在學習之前可以了解下 JS 裡面的精粹以及糟粕,雖然這本書很薄很薄,但是值得反復去讀的一本書。
5、《JavaScript DOM編程藝術(第2版)》,本書在簡潔明快地講述JavaScript和DOM的基本知識之後,通過幾個實例演示了專業水準的網頁開發技術,透徹闡述了平穩退化等一批至關重要的 JavaScript編程原則和最佳實踐。
6、《JavaScript權威指南》:犀牛書是每個FE都繞不過的一本書,可以先大致通讀幾遍,也可以把其當作工具書,時時翻閱。
視頻教程:
網頁鏈接
⑻ 前端市場和後端市場怎樣理解
前端營銷:以銷售和服務為核心的銷售公司,負責市場的開發和推廣,刺激客戶的需求,不在乎產品是怎麼做的,只是把產品推廣出來,當然好的前端營銷人員會及時將客戶需求反饋給後端營銷,幫助後端營銷了解每個目標市場的動態和客戶需求。
後端營銷:研發製造為核心的部門,負責產品定義和研究與開發的初步的市場調查,也就是說要了解市場,了解競爭對手,了解目標客戶,根據市場、用戶和競爭環境來完成新產品的定義,一個完整描述產品的特定文件,沒有這個產品定義,任何產品概念都不會進入開發階段。
(8)前端程序員如何理解業務擴展閱讀:
注意事項:
前端和後端應用程序
1.個人電腦(PC)
目前,計算機終端仍是前端的主要領域,主要分為新聞媒體、社交網路、電子商務、論壇等面向公眾的各種網站,以及面向管理員的各種CMS(contentmanagementsystem)等後台管理系統。
2.Web應用程序是指使用Web開發技術實現更好用戶體驗的Web應用程序。
可以在手機和桌面瀏覽中運行。隨著移動網路速度的提高,WebApp為我們提供了極大的便利。此外,谷歌在過去兩年提出了一種新的WebApp形式,即PWA(漸進增強WebApp)。
3.微信(微信)是一個擁有大量用戶的平台,所以它也是我們前端開發的另一個重要領域。微信的公眾號和訂閱號,為市場營銷和自媒體從業者創造了一個新的世界。
4.混合應用是指介於Web應用和本地應用(主要是Android或iOS)之間的應用。具有本地應用良好的用戶交互體驗和Web應用跨平台開發的優點。
5.2014年Egretengine開發的neuralcat在朋友圈爆紅後,HTML5游戲開始失控。然而,游戲開發變得越來越復雜,需要創建各種眼花繚亂的效果,需要創建各種眼花繚亂的2D和3D場景。
⑼ 前端工程師都從事什麼工作內容
給大家列舉Web前端的六個就業方向和工作內容。
1、資深Web架構師
這個方向,既兼顧了工作的單純性、又能夠減少實際Coding的工作量,能騰出更多時間。在國內,Web前端工程師遇到較多的情況是總是反復編寫著同樣的代碼,總是面對著同樣的技術和產品,容易感覺枯燥。但正是由於這樣較為廣泛的Web相關知識的沉澱,使得我們更加容易成為一名架構師。
雖說這種職業發展方向不如第一種來得平滑,但是作為一名架構師在學習後端技術、DBA、Platform等內容,將其豐富的知識應用到需要實際中的項目操作,不再局限自己在家裡隨便寫寫兩個Demo。即便在學成這段時間,勢必會遭遇一段時間的陣痛期。但對於一個大局觀好、悟性好、知識面廣的前端工程師而言,這依舊是值得推薦的榮光之路。
2、資深Web前端工程師
這個方向算是一個Web前端最基本的選擇了,但能夠把自己的專業做到極致,能一輩子就在一個專業領域不斷學習和積累。對所有的Web前端工程師來說,朝著這個職業發展方向,只要足夠耐心、厚積薄發,成功的概率是非常高的。
3、網頁設計師
網頁設計師可以將平面設計中的審美觀點套用到網站設計上面來(其區別是動態網頁的製作是平面設計不能達到的,它是一種審美方式的延伸)。網頁如門面,小到個人主頁,大到大公司、大的政府部門以及國際組織等在網路上無不以網頁作為自己的門面。當點擊到網站時,首先映入眼簾的是該網頁的界面設計,如內容的介紹、按鈕的擺放、文字的組合、色彩的應用、使用的引導等等。這一切都是網頁設計的范疇,都是網頁設計師的工作。而且具備精通Photoshop,Coreldraw,Frontpage,Dreamweaver等多項網頁設計工具的能力。
4、PHP程序員
PHP技術人才,正迎合了目前的互聯網的發展趨勢。而且PHP作為非常優秀的、簡便的Web開發語言,和Linux,Apache,MySQL緊密結合,形成LAMP的開源黃金組合,不僅降低使用成本,還提升了開發速度,滿足最新的互動式網路開發的應用,這使得php軟體工程師成為一個發展迅速的職業。
5、自己創業
其實,自己創業是最好的道路,但也是成功率最低的道路,挑戰和機遇並存。作為一個前端技術人員,需要將自己的視野更多放在行業的動態、產業鏈的動態、相關產品領域的動態,把關注細節的優勢繼續保持,同時,增強自己把控一個產品乃至一個公司命運的能力。
6、轉崗管理或其他
這條職業道路和Web前端技術之路關系不大。
⑽ 前端程序員和後端程序員的區別是什麼
一、方式不同:
前端開發主要是研究用戶可以看到的前端顯示界面。後端開發主要集中在邏輯功能等模塊上,用戶看不到的這些模塊。
二、技術不同:
前端開發的技術主要包括但不限於html5、css3、javascript、jquery、Bootstrap等技術。而後端開發是以java為例的,主要用到的技術包括但不限於Struts spring springmvc Hibernate Http協議 Servlet Tomcat伺服器等技術。
前端開發從網頁製作演變而來
名稱上有很明顯的時代特徵。在互聯網的演化進程中,網頁製作是Web1.0時代的產物,早期網站主要內容都是靜態,以圖片和文字為主,用戶使用網站的行為也以瀏覽為主。隨著互聯網技術的發展和HTML5、CSS3的應用,現代網頁更加美觀,交互效果顯著,功能更加強大。
前端開發跟隨移動互聯網發展帶來了大量高性能的移動終端設備應用。HTML5,Node.js的廣泛應用,各類UI框架,JS類庫層出不窮,開發難度也在逐步提升。
以上內容參考:網路-前端開發