前端和后端做簡單的敘述
后端:入門難,深入更難,枯燥乏味,沒有太大成就感,看一堆業務邏輯代碼。
前端:入門簡單,先易后難,能看到自己做出來的展示界面,有成就感。
前端和后端兩者工作的內容和負責的東西是完全的不同
展示方式
前端指的是用戶可見的界面,網站前端頁面也就是網頁的頁面開發,比如網頁上的特效、布局、圖片、視頻,音頻等內容。前端的工作內容就是將美工設計的效果圖的設計成瀏覽器可以運行的網頁,并配合后端做網頁的數據顯示和交互等可視方面的工作內容。
后端是指用戶看不見的東西,通常是與前端工程師進行數據交互及網站數據的保存和讀取,相對來說后端涉及到的邏輯代碼比前端要多的多,后端考慮的是底層業務邏輯的實現,平臺的穩定性與性能等。
所用技術
前端開發用到的技術包括但不限于html5、css3、javascript、jquery、Bootstrap、Node.js、Webpack,AngularJs,ReactJs,VueJs等技術。
后端開發以java為例主要用到的是包括但不限于StrutsspringspringmvcHibernateHttp協議ServletTomcat服務器等技術。
工作職責
前端工程師主要的工作職責分為三大部分,分別是傳統的Web前端開發,移動端開發和大數據呈現端開發。Web前端開發主要針對的是PC端開發任務;移動端開發則包括Android開發、iOS開發和各種小程序開發,在移動互聯網迅速發展的帶動下,移動端的開發任務量是比較大的,隨著5G標準的落地,未來移動端的開發任務將得到進一步的拓展;大數據呈現則主要是基于已有的平臺完成最終分析結果的呈現,呈現方式通常也有多種選擇,比如大屏展示等。
后端工程師的主要職責也集中在三大部分,分別是平臺設計、接口設計和功能實現。平臺設計主要是搭建后端的支撐服務容器;接口設計主要針對于不同行業進行相應的功能接口設計,通常一個平臺有多套接口,就像衛星導航平臺設有民用和軍用兩套接口一樣;功能實現則是完成具體的業務邏輯實現。
知識結構
在知識結構方面,前端開發涉及到的內容包括Html、CSS、JavaScript、Android開發(采用Java或者kotlin)、iOS開發(采用OC或者Swift)、各種小程序開發技術(類Html),隨著前端開發任務的不斷拓展,前端開發后端化也是一個較為明顯的趨勢,比如Nodejs的應用。后端開發通常需要根據業務場景進行不同語言的選擇,另外后端開發的重點在于算法設計、數據結構、性能優化等方面,在具體的功能實現部分可以采用Java、Python或者PHP等編程語言來實現。對于不少中小企業來說,后端開發通常都會采用開源的開發平臺,這樣就可以把精力集中在業務處理上,通常應用級程序員就可以解決問題,相應的開發成本也會有大幅度的下降。
應用范圍從應用范圍來看,前端開發不僅被常人所知、且應用場景也要比后端廣泛的太多太多。一是PC(PersonalComputer)即個人電腦。目前電腦端仍是前端一個主要的領域,主要分為面向大眾的各類網站,如新聞媒體、社交、電商、論壇等和面向管理員的各種CMS(內容管理系統)和其它的后臺管理系統。二WebApp是指使用Web開發技術,實現的有較好用戶體驗的Web應用程序。它是運行在手機和桌面端瀏覽中,隨著移動端網絡速度的提升,WebApp為我們提供了很大的便利。此外近兩年Google提出了一種新的WebApp形態,即PWA(漸進增強WebAPP)。三WeChat(微信)這個平臺,擁有大量的用戶群體,因此它也是我們前端開發另一個重要的領域。微信的公眾號與訂閱號為市場營銷和自媒體從業者,打造了一個新的天地。四HybridApp(混合應用)是指介于WebApp、原生App(主要是Android或iOS)之間的App,它兼具原生App良好用戶交互體驗的優勢和WebApp跨平臺開發的優勢。五Game(游戲),HTML5游戲從2014年Egret引擎開發的神經貓引爆朋友圈之后,就開始一發不可收拾。不過現在游戲開發變得越來越復雜,需要制作各種炫麗炫麗的效果,還要制作各炫麗于2D或者3D的場景。六Desktop桌面應用軟件,就是我們日常生活中電腦中安裝的各類軟件。早期要開發桌面應用程序,就需要有專門的語言UI(界面)庫支持,如C++中的Qt庫、MFC庫,Java的Swing、Python的PyQT等,否則語言是沒辦法進行快速界面開發。七ServerNode.js一發布,立刻在前端工程師中引起了軒然大波,前端工程師們幾乎立刻對這一項技術表露出了相當大的熱情和期待。看到Node.js這個名字,初學者可能會誤以為這是一個Java應用,事實上,Node.js采用C++語言編寫而成,是一個Java的運行環境。