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.htm


WEB 開發有一個 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培訓相對於大學學到的究竟是什麼?
單頁網站如何得到較高的用戶體驗?

TAG:Web開發 | 前端開發 | 程序員 | 計算機網路 | 前端工程師 |