軟體工程的兩種方法下,由后端決定介面都是不對的,
第一種軟體工程的方法:瀑布模型,自頂而下,逐步細化,
介面會變,但是介面要提前設計,介面不是后端開發完成之后才“自然”產生的,那不是自然,而是無序,
前后端分離的開發,應該是面向“API”的開發,API的設計并不能由前端或后端一方決定或主導,而是需要一個前后端都熟悉的人,這個人叫架構師,
隨著最近幾年前端技術的高速發展和瀏覽器性能的提升,前端能夠實作的事情越來越多,前后端的分工也在變化,原來必須在后端完成的事情,現在放在前端可能更簡單更自然,而且減少了前后端之間的互動,
具體哪些功能放在前端,哪些功能放在后端,Restful API的URL和請求引數、回傳體,都應該由架構師根據需求提前設計,然后給前后端一起講解、討論、修改,
當然,絕對不奢求API老古不變,因為大家的能力也都在成長,經驗也都在累積,肯定有考慮不周全的地方,
第二種軟體工程的方法:原型法,先確定需求,然后小步迭代,
如在在沒有這樣能前后端通盤考慮的架構師在的情況下,我更傾向于由前端決定前后端互動的API介面,
原型法,就是盡快產生可以驗證的原型,起到輔助和用戶(產品經理)討論的作用,幫助明確用戶的需求,再也沒有界面能夠讓用戶直觀感受的東西了,因為對于用戶來說界面就是一切,而現在的前端完全可以不依賴任何服務器端資料就能開發出界面原型(不是線框圖),這個界面原型確定之后,也是后期前端開發的基礎,
前端先開發界面原型,在確定界面風格、布局、跳轉、互動的程序中,自然會行程需要獲取資料的介面,這些介面是前端真實需要的,
如果在沒有前端,或者后端開發根本不考慮前端的情況下,自己寫完后端代碼產生的API,是想象前端需要的API,而且是完全站在后端技術角度想象的,前端呼叫的時候必然別扭,甚至完全不能滿足需要,比如后端可能還按照自己以前寫JSP時候的經驗去提供API,但是如今已經完全變了,
后端開發完介面才給出介面檔案,是舊有開發模式遺留下來的開發方式,在前端沒有成長起來之前,甚至沒有前端的概念的時候,只有服務器端,當然是后端自己確定自己的借口了,而且確定的是JSP和Controller之間的介面(我僅以Java Web開發舉例,其他技術都差不多),
最后,推薦一款實用的API開發工具,叫Eolinker不管是沒有架構師的小團隊,還是API需求復雜需要提高效率的大團隊,不同的功能都能滿足使用,
使用地址:www.eolinker.com
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/242753.html
標籤:其他
