產品經理須知:如何區分前端后端,常說的API和SDK又是什么?
編輯導語:產品經理的工作常常需要和多個崗位的人進行對接,因此,對其他崗位的名稱、工作內容等,產品經理最好有所了解,以免工作時找錯對應人員。其中,前端、后端、API、SDK等名詞便是產品經理需要了解的,本文作者進行了總結,一起來看一下。
一、如何區分前臺、后臺、前端開發人員、后端開發人員
前臺、后臺,指的是具體頁面。
- 前臺,是用戶直接能看到的頁面,所有人都可以訪問。
- 后臺,是有權限的運營人員或特殊用戶(比如淘寶賣家)用權限登錄后才看得到的頁面,除了能看到其他人看不到的報表外,在后臺還能修改前臺顯示給用戶看的內容。
- 前端/后端,很多時候指的是人,即前/后端工程師。衍生含義為——前/后端工程師的工作內容。
不嚴謹的說法是:寫頁面的就是前端,操作數據的就是后端。前端負責還原UI設計的界面,以及與后端聯調接口。一般設計師只需要與前端溝通,產品經理需要與兩者溝通。
前端若細分,可分為小程序前端、web前端、H5前端。一般來說,小程序前端、web前端、H5前端使用的語言都是html+css,因此一個前端一般能做web頁面也能做H5頁面,也能干小程序的頁面開發的活。而對于APP開發,安卓開發和iOS開發就是前端,一般只會專注于某端APP的活。
- Web前端開發:HTML+CSS+JavaScript。
- Android終端開發:Java(開發工具:Androidstudio)。
- iOS終端開發:Objective-C(開發工具:Xcode)。
前臺頁面和數據庫的溝通,主要通過API進行溝通。
舉例:貓眼APP的影院列頁面,前端只要需要負責頁面布局還原和接口(API)聯調的工作,如文字大小、頁面布局排版、標簽的樣式等;但是影院列表的數據返回就要連接數據庫,這個就需要后端開發做邏輯處理了,頁面調用接口,后端根據入參從數據庫中查詢相應數據,再進行邏輯處理,最后返回到前端頁面,可以理解為一個輸入輸出的過程。
如果你發現你身邊有這樣一個人,他前端后臺,樣樣精通,文能提筆發paper,武能調試除bug。這種人叫做:全棧工程師。
再進一步探討貓眼APP頁面,貓眼APP“影院列表頁”的接口除了“獲取影院列表”的接口外,還有其他接口,比如城市列表接口、品牌列表接口、區域列表接口、地鐵列表接口、搜索接口等,但是“獲取用戶當前位置”功能,這個就不需要后端參與了,前端直接調用系統定位服務就可以實現了。
多個接口的組合使用形成了功能,如上方貓眼APP,多個接口組合,形成了一個完整的找影院的功能。后續如果產品要去接入第三方的開放平臺,本質就是對第三方開放出來的接口進行組合使用,來實現自己所需的功能。
了解了前后端的原理后,后續對于功能出現bug時,就不至于不知道找誰了。產品經理在驗收的時候,如果是頁面布局問題,直接找前端溝通,但如果是頁面數據返回不對的問題,這一般是接口的問題,就需要跟后端溝通了,當然也有可能是前端入參傳錯了。
二、API與SDK的區別
上文提到接口,也就是API,那么API到底是什么?API是前端調用后端數據的一個通道,通過這個通道,前端頁面可以訪問到后端的數據,但是又無需調用源代碼。
API又分為open API和私有API。Open API顧名思義,即是向所有人公開的接口,允許任何人調用它并獲取到它背后的數據。在也有些公司作為產品出售。如百度的AI市場,有語音識別、語音合成、人臉識別、美顏SDK等出售,研發使用現成的SDK,節省了研發時間。
閱讀接口文檔的關鍵在于讀懂入參和出參,接口相當于函數,客戶端調用API,輸入信息后,執行完函數,輸出結果返回前端,下圖是“銀行卡OCR識別”接口實例。
入參:銀行卡圖片
出參:OCR識別到的卡號,以及根據卡號查詢到的銀行卡基本信息:卡類型、銀行logo、銀行名稱等
注:可到阿里云、百度云、騰訊云等云平臺找更多的接口案例。
SDK:概念:軟件開發工具包(SDK,全稱:Software Development Kit)。
一般都是一些軟件工程師為特定的軟件包、軟件框架、硬件平臺、操作系統等建立應用軟件時的開發工具的集合。
通俗點是指由第三方服務商提供的實現軟件產品某項功能的工具包。
就相當于很多API和其他文件的集合體,你可以用這個完成某一個事情。SDK可不需要依賴網絡,如APP安裝包里只要涵蓋人臉對比SDK,因為人臉對比的方法已經封裝在SDK,而SDK在用戶安裝APP時,已經下載到手機,中因此可以實現離線場景下的人臉對比。如百度人臉對比SDK。
舉例子:整個計算器產品可以看做是一個SDK,它里面有API集合(計算器),說明文檔(說明書),以及一些其他文件。這個SDK的功能就是計算,可能要算什么不確定,但是你可以通過這個SDK中的某個方法完成,實現你的目的。
作者:口述產品,公眾號:口述產品
本文由 @口述產品 原創發布于人人都是產品經理,未經許可,禁止轉載
題圖來自 Unsplash,基于 CC0 協議
知識點+1+1……
一、
Web前端開發:HTML+CSS+JavaScript。
Android終端開發:Java(開發工具:Androidstudio)。
iOS終端開發:Objective-C(開發工具:Xcode)。
二、
SDK就相當于很多API和其他文件的集合體,你可以用這個完成某一個事情。
舉例子:整個計算器產品可以看做是一個SDK,它里面有API集合(計算器),說明文檔(說明書),以及一些其他文件。這個SDK的功能就是計算,可能要算什么不確定,但是你可以通過這個SDK中的某個方法完成,實現你的目的。
寫的很好
太妙了
??
我也聽懂了 太棒啦
感謝,很通俗易懂!
感謝!對于沒有技術背景的產品小白來說,非常有用,通俗易懂!
謝謝
真不錯!收藏了!
很實用啊~謝謝分享~