導航:首頁 > 程序命令 > 後端程序員不寫介面

後端程序員不寫介面

發布時間:2022-09-21 09:54:07

程序員分前端與後端,那麼後端程序員都做些什麼看完就知道了

我剛開始做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++高級工程師學習路線圖:

❷ 前後端分離開發中後端介面怎麼寫

nodejs本身就替代了php的後端功能。如果是node來寫RESTful介面,php調用介面並渲染頁面,兩邊把介面定義好,各寫各的。

❸ 前後端分離,關於介面文檔,後端是要先寫好介面文檔,再進行寫代碼開發,還是寫完代碼後再編寫介面文檔

兩種方式都是可以的,針對不同的團隊有不同的選擇

一般對於需求分析,設計能力比較強,的團隊,推薦使用契約優先的設計模式,也就是先編寫介面文檔,規定好介面的 請求類型/參數數量/參數類型/返回結果的格式然後搭建模擬服務,然後前後端分別開發,但是這種方式需要比較高的設計能力,以應對需求的變更,設計時需要考慮的方面很多,適合於成熟的團隊.
如果需求不確定性較高,甚至頻繁變動,上面這種方式,就會有局限性,頻繁的需求變更帶來的就是頻繁的介面契約變更.會拖慢前後端的開發進度,這種時候可以採用,先開發後編寫文檔的流程,由於頻繁的發生變更,這時候團隊的溝通顯得很重要,項目管理人員一定要十分注意前後端開發的溝通效率,不然項目進度會變得不可控

❹ 前端開發人員當後端沒有給你介面的時候,如何進行功能

我是用的postman調用介面數據,這樣測試的。你一可以自己寫一個頁面,專門用來測試介面的。下面附上postman使用的教程。介面工具-POSTMAN

❺ 後端寫的都是垃圾介面怎麼辦

1、首先刪除後端代碼。
2、然後讓後端工程師重新更改介面代碼。
3、加強質檢,讓後端工程師寫不出垃圾介面代碼。

❻ 軟體開發後台主要做什麼

軟體開發後台(後端程序員)要跟資料庫打交道,做數據的處理問題。

根據正在處理的應用程序的大小和范圍,後台開發人員要做的事情有很大的不同。但總體來說工作於都是對應用程序中的業務邏輯,以及從前端提取和檢索數據。

在Web開發世界中,後端開發人員從事於構建他們正在工作的應用程序背後的實際邏輯。

例如:前端開發人員在應用程序中創建一個界面,上面有一個按鈕,按下按鈕來獲取客戶的數據。後端開發人員寫可使得按鈕工作的代碼,通過指出從資料庫中提取哪些數據並將其傳回到前端(並最終顯示在那裡)。

後端開發人員也會大量參與系統架構,決定如何組織系統的邏輯,以便能夠正常維護和運行。需要參與構建框架或系統架構,以便於更容易編寫程序。後端開發人員比前端開發人員花費更多的時間在實現演算法和解決問題上。

(6)後端程序員不寫介面擴展閱讀

軟體後台開發的主要技術和技能舉例(以java為例):

1、後台框架部分,SpringMVC

SpringMVC基於Java實現了Web MVC設計模式,請求驅動類型的輕量級Web框架,即使用了MVC架構模式的思想,將Web層進行職責解耦;

2、數據持久層方面,MyBatis

MyBatis 持久層框架支持定製化 SQL、存儲過程以及高級映射。MyBatis避免了幾乎所有的 JDBC 代碼和手動設置參數以及獲取結果集。MyBatis可以使用簡單的 XML 或註解來配置和映射原生類型、介面和 Java 的 POJO為資料庫中的記錄。

3、資料庫層技術,jdbc

JDBC(java資料庫連接)用於執行SQL語句的Java API,可以為多種關系資料庫提供統一訪問,它由一組用Java語言編寫的類和介面組成。JDBC提供了一種基準,據此可以構建更高級的工具和介面,使資料庫開發人員能夠編寫資料庫應用程序。

4、緩存技術,redis

Redis是一個開源的使用ANSI C語言編寫、支持網路、可基於內存亦可持久化的日誌型、Key-Value資料庫,並提供多種語言的API。

5、搜索引擎技術,elasticsearch

ElasticSearch基於Lucene的搜索伺服器,提供了一個分布式多用戶能力的全文搜索引擎,基於RESTful web介面。Elasticsearch是用Java開發的,並作為Apache許可條款下的開放源碼發布,是當前流行的企業級搜索引擎。

