求大家對開發(fā)流程的看法。
是不是后端程序員一般會認為先給接口文檔,是對自己不利?
從我近年來的經(jīng)歷來看,讓后臺寫接口文檔好,當然是前端基本沒有后臺經(jīng)驗的前提下;
后臺寫的好處:
理由1:在前后臺開發(fā)人數(shù)差不多的時候,后臺的開發(fā)一般都要比前端開發(fā)快,讓他們?nèi)ヒ?guī)定接口和寫文檔,時間分配的相對合理;
理由2:前端自己命名,出現(xiàn)接口命名的不規(guī)范的幾率很大(一般接口的名字跟數(shù)據(jù)里表的名字比較接近),這樣容易造成重復(fù)返工,影響前后臺的工作效率;
理由3:作為一個前端的我,很樂意看接口文檔,不用自己費腦細胞去想接口名字和形式;
前臺寫的好處:
理由1:(在不考慮后臺的書寫格式情況下)前端可以隨心地寫接口命名;
理由2:現(xiàn)在的前端都可以建假數(shù)據(jù),可以把一些后臺的事給做了,這個時候后臺只要根據(jù)前端寫的接口去操作就好了,目前前端自己創(chuàng)建假數(shù)據(jù)的情況比較普遍;
一般的流程都是,后臺看ui設(shè)計稿,先搞數(shù)據(jù)庫需要那些字段,再去根據(jù)要求哪些請求寫對應(yīng)接口,再將接口文檔給前端,前端再實際需求將哪些后臺沒有的接口補上。
特殊情況:前端人數(shù)比后臺多,且前端具有后臺經(jīng)驗。這樣讓他們?nèi)懡涌?,可以避免接口命名?guī)范問題同時也可以一次性將前端需要的接口告訴后臺,后臺也就不用重復(fù)去補遺漏的接口;
對這方面我的經(jīng)驗也不多,我覺得主要看你們前后端的開發(fā)進度,就以我自身管理的項目為例,來說說我的看法。
目前在做的項目是某知名旅游網(wǎng)站的一個小外包項目,采用前后端分離的開發(fā)模式,前端React+dva,后端基于SpringBoot框架提供Restful接口,項目周期短,時間緊,拿到需求之后,做出UI設(shè)計和數(shù)據(jù)庫設(shè)計,前端就開始干活了。在都沒有深入挖掘需求之前,前端在做某個功能點的時其實更清楚他需要什么接口,傳遞什么數(shù)據(jù)。所以我認為這種情況下,前端提供接口需求是合理的。
至于產(chǎn)出接口文檔,我認為這應(yīng)該是一個持續(xù)性而且易于維護的工作,我們用到了Swagger ui,后端通過一些注釋規(guī)則和簡單的配置就可以生成接口文檔,前端可以通過web端頁面實時的看到接口的變化,前端或者QA團隊也可以通過web端頁面做接口在線測試,減少了溝通成本。而后端根據(jù)接口變化,只需要維護注釋,接口文檔就可以自動生成并支持導(dǎo)出,減少了維護成本。
總體來說,我的做法是前端提供接口需求,后端生成接口文檔。
PS.剛注冊賬號,處女答送給你了,可能比較拙劣,但是希望對你有所啟發(fā)。
接口文檔是要必須要有的,現(xiàn)在前端開發(fā)可以自己使用假數(shù)據(jù)模擬出界面的各種情況,所以提前約定好接口格式之后,前端就可以通過模擬的方式獨立開發(fā),而不需要等到后端接口開發(fā)完成之后才能進行動態(tài)網(wǎng)頁部分的開發(fā)。
接口文檔產(chǎn)出現(xiàn)在也可以自動化了,我們團隊現(xiàn)在用的是:swagger,后端可以在和前端約定好接口格式之后,定義好需要的接口之后,通過工具自動生成。
接口格式的定義參考:RESTful API
另外還有一些接口管理平臺,可以用來管理接口,比如:
看具體項目。前端開發(fā)先空著需要接口的部分也行,畢竟連這段代碼不需要花多長時間,時間主要用在與開發(fā)人員聯(lián)調(diào)上。別人沒開發(fā)好,你也沒法聯(lián)調(diào)。
當然好的方式是先定義好接口,形成文檔,大家都并行開發(fā),按這個是理想化的情況,是擁有好的開發(fā)流程的公司,優(yōu)秀的開發(fā)團隊及成員的前提下才能做到的。一些中小企業(yè),特別是互聯(lián)網(wǎng)公司,需求,設(shè)計頻繁改動很難做到API不改動。
API可以用下Swagger, 自動生成api文檔。 及時更新與聯(lián)調(diào)
北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
達內(nèi)教育集團成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機構(gòu),是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
北大課工場是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國家深化產(chǎn)教融合/校企合作的政策,積極推進“中國制造2025”,實現(xiàn)中華民族偉大復(fù)興的升級產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(lián)想擔任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔任項目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負責(zé)iOS教學(xué)及管理工作。
浪潮集團項目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺面向?qū)ο箝_發(fā)經(jīng)驗,技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。