1. 程式人生 > >移動端介面開發經驗一二

移動端介面開發經驗一二

從 傳統的專案開發轉到移動網際網路開發已經半年有餘,經歷了許多,剛剛轉行時期的壓力山大,漸進掌握訣竅的得心應手。本人出於出版行業,現在這個行業面臨著擁抱網際網路的浪潮,如果不積極的擁抱網際網路,傳統的出版行業遲早要逐漸消亡。

需求:

現在需要一個平臺級別的管理 內容提供者,和內容運營者的 系統。

做了很多專案之後,我個人認為,很牛的專案都是貼近使用者需求,做出來的,而不是設計出來的。因為使用者的需求是萬變的,我們在最初做需求調研的時候,可以儘可能多的挖掘使用者的需求,不放過蛛絲馬跡。但是儘管如此, 隨著專案的進行,需求還是可能像雪花一樣紛飛而至。

由於需要管理 內容提供商,內容運營上,專案的許可權模型初期採用

使用者 —角色--  選單 模型,進行控制。開源的本人比較熟悉shrio,此開源的專案使用起來比較方便。

dao層,mybatis 可以適應讀寫分離,和簡單的效能調優等,

spring MVC 框架 現在差不多是市場的主流,最好用的還是它的AOP和IOC特點。

前臺介面,真心感謝bootstrap 這個優秀的前端框架 

由於考慮到後期開發中的需求的頻繁變動,移動端介面,與伺服器端專案採用分開開發的模式。

移動端介面開發目前經常使用的是採用JSON模式傳輸資料

或者未來可能為主流的resful 模式,此模式可以充分利用URL地址,將一些與業務邏輯無關的引數通過URL地址進行處理。增加專案的規範化。

或者採用webservice 

由於具體的需求是後期 介面需要對外,根據不通的許可權提供不通的服務,

此時初期介面許可權驗證採用了

和伺服器端 類似的 client   + role  + 選單URL 格式

伺服器端可以針對 每個 具體的呼叫介面的App分配一個clientId 和secret

APP在請求介面的時候,需要 根據具體的規則 例如 

clientId + 時間戳 + secret 然後進行MD5後封裝到請求頭後,伺服器端對請求進行系統級別的許可權鑑定。

系統級別的鑑定通過後,然後再通過介面許可權列表進行許可權鑑定。

APP開發的時候,需要雙方約定好,返回的狀態位

例如封裝物件 

responseBean {

String msg;//返回訊息

string Object data;//封裝返回的資料

Integer status;//封裝返回的狀態

}

具體的狀態可以定義個全域性的常量類,以便於後期的調整

Gloable{

public static final Integer SUCCESS=0;//請求成功

……

}

針對一些變化不大的且伺服器端和移動端共用的資料,可以採用memcached進行快取,在系統啟動後,根據具體的情況,進行資料載入。伺服器端改動後,進行重新載入。

注意memcached 需要做好安全隔離。

如果伺服器端專案可能有多個版本的時候,需要用SVN ,進行多個版本的控制,在主版本上打個分支 ,然後在主版本上改動後,通過 合併,把最新的需要合併的程式碼合併到分支上。