BaaS讓你快速開發APP,和服務端說再見

尋夢-finddreams發表於2014-10-30
       作為移動應用個人開發者或者小團隊,經常糾結的一個問題就是我會APPAndroid/IOS)開發,但是繁重服務端開發我沒有這個能力或者說能力不強,這時你就會思考,有沒有公司專門為APP提供服務端開發的服務呢?這樣我們就可以不用自建伺服器,從而可以專心的做好產品。

       BaaS(Backend as a Service,後端即服務)模式即可滿足你的要求。

       所謂BaaS服務,簡單來說就是向移動開發者提供現成的後臺服務,基礎服務是資料/檔案儲存,主要幫助App開發者解決儲存的問題。更進一步的整合服務則包括:賬戶管理、訊息推送、社交網路整合、地理位置與廣告等。程式設計師們只需一心一意做產品,而不需要過多考慮後端的伺服器程式,這使得移動開發變得更輕鬆、更容易

       BaaS分兩種模式:一種是API模式,讓開發者自己擴充程式碼;另一種是SDK模式,提供如iOSAndroidWindows Phone等的SDK

目前,國外比較知名的BaaS服務提供商是StackMobParse。在國內,AVOS CloudBmob、百度也有相關業務。據悉Facebook收購了ParsePaypal收購Stackmob

       使用BaaS的優勢有哪些呢?

    一、開發週期縮短

    通常來說,一個一年週期的APP開發專案如果採用BaaS服務,開發時間可以縮短到9個月,縮短25%的開發週期對大多數開發者來說還是有吸引力的。

    二、節省成本

    無論是大型企業應用還是面向個人的APP,大多數軟體開發都會預算超支,如今為了取悅消費者,APP在前端的投入越來越多,分給後臺的預算就會被壓縮,而BaaS服務對於很多預算縮水的專案來說還是很有吸引力的。

    此外,考慮專案的綜合成本的話,BaaS能提供更好的測試工具,降低測試和維護成本。

    三、對團隊技能要求少

即使你的移動開發團隊缺少一些技能,BaaS服務依然能讓你準時交付產品。BaaS服務使用SDK的方式整合,全部功能程式碼封裝,只需要呼叫就可以了。

    介紹完BaaS的優點,下面就讓我們上手開始動起來,使用一家國內比較有名的BaaS 服務提供商 AVOS Cloud(現已更名LeanCloud )的服務,這也是博主在工作之餘,在做個人APP時使用到的。

    

       步驟:

    1.首先像使用其他開放平臺一樣,註冊開發者賬號,新建自己的應用APPAndroid或者IOS,然後點選快速入門,下載相關的SDK開始整合開發。

   

       2.在控制檯裡可以看到資料這一欄,這裡就是存放你的APP所使用到的相關資料,比如說使用者資訊,你可以隨意的存取你的APP所需要的資料。比如說博主做了個類文學的APP,然後把一些詩歌,散文,小說等資料都儲存在這裡。然後通過AVOS整合的SDK去取出資料,顯示在介面上。整個過程非常容易上手,而且AVOS的服務端也是非常穩定的。

   

        3.當然了除了基本的APP資料存取之外,AVOS還為我們開發者提供其他的一些功能,比如說資料分析,以及雲程式碼(可以定時的執行在雲端伺服器的程式碼)。其中很重要的一個推送功能是非常便利的,APP如果想要提高使用者的留存率,做好定製的推送服務是非常重要的。AVOS也為我們整合了推送功能,而且使用起來相當的簡單。

   

  請確保您的 AndroidManifest.xml 包含如下內容

<service android:name="com.avos.avoscloud.PushService"/>

同時設定了必要的許可權

<uses-permission android:name="android.permission.INTERNET"/>  

  <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

為了讓 App 能在關閉的情況下也可以收到 push,你需要在 <application> 中加入:

 <receiver android:name="com.avos.avoscloud.AVBroadcastReceiver">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />
                <action android:name="android.intent.action.USER_PRESENT" />
            </intent-filter>
        </receiver>

推送給所有的裝置json格式

 

     AVPush push = new AVPush();
     JSONObject object = new 	JSONObject();
     object.put("alert", "push message to android device directly");
	push.setPushToAndroid(true);
	push.setData(object);
	push.sendInBackground(new SendCallback() {
    @Override
    public void done(AVException e) {
        if (e == null) {
            // push successfully.
        } else {
            // something wrong.
        }
    });

       當然了AVOS給我們提供功能還不止這些,很多新的創意新的玩法都值得我們去發掘,拋掉你的後端,盡情的專注於APP的創意開發,相信堅持下去是會有很好的結果的。

    照例奉上使用AVOS的小demo原始碼,供大家學習連結http://download.csdn.net/detail/finddreams/8101347

相關文章