❼ 關於後端程序員寫前端用什麼框架更好

前端框架好不好用還是要具體情況具體分析,我這邊給你推薦11個前端常用的框架,你可以按需使用。

1、vue-element-admin

一個基於vue2.0和Element的控制面板UI框架,這是使用vue技術棧開發的前端程序員的首選管理系統模板,模板已經非常成熟了,並且有相關的社區和維護人員,開發時遇到問題也不要慌。

2、AdmimLTE

非常流行的基於Bootstrap 3.x的免費的後台UI框架,這是一個非常老牌的後台管理系統模板,每個頁面都是單獨的html網頁,適合前端入門新手來做項目。

3、ant-design-pro

這個就不多說了,選擇react技術棧的童鞋們必然離不開這個優秀的開箱即用的中台前端/設計解決方案,文檔齊全,組件豐富,一鍵生成模板,更支持開啟復制粘貼模式哦。

4:ng2-admin

這是基於 Angular 2, Bootstrap 4 和 Webpack的後台管理面板框架,要說前面已經有了react和vue技術棧的模板,那怎麼能少的了ng的?雖然在國外用的比較多,國內較少使用,但絲毫不影響ng作為前端框架三大巨頭之一的地位呀。

9:material-dashboard

基於 Bootstrap 4 和 Material 風格的控制面板。Material Dashboard 是一個開源的 Material

Bootstrap Admin,其設計靈感來自谷歌的 Material Design 。

10:d2-admin

D2Admin 是一個完全 開源免費 的企業中後台產品前端集成方案,基於 vue.js 和 ElementUI 的管理系統前端解決方案 ,小於 60kb的本地首屏 js 載入,已經做好大部分項目前期准備工作

11:vuestic-admin

vuestic-admin管理台儀表盤是一個響應式的儀表盤模板,採用Bootstrap4和Vue.js構建。這個精美的管理台模板提供了自定義元素組件,如地圖,聊天,個人資料卡,圖標,進度條等,以及用於登錄和注冊的預建頁面。

❽ java後端開發是純程序員嗎

後端開發不是純程序員。
JAVA後端程序員,更多的是扣除了UI展示以外的JAVA程序員。後端的程序員只負責提供介面和數據,專注於業務邏輯的實現,前端取到數據後在瀏覽器中展示,各司其職。
後端的生態復雜度太高。事實上,在JAVA世界當中,僅僅提供JAVA代碼服務的,都只是最初級,最容易被替換的工作崗位。在後端生態當中,最重要的內容,已經從傳統企業級應用看重的業務能力,轉變到新興互聯網級應用看重的快速工程能力。

❾ 前端和後端程序員哪個需求量更大你怎麼看

理論上講 前後端需求一樣大 有後端就有前端嘛 當然也有些純後端的工作 可是也有一些工作是純前端做的啊 現在小項目流行的是以前端為主 往全棧工程師靠

❿ Java程序員寫介面是怎麼回事我也是程序員,可是我只是寫增刪改查什麼的別的基本都是公司封裝的功能

跟你平時用的其實差別不多,只是把最終結果以JSON之類的返回了,現在的介面一般是RESTful的居多,你搜索一下 java RESTful 就知道了。

閱讀全文

與後端程序員不寫介面相關的資料

熱點內容
如何確認方舟編譯器 瀏覽:664
奶粉源箱源碼什麼意思 瀏覽:178
台州程序員兼職一般去哪些網站 瀏覽:388
舊版本怎麼下載到新的安卓 瀏覽:966
flash個人網站源碼下載 瀏覽:723
javasocketbyte 瀏覽:264
素描基礎教程pdf 瀏覽:541
香港商報pdf版 瀏覽:427
安卓手機怎麼錄制吉他彈奏 瀏覽:382
ie文件夾緩存在哪裡 瀏覽:265
圍棋排名演算法 瀏覽:963
zigbee加密演算法 瀏覽:464
柏楊版資治通鑒pdf 瀏覽:395
事業編程序員下班時間 瀏覽:10
linux中命令大全 瀏覽:39
pic單片機學習網站 瀏覽:164
843除6的演算法 瀏覽:377
arduino編程視頻 瀏覽:746
pdf背景綠色 瀏覽:613
記事本dos命令 瀏覽:276