福利溫馨提示
酷夏狂歡—紅包雨活動即將開啟,請做好搶紅包準備!前端和后端的區(qū)別:
(1)展示的方式不同
前端指的是用戶可見的界面,網站前端頁面也就是網頁的頁面開發(fā),比如網頁上的特效、布局、圖片、視頻,音頻等內容。前端的工作內容就是將美工設計的效果圖的設計成瀏覽器可以運行的網頁,并配合后端做網頁的數據顯示和交互等可視方面的工作內容。
后端是指用戶看不見的東西,通常是與前端工程師進行數據交互及網站數據的保存和讀取,相對來說后端涉及到的邏輯代碼比前端要多的多,后端考慮的是底層業(yè)務邏輯的實現,平臺的穩(wěn)定性與性能等。
(2)所用的技術不同
前端開發(fā)用到的技術包括但不限于html5、css3、javascript、jquery、Bootstrap、Node.js 、Webpack,AngularJs,ReactJs,VueJs等技術。
后端開發(fā) 以java為例主要用到的 是包括但不限于Struts spring springmvc Hibernate Http協議 Servlet Tomcat服務器等技術。
比如做一個登陸頁面,用戶在前端頁面上輸入了賬號密碼,然后用鼠標點擊了登陸按鈕,這時候前端會將賬號密碼通過請求接口發(fā)送給后端做處理,后端收到數據會先檢查此賬號是否存在,如果不存在,則返回給前端一條類似于這樣的信息:“你輸入的賬號不存在,請重新輸入”,用戶再次重新輸入賬號,此時后端查詢賬戶存在,密碼也正確,則后端返回登陸成功的信息給前端。現代計算機領域的難題如大規(guī)模負載,海量數據處理,實時計算也是后端的,前端集中在表示層。
(3)工作職責不同
前端工程師主要的工作職責分為三大部分,分別是傳統的Web前端開發(fā),移動端開發(fā)和大數據呈現端開發(fā)。Web前端開發(fā)主要針對的是PC端開發(fā)任務;移動端開發(fā)則包括Android開發(fā)、iOS開發(fā)和各種小程序開發(fā),在移動互聯網迅速發(fā)展的帶動下,移動端的開發(fā)任務量是比較大的,隨著5G標準的落地,未來移動端的開發(fā)任務將得到進一步的拓展;大數據呈現則主要是基于已有的平臺完成最終分析結果的呈現,呈現方式通常也有多種選擇,比如大屏展示等。
端工程師的主要職責也集中在三大部分,分別是平臺設計、接口設計和功能實現。平臺設計主要是搭建后端的支撐服務容器;接口設計主要針對于不同行業(yè)進行相應的功能接口設計,通常一個平臺有多套接口,就像衛(wèi)星導航平臺設有民用和軍用兩套接口一樣;功能實現則是完成具體的業(yè)務邏輯實現。
(4)知識結構不同
在知識結構方面,前端開發(fā)涉及到的內容包括Html、CSS、JavaScript、Android開發(fā)(采用Java或者kotlin)、iOS開發(fā)(采用OC或者Swift)、各種小程序開發(fā)技術(類Html),隨著前端開發(fā)任務的不斷拓展,前端開發(fā)后端化也是一個較為明顯的趨勢,比如Nodejs的應用。 后端開發(fā)通常需要根據業(yè)務場景進行不同語言的選擇,另外后端開發(fā)的重點在于算法設計、數據結構、性能優(yōu)化等方面,在具體的功能實現部分可以采用Java、Python或者PHP等編程語言來實現。對于不少中小企業(yè)來說,后端開發(fā)通常都會采用開源的開發(fā)平臺,這樣就可以把精力集中在業(yè)務處理上,通常應用級程序員就可以解決問題,相應的開發(fā)成本也會有大幅度的下降。
(5)應用范圍不同
從應用范圍來看,前端開發(fā)不僅被常人所知、且應用場景也要比后端廣泛的太多太多。
一、PC (PersonalComputer) 即個人電腦。目前電腦端仍是前端一個主要的領域,主要分為面向大眾的各類網站,如新聞媒體、社交、電商、論壇等和面向管理員的各種 CMS (內容管理系統)和其它的后臺管理系統。
二、Web App 是指使用 Web 開發(fā)技術,實現的有較好用戶體驗的 Web 應用程序。它是運行在手機和桌面端瀏覽中,隨著移動端網絡速度的提升,Web App 為我們提供了很大的便利。此外近兩年 Google 提出了一種新的 Web App 形態(tài),即 PWA(漸進增強 Web APP) 。
三、WeChat (微信) 這個平臺,擁有大量的用戶群體,因此它也是我們前端開發(fā)另一個重要的領域。微信的公眾號與訂閱號為市場營銷和自媒體從業(yè)者,打造了一個新的天地。
四、Hybrid App (混合應用) 是指介于 Web App、原生 App (主要是 Android 或 iOS )之間的 App,它兼具原生 App 良好用戶交互體驗的優(yōu)勢和 Web App 跨平臺開發(fā)的優(yōu)勢。
五、Game(游戲),HTML5 游戲從 2014 年 Egret 引擎開發(fā)的神經貓引爆朋友圈之后,就開始一發(fā)不可收拾。不過現在游戲開發(fā)變得越來越復雜,需要制作各種炫麗炫麗的效果,還要制作各炫麗于 2D 或者 3D 的場景。
六、Desktop桌面應用軟件,就是我們日常生活中電腦中安裝的各類軟件。早期要開發(fā)桌面應用程序,就需要有專門的語言 UI (界面) 庫支持,如 C++ 中的 Qt 庫、MFC 庫,Java 的 Swing、Python 的 PyQT 等,否則語言是沒辦法進行快速界面開發(fā)。
七、Server Node.js 一發(fā)布,立刻在前端工程師中引起了軒然大波,前端工程師們幾乎立刻對這一項技術表露出了相當大的熱情和期待??吹?Node.js 這個名字,初學者可能會誤以為這是一個 Java 應用,事實上,Node.js 采用 C++ 語言編寫而成,是一個 Java 的運行環(huán)境。
雖然前端開發(fā)和后端開發(fā)的工作有巨大的區(qū)別,但是他們的工作都是相輔相成的,都是為了更好的用戶體驗。
如還有其他困惑,可在線了解有關信息>>>了解前端后端開發(fā)>>>
上一篇: web前端開發(fā)主流框架
下一篇: 前端開發(fā)框架有哪些