Web 前端和後端工程師的具體職責分別是怎樣的?
網站大都遵循MVC架構,前端工程師則是負責V部分。當然這個V是站在整個體系架構角度下來劃分的。前端工程師的工作重點在於將業務與模型進行展現,瀏覽器端的工作毋庸置疑屬於前端。如果服務端的代碼也是為展現提供服務的,那麼這部分工作也應該屬於前端工程師。
補充一點,前後職責劃分在不同公司不同的項目組也可能不同,關鍵看怎麼配合起來更高效。越來越多的趨勢是MVC架構中把View和Conroller都將由前端工程師來完成。因為調用頁面布局的是Controller。越來越多的One Page Website的出現也使前端工程師需要完全掌握業務邏輯,才能做出正確的動態頁面。把Model交給後端工程師,因為Model負責的是確保數據的準確和性能,隨著數據量和基礎設備的不同,需要不同的設計,這一塊是前端和用戶感覺不到的。在Controller這一端,前端工程師需要知道後端設計出來的Model是如何使用的。
為了讓Model這個步驟更加解耦,使前端工程師和後端工程師的工作相互獨立, 創立了MVVM的架構,也就是說前端工程師設計頁面,並設計他們眼中的View Model,也就是MVVM中的VM。後端工程師設計出來的Model與VM有一定的映射關係。這樣雙方的工作就完全獨立。
所以前端不僅僅需要懂得設計類代碼和js,而且需要懂得一定的伺服器端代碼,比如PHP,java和c#。後端工程師的技術背景更多在於演算法,中間件架構,資料庫,網路通信,操作系統。前端方向
網站的「前端」是與用戶直接交互的部分,包括你在瀏覽網頁時接觸的所有視覺內容--從字體到顏色,以及下拉菜單和側邊欄。這些視覺內容,都是由瀏覽器解析、處理、渲染相關 HTML、CSS、Javascript 文件後呈現而來。
技能與工具
前端開發,就是要創造上面提到的網站面向用戶的部分背後的代碼,並通過建立框架,構建沉浸性的用戶體驗。為了實現這個目標,開發需要熟練運用下列語言、框架、工具庫:
● 三大語言:HTML, CSS, 和 JavaScript;
● 此外,掌握 jQuery 和 LESS 等工具庫也很重要,它們能幫助開發者以更高效的方式編碼;
● 很多前端開發崗也要求 Ajax 方法的使用經驗,它可以幫助你使用 Javascript 在後台從伺服器拉取數據,協助實現頁面的動態載入。
打個比方,前端開發者的工作專註於「房屋」裝修,而蓋房子的工作由後端開發者負責。網站的「前端」是與用戶直接交互的部分,包括你在瀏覽網頁時接觸的所有視覺內容--從字體到顏色,以及下拉菜單和側邊欄。這些視覺內容,都是由瀏覽器解析、處理、渲染相關HTML, CSS, JavaScript文件後呈現而來。
後端方向
是什麼給網站前端提供支持?數據存放在哪裡?這就涉及後端內容了。網站後端包括伺服器、應用還有資料庫。後端開發者構建並維護這些組件,為網站提供多方面支持。
技能與工具
為了讓伺服器、應用、資料庫能夠彼此交互,後端工程師需要具有如下技能:
● 用於應用構建的伺服器端語言: PHP, Ruby, Python, Java, .Net 等;
● 數據相關工具: MySQL, Oracle, SQL Server 等;
● PHP框架: Zend, Symfony, CakePHP 等;
● 版本控制工具:SVN, CVS , Git 等;
還要熟練使用 Linux 作為開發和部署環境。
後端開發者使用這些工具編寫乾淨、可移植、具有良好文檔支持的代碼來創建或更新 Web 應用。但在寫代碼之前,他們需要與客戶溝通,了解其實際需求並轉化為技術目標,制定最有效且精簡的方案來進行實現。
是什麼給網站前端提供支持?數據存放在哪裡?這就涉及後端內容了。網站後端包括伺服器、應用還有資料庫。後端開發者構建並維護這些組件,為網站提供多方面支持。
以上內容節選自知乎專欄——前端、後端、全棧都是幹嘛的?誰收入高?看這一篇就夠了。著作權歸優達學城所有。請勿擅自轉載,如需轉載請留言聯繫。
用戶電腦手機上跑的代碼叫前端,機房電腦上跑的代碼叫後端.......
你能看到的是前端做的,機房裡跑的是後端做的
吐槽下,大部分程序來說,你是前端還是製作美工,沒有太大的差別
個人感覺統稱前端還是有點自我想要快速長大的意味在,前端入門易,事情雜,深入難,這幾年互聯網發展爆炸的職業
前端要懂的要很雜,會交互,懂原理,能優化,改的了設計圖,寫的了頁面代碼,碼的一手風騷的js,最好還有一門程序語言傍身,有深度,有廣度,也很有噱頭
事實是,國內真能稱得上前端的呢?
大部分人還是掛著前端的titile做著製作的活
---------------------------------------------------------------------------
以上是11年的時候編輯的答案,到了14年,欣慰的前端已經細化了,而且薪資的增幅也很大
有重構,有js,有前端架構師,還有node
界線越來越模糊,而職別也越來越難界定了Web前端工程師只是最近今年隨著互聯網發展才產生的一個職業,重點是側重於Web表現層,通過HTML,CSS,JavaScript技術實現界面的展現及交互。
Web後端工程師,當然,我認為很少有這種叫法的。區別於前端開發工程師,重點是對業務邏輯及數據的處理,使用的語言主要是PHP,Java,ASP.NET,Python, Ruby等。相比較前端,後端的發展比較成熟,針對不同的語言,有很多成熟的解決方案,比方說MVC,Struts等。隨著nodejs的發展,也可以使用JavaScript 去開發後台,這樣就沒有嚴格意義上區分的前端和後台了。P.S 百度百科關於「web前端工程師」的介紹:http://baike.baidu.com/view/3936353.htmWEB 開發有一個 Three Tier 的概念. Presentation tier, Logic tier, and Data tier. 前端一般只做Presentation tier。 後端做 Logic tier, and Data tier。google 一下 Three Tier Architecture 就明白了。
老大說,其實,真正的後端沒有任何的界面,把處理好的數據都封裝成了一個個的介面。
前端工程師做了好多界面的東西,但是沒有數據,把後端介面拿過來一放,可以了。
這中間,又隔了一個pm。一句話,後端負責取出數據,前端負責呈現數據。
在大公司里這個職位不只是這麼簡單劃分的,就拿前端來說也可以分為頁面工程師和javascript工程師,傳統意義上前端工程師只負責web ui的交互部分實現以及和後端數據介面調試,但是這個時代即將成為過去了。
在現在,前端javascript已經不僅僅可以實現web端頁面交互,同時可以藉助phonegap實現手機客戶端,nodejs實現後端。同時在給個瀏覽器廠商逐步對HTML5更好的支持下,前端能做的事情將會越來越多,而前端這個職位的分工也會變的更加細緻,不僅局限於現在的劃分在Web開發中,前端攻城獅和後端攻城獅是不同的物種,但兩者又必須密切分工合作,才能使得項目順利進行。分工的核心在於在哪裡渲染頁面。不同的渲染位置決定了不同分工模式。一共有三種渲染的方式。
一.在伺服器端渲染, 前端工程師們需要用模板定義展現形式,後端工程師們需要用模板輸出數據。
二.在瀏覽器端渲染, 前端工程師能夠從後端伺服器獲取數據,進而按照業務邏輯渲染頁面。這時候後端工程師只需要開發業務 API 提供數據就可以了。
三.大前端模式, 藉助神器Node.js,前端工程師終於把磨爪伸進伺服器了。 這是後端工程師的職責是開發無狀態的API。
引自:前端和後端分工的三種模式
web前端分為網頁設計師、網頁美工、web前端開發工程師
首先網頁設計師是對網頁的架構、色彩以及網站的整體頁面代碼負責網頁美工只針對UI這塊兒的東西,比如網站是否做的漂亮web前端開發工程師是負責交互設計的,需要和程序猿進行交互設計的配合。web前端需要掌握的有腳本技術javascript DIV+CSS現下最流行的頁面搭建技術,ajax和jquery以及簡單的後端程序等。 後端的話可供開發的語言有 asp、php、jsp、.NET 這些後端開發語言的話搭建環境都不一樣,具體如果你想學的話看是想從事前端部分還是後端程序部分。後端開發如果有一定的條件的話可以轉為軟體開發。不過要有一定的語言基礎,類似java語言。C#等。關鍵是看你的興趣愛好。。
這個到後期不會區分這麼細,做前端到後期也會懂一些後端的技術,反之,後端也是。
在我們實際的開發過程中,我們當前這樣定位前端、後端開發人員。
1)前端開發人員:精通JS,能熟練應用JQuery,懂CSS,能熟練運用這些知識,進行交互效果的開發。 2)後端開發人員:會寫Java代碼,會寫SQL語句,能做簡單的資料庫設計,會Spring和iBatis,懂一些設計模式等。現在來看,我們對前後端的要求還是蠻低的,尤其是後端,新員工經過培訓之後都是可以參與到後端開發的,沒有太高的技術門檻,唯一需要做的就是先變成熟練工種,這個階段沒有涉及到設計模式、架構、效率等一些列問題。
還是先google一下,看看網上對Web前端開發、Web後端開發分別是什麼?
Web前端: 顧名思義是來做Web的前端的。我們這裡所說的前端泛指Web前端,也就是在Web應用中用戶可以看得見碰得著的東西。包括Web頁面的結構、Web的外觀視覺表現以及Web層面的交互實現。 Web後端:後端更多的是與資料庫進行交互以處理相應的業務邏輯。需要考慮的是如何實現功能、數據的存取、平台的穩定性與性能等。我們再來看看大公司對前後端人員招聘的要求,通過這個角度看看前端、後端的技術要求:
Web前端: 1)精通HTML,能夠書寫語義合理,結構清晰,易維護的HTML結構。 2)精通CSS,能夠還原視覺設計,併兼容業界承認的主流瀏覽器。 3)熟悉JavaScript,了解ECMAScript基礎內容,掌握1~2種js框架,如JQuery 4)對常見的瀏覽器兼容問題有清晰的理解,並有可靠的解決方案。5)對性能有一定的要求,了解yahoo的性能優化建議,並可以在項目中有效實施。
6)...... Web後端: 1)精通jsp,servlet,java bean,JMS,EJB,Jdbc,Flex開發,或者對相關的工具、類庫以及框架非常熟悉,如Velocity,Spring,Hibernate,iBatis,OSGI等,對Web開發的模式有較深的理解 2)練使用oracle、sqlserver、mysql等常用的資料庫系統,對資料庫有較強的設計能力 3)熟悉maven項目配置管理工具,熟悉tomcat、jboss等應用伺服器,同時對在高並發處理情況下的負載調優有相關經驗者優先考慮 4)精通面向對象分析和設計技術,包括設計模式、UML建模等 5)熟悉網路編程,具有設計和開發對外API介面經驗和能力,同時具備跨平台的API規範設計以及API高效調用設計能力 6)...... 從幾個公司的招聘要求可以看到,做Web開發,對前端和後端的要求是各自所不同的。而我們目前的實際情況,也和這個差不多,但是,我們無論在知識的掌握程度上,還是知識掌握的寬度上,都是不夠的。首先,我們在前端缺乏積累,沒有沉澱,專業的前端技術的積累是從去年才開始的,同時,在前端也缺乏支撐與高手,所以,走起來比較困難。同時,前端人員培養的較少,一個原因是對前端了解太少,另外一個原因就是對前端與後端的工作比例估計不足。所幸,我們在這一年也在前端有了很快的進步,培養了幾個優秀的開發人員,有意識的解決了前端的用戶體驗,這都是可喜的。今年,需要更進一步,專業化。
其次,我們在後端發展的不夠寬,後端的知識體系已經比較完善,但是,很多應用點都沒有涉及到。同時,對現有技術框架的理解都不夠深入,太浮躁。我們目前的設計團隊在解決互聯網高並發、大數據量的存取上經驗與能力都還不足,需要正視這些問題。後端技術的發展需要更加的精進,以解決實際存在的問題為主。 最後,我們在前端、後端都缺乏熟練工,這會影響到開發的速度,同時,也不利於後期技術的研究。 以上!!!這個問題很好回答,20年前製作網頁的全部工作:PS,HTML,CSS,JS,就是前端。那個時候完全沒有ASP,JSP,PHP等腳本技術,也沒有資料庫。之後發展出來的腳本語言及資料庫,集群等等後面看不見的技術,全是後端。
嚴格意義上,前端是把設計變成代碼(HTML CSS JS),很多地方前端仍然要設計(PS fireworks illustrator) 後端是把邏輯變成代碼 (php java http://asp.net) 以及存取數據(sql) 前後端有數據的交互
簡單點說 你能看到都是前端做的 你看不到的都是後台做的
分不了那麼清的, 一般來說,用戶通過瀏覽器看到的,操作的都是前端範圍
服務端數據的處理屬於後端
不同公司分工不同,很多公司前端也是要寫很多css的,有些公司的前端主要只寫javascript,公司不同,分工也不同吧!~
html + js + css + flash + ps + 性能優化 + 所有後台不會幹的活
推薦閱讀:
※想深入了解 HTTP 協議,有哪些值得推薦的書籍?
※零基礎學習Web前端開發應該先學什麼?
※用python+flask搭建一個博客需要學習哪些知識?
※IT培訓相對於大學學到的究竟是什麼?
※單頁網站如何得到較高的用戶體驗?