① 前端工程師跟後台工程師有什麼區別
前端工程師和後台工程師主要區別有:
1、工作內容
前端工程師主要負責處理用戶點擊頁面上的請求,將請求轉給後台,然後將後台傳過來的數據組裝並展示到頁面上,將數據和設計出的頁面元素結合展示給用戶。
後台工程師主要負責接收前台傳輸的請求,從資料庫中查找數據,更多的負責和資料庫的交互以及業務邏輯處理。
2、所需技術
前端工程師必須掌握基本的Web前端開發技術,其中包括:CSS、HTML、DOM、javascript、Ajax等,在掌握這些技術的同時,還要清楚地了解它們在不同瀏覽器上的兼容情況、渲染原理和存在的Bug。
後台工程師需要掌握後台的資料庫、開發語言如java、jdbc技術、緩存資料庫redis、搜索引擎等。
3、工具軟體
前端工程師需要用到的工具軟體主要是書寫html、css、js語言的工具,如webstorm,還需要切圖工具如ps。
後台工程師需要用到的工具軟體主要有如java語言的idea,鏈接資料庫的sqlyog等。
② web前端與後端有什麼區別
1、前端開發現在一般指的就是web前端開發工程師,其負責是網站前端頁面也就是網頁的頁面開發,簡單的說網站前端負責是東西是網站用戶可見的東西,如網頁上的特效、網頁的布局、圖片、視頻等內容。
網站前端工程師的工作內容就是將美工設計的效果圖的設計成瀏覽器可以運行的網頁,並和後端開發工程師配合做網頁的數據顯示和交互。
2、後端開發一般也叫做後台,其負責是網站後台邏輯的設計和實現還有用戶及網站的數據的保存和讀取。
比如一般網站都是有用戶注冊和登錄的,用戶的注冊的信息通過前端發送給後端,後端將其保存在資料庫中,用戶登錄網站的時候,後端需要通過用戶輸入的用戶名和密碼是否與資料庫中的一致來判斷用戶是否有許可權登錄,這是後台開發中的一個最簡單的功能。
③ 前端開發和後端開發有什麼區別
前端開發和後端開發都是干什麼的?有哪些區別?通俗地講,前端乾的工作是用戶可以直接看得見的,而後端開發的工作主要在服務端,用戶不太能直接看到。雖然前端開發和後端開發的工作有巨大的區別,但是他們的工作都是相輔相成的,都是為了更好的用戶體驗。
1、前端開發:
網站的「前端」是與用戶直接交互的部分,包括你在瀏覽網頁時接觸的所有視覺內容--從字體到顏色,以及下拉菜單和側邊欄。這些視覺內容,都是由瀏覽器解析、處理、渲染相關HTML、CSS、Java 文件後呈現而來。前端開發,就是要創造上面提到的網站面向用戶的部分背後的代碼,並通過建立框架,構建沉浸性的用戶體驗。為了實現這個目標,開發需要熟練運用下列語言、框架、工具庫。
2、後端開發:
為了讓伺服器、應用、資料庫能夠彼此交互,後端工程師需要具有用於應用構建的伺服器端語言,數據相關工具,PHP框架,版本控制工具,還要熟練使用 Linux 作為開發和部署環境。後端開發者使用這些工具編寫干凈、可移植、具有良好文檔支持的代碼來創建或更新 Web 應用。但在寫代碼之前,他們需要與客戶溝通,了解其實際需求並轉化為技術目標,制定最有效且精簡的方案來進行實現。
3、前端開發和後端開發的區別:
(1)展示的方式不同
前端指的是用戶可見的界面,網站前端頁面也就是網頁的頁面開發,比如網頁上的特效、布局、圖片、視頻,音頻等內容。前端的工作內容就是將美工設計的效果圖的設計成瀏覽器可以運行的網頁,並配合後端做網頁的數據顯示和交互等可視方面的工作內容。
後端是指用戶看不見的東西,通常是與前端工程師進行數據交互及網站數據的保存和讀取,相對來說後端涉及到的邏輯代碼比前端要多的多,後端考慮的是底層業務邏輯的實現,平台的穩定性與性能等。
自己是從事了五年的前端工程師,自己整理了一份2019最全面前端學習資料,從最基礎的HTML+CSS+JS到HTML5的項目實戰的學習資料都有整理,送給每一位前端小夥伴,有想學習web前端的,或是轉行,或是大學生,還有工作中想提升自己能力的,正在學習的小夥伴,需要可以私聊我喲,這是我的前端開發qun,【六零三】【九八五】【九九三】,對於學習web前端有任何問題(學習方法,學習效率,如何就業)都可以問我,最後可以點一波關注喲!
(2)所用的技術不同
前端開發用到的技術包括但不限於html5、css3、javascript、jquery、Bootstrap、Node.js 、Webpack,AngularJs,ReactJs,VueJs等技術。
後端開發 以java為例 主要用到的 是包括但不限於Struts spring springmvc Hibernate Http協議 Servlet Tomcat伺服器等技術。
比如做一個登陸頁面,用戶在前端頁面上輸入了賬號密碼,然後用滑鼠點擊了登陸按鈕,這時候前端會將賬號密碼通過請求介面發送給後端做處理,後端收到數據會先檢查此賬號是否存在,如果不存在,則返回給前端一條類似於這樣的信息:「你輸入的賬號不存在,請重新輸入」,用戶再次重新輸入賬號,此時後端查詢賬戶存在,密碼也正確,則後端返回登陸成功的信息給前端。現代計算機領域的難題如大規模負載,海量數據處理,實時計算也是後端的,前端集中在表示層。
④ 程序員分前端與後端,那麼後端程序員都做些什麼看完就知道了
我剛開始做Web開發的時候,根本沒有前端,後端之說。
原因很簡單,那個時候伺服器端的代碼就是一切: 接受瀏覽器的請求,實現業務邏輯,訪問資料庫,用JSP生成HTML,然後發送給瀏覽器。
即使後來Javascript在瀏覽器中添加了一些AJAX的效果,那也是錦上添花,絕對不敢造次。因為頁面的HTML主要還是用所謂「 套模板 」的方式生成:美工生成HTML模板,程序員用JSP,Veloctiy,FreeMaker等技術把動態的內容添加上去,僅此而已。
那個時候最流行的圖是這個樣子:
在最初的J2EE體系中,這個 表示層 可不僅僅是瀏覽器中運行的頁面,還包括Java寫的桌面端,只是Java在桌面端太不爭氣, 沒有發展起來。
每個程序員都是所謂 「全棧」工程師 ,不僅要搞定HTML, JavaScript, CSS,還要實現業務邏輯,編寫訪問資料庫的代碼。等到部署的時候,就把所有的代碼打成一個WAR包,往Tomcat指定的目錄一扔,測試一下沒問題,收工回家!
不差錢的公司會把程序部署到Weblogic,Websphere這樣的應用伺服器中,還會用上高大上的EJB。
雖然看起來生活「簡單」又「愜意」,但實際上也需要實現那些多變的、不講邏輯的業務需求,苦逼的本質並沒有改變。
隨著大家對瀏覽器頁面的 視覺和交互 要求越來越高,「套模板」的方式漸漸無法滿足要求,這個所謂的表示層慢慢地遷移到瀏覽器當中去了,一大批像Angular, ReactJS之類的框架崛起,前後端分離了!
後端的工程師只負責提供介面和數據,專注於業務邏輯的實現,前端取到數據後在瀏覽器中展示,各司其職。
像Java這樣的語言很適合去實現復雜的業務邏輯,尤其是一些MIS系統,行業軟體如稅務、電力、煙草、金融,通信等等。 所以剝離表示層,只做後端挺合適的。
但是如果僅僅是實現業務邏輯,那後端也不會需要這么多技術了,搞定SSH/SSM就行了。
互聯網,尤其是移動互聯網開始興起以後,海量的用戶呼嘯而來,一個單機部署的小小War包肯定是撐不住了,必須得做分布式。
原來的單個Tomcat得變成Tomcat的 集群 ,前邊弄個Web伺服器做請求的 負載均衡, 不僅如此,還得考慮狀態問題,session的一致性。
(註:參見文章《小白科普:分布式和集群》)
業務越來越復雜,我們不得不把某些業務放到一個機器(或集群)上,把另外一部分業務放到另外一個機器(或集群)上,雖然系統的計算能力,處理能力大大增強,但是這些系統之間的通信就變成了頭疼的問題, 消息隊列 (MQ), RPC框架 (如Dubbo)應運而生,為了提高通信效率,各種 序列化的工具 (如Protobuf)也爭先空後地問世。
單個資料庫也撐不住了,那就做資料庫的 讀寫分離 ,如果還不行,就做 分庫和分表 ,把原有的資料庫垂直地切一切,或者水平地切一切, 但不管怎麼切,都會讓應用程序的訪問非常麻煩,因為數據要跨庫做Join/排序,還需要事務,為了解決這個問題,又有各種各樣「 數據訪問中間件 」的工具和產品誕生。
為了最大程度地提高性能,緩存肯定少不了,可以在本機做緩存(如Ehcache),也可以做 分布式緩存 (如Redis),如何搞 數據分片 ,數據遷移,失效轉移,這又是一個超級大的主題了。
互聯網用戶喜歡上傳圖片和文件,還得搞一個 分布式的文件系統 (如FastDFS),要求高可用,高可靠。
數據量大了,搜索的需求就自然而然地浮出水面,你得弄一個支持全文索引的 搜索引擎 (如Elasticsearch ,Solr)出來。
林子大了,什麼鳥都有,必須得考慮 安全 ,數據的加密/解密,簽名、證書,防止SQL注入,XSS/CSRF等各種攻擊。
前面提到了這么多的系統,還都是分布式的,每次上線,運維的同學說:把這么多系統協調好,把老子都累死了。
得把持續集成做好,能自動化地部署,自動化測試(其實前端也是如此),後來出現了一個革命化的技術 docker , 能夠讓開發、測試、生成環境保持一致,系統原來只是在環境(如Ngnix, JVM,Tomcat,MySQL等)上部署代碼,現在把代碼和環境一並打包, 運維的工作一下子就簡化了。
公司自己購買伺服器比較貴,維護也很麻煩,又難於彈性地增長,那就搞點虛擬的伺服器吧,硬碟、內存都可以動態擴展(反正是虛擬的), 訪問量大的時候多用點,沒啥訪問量了就釋放一點,按需分配,很方便,這就是 雲計算 的一個場景。
隨著時間的推移,各個公司和系統收集的數據越來越多,都堆成一座大山了,難道就放在那裡白白地浪費硬碟空間嗎?
有人就驚奇地發現,咦,我們利用這些數據搞點事情啊, 比如把數據好好分析一下,預測一下這個用戶的購買/閱讀/瀏覽習慣,給他推薦一點東西嘛。
可是這么多數據,用傳統的方式計算好幾天甚至好幾個月才能出個結果,到時候黃花菜都涼了,所以也得利用分布式的技術,想辦法把計算分到各個計算機去,然後再把計算結果收回來, 時勢造英雄, Hadoop 及其生態系統就應運而生了。
之前聽說過一個大前端的概念,把移動端和網頁端都歸結為「前端」,我這里造個詞「大後端」,把那些用戶直接接觸不到的、發生在伺服器端的都歸結進來。
現在無論是前端還是後端,技術領域多如牛毛,都嚴重地細分了,所以 我認為真正的全棧工程師根本不存在,因為一個人精力有限,不可能搞定這么多技術領域,太難了 。
培訓機構所說的「全棧」,我認為就是前後端還在拉拉扯扯,藕斷絲連,沒有徹底分離的時候的「全棧」工程師。
那麼問題來了, 後端這么多東西,我該怎麼學?
之前寫過一篇文章叫做《上天還是入地》,說了學習的廣度和深度,在這里也是相通的。
往深度挖掘,可以成為某個技術領域的專家,如搜索方面的專家、安全方面的專家,分布式文件的專家等等,不管是哪個領域,重點都不是學會使用某個工具和框架, 而是保證你可以自己的知識和技術去搞定這個領域的頂尖問題。
往廣度發展,各個技術領域都要了解,對於某種需求,能夠選取合適的軟體和技術架構來實現它,把需求轉化成合適的技術組件,讓這些組件以合適的方式連接、部署、運行,這也需要持續地學習和不斷的經驗積累。
最後,以一張漫畫來結束吧!
C/C++高級工程師學習路線圖:
⑤ Web 前端和後端工程師的具體職責分別是怎樣的
一、Web前端主要工作:x0dx0aWeb前端開發工程師,主要職責是利用(X)HTML/CSS/JavaScript/Flash等各種Web技術進行客戶端產品的開發。完成客戶端程序(也就是瀏覽器端)的開發,開發JavaScript以及Flash模塊,同時結合後台開發技術模擬整體效果,進行豐富互聯網的Web開發,致力於通過技術改善用戶體驗。x0dx0a二、後端工程師x0dx0a會寫Java、php、c++等系列的一種語言代碼,會寫SQL語句,能做簡單的資料庫設計,會x0dx0aSpring和iBatis,懂一些設計模式等。x0dx0a主要做的就是網站或者軟體,手機app後台的交互和互動,以及資料庫體系;讓其展現在前台;x0dx0a三、二者區別x0dx0aweb前段工程師主要就是做外觀開發,主要是通過特效展現給用戶非常炫酷的形象,讓用戶有更好的視覺沖擊;x0dx0a後端工程師主要是做功能,做交互和資料庫,讓用戶不僅體驗到了視覺和炫酷的風格,而且還要能夠起到實用的功能。x0dx0a一個是台前人物,一個是幕後人物。
⑥ 前端與後端那個工資更高
從各個大廠可以比較清楚的了解到,前端和後端工程師在技術水平相當的情況下,薪資水平也並沒有特別大的差別。但是隨著工作時間的年限增加,後端工程師一般的薪資水平是要比前端工程師要高的。前端和後端的差別:
前端主要的工作內容是用戶能夠看見的頁面相關的,比如說頁面上的特效、視頻、等等展示出來的內容,並配合後端做網站的數據等其它工作。後端則是主要是數據交互和網站數據。底層業務邏輯的實現、平台的性能等工作。所涉及的工作方面和技術也是完全不相同的。
所以說如果覺得自己邏輯能力不是特別強的話,前端也是一個比較好的選擇,前期的薪資水平並不定,並且現在對前端頁面的需求也是越來越多,各種小程序、精美的網頁頁面需求都是對前端工程師的考驗。
⑦ 前端跟後端哪個更好就業
前端和後端都是一樣的,就業情況好不好,取決於你能力所達到的層次。
不論是前端還是後端,最差的程序員都是不缺的,越高級的程序員就越缺。能力才是決定「前景」最重要的因素。建議根據自己的興趣來選擇比較好,這對你長久的發展是很有幫助的。
只要它是一個Internet客戶端介面,就需要前端來完成生產。前端開發的編程量很小,但是需要一些編程。開始很容易,但需要一個深入學習的過程。與前端開發相比,後端開發人員在業務邏輯上有更高的要求,因此如果之前沒有相關基礎,則相對較難選擇前端開發。