發表文章

目前顯示的是 11月, 2013的文章

BaaS評估與比較

BaaS(Back end as Service)在最近一年蠻紅的, 也是跟Mobile App崛起與資料雲端化有關, 現在單機運作的App為了可以有病毒傳播效應, 幾乎免不了要做Server端的軟體設計, 資訊分享,資訊同步…, 如果App團隊很小, 小到只有一個人, 這時候還要去顧Server端的維護與設計, 就有點抓襟見肘,分身乏術. 這時候BaaS等於是獨立App開發者的救星, 因為BaaS幫你把雲端的維運, 資料庫, CRUD API都包裝好了, 你也不用去學Server端的開發語言, 專心將Mobile端的功能與BaaS的API整合起來就可以了, 聽起來很美好, 但是選擇BaaS確很容易掉入這些廠商的 ’陷阱’ 在省時省力的背後也需要考量一下維運的成本. 前幾天在規劃2014的新產品開發, 最後還是免不了要來碰雲端資料庫整合這一塊, 由於自己是獨立開發者, 當然只好選擇BaaS, 去年曾經用過Parse幾個月, 今年也接觸到了StackMob, 所以心中大致上就是這兩家擇一來使用, 用Google搜尋一下看是否有部落客對這兩家的比較, 找到兩篇是值得一看的 How To Choose the Best Backend Provider for your iOS App: Parse VS Stackmob vs. Appcelerator Cloud and More! Choosing Backend As A Service (BAAS) Provider 由於去年有用過Parse SDK, 所以看了第一篇很扎實的比較, 很認同他所說的Parse比起Stackmob簡單很多, 但是看了第二篇, Stackmob的basic免費功能是不會去算API呼叫次數的, 除了API呼叫次數,這位作者似乎對於Parse被Facebook併購這件事相當有顧忌, 他後面提出三點認為應該選擇StackMob Longevity, Stackmob會比Parse長壽,很多使用者因為Parse被Facebook併購搬到Stackmob, 但是到底有多少並沒有指出來, 還有他提出一些Facebook是否會掌控api, 改變價格, 資料安全等質疑, 這部份似乎還沒聽到Facebook有干涉這些事情 Unlimited API calls: 這點St

A/B Testing

對於寫手機端App要做A/B Testing這一塊一直覺得很’神祕’, 因為要隨機在App介面去載入不同的操作介面給使用者使用然後再來統計看看哪一種作法會比較好,熟悉軟體設計的朋友想也知道要做這件事會讓軟體不太好維護而且會佔據掉不少開發時程. 不過在精實創業這本書相當強調提分組測試與分析的重要性. 唯有掌握使用者的喜好數據才是開發好產品的王道. 最近在Facebook不約而同看到兩篇文章都是在講A/B Testing在iOS/Android上的支援, 透過第三方API來做, 對於A/B Testing在手機端如何實現可以參考看看這兩篇文章中提到的第三方服務 行動裝置也能A/B測試, 前Google員工成立的Leanplum正式上線 新服務Appiterate讓移動應用的A/B測試獲得所見及所得的平台 這兩篇裡面其實漏掉了一家, Amazon也有在做A/B測試 https://developer.amazon.com/sdk/ab-testing.html 從以上這些整理的A/B Testing資訊不難看出, A/B Testing的Mobile服務是兵家必爭之地, 原因在Mobile App市場的熱門,競爭激烈, 要做好一支叫好又叫座虜獲使用者的心的App真的不太容易 唯有從使用者行為模式去分析才能找到正確的產品開發方向. 將這些資訊整理起來, 要好好來了解A/B Testing 如果你還有更好的A/B Testing資訊要記得告訴我:-) Written with StackEdit .

Lightweight CoreData migration

找到這篇Blog, 裡面將CoreData的lightweight migration可以做哪些事使用圖示畫了出來 http://blog.the-nerd.be/2012/02/how_to_do_a_lightweight_core_data_migration/ 以前一直以為lightweight只能做Entity的欄位變更, 看了這篇blog後, 原來連Entity,Relation建立也有支援. iOS App有使用CoreData管理資料庫一定要使用CoreData的版本控制功能, 這樣以後App升級變更資料庫的欄位就會很輕鬆了. Written with StackEdit .

cocoapods 0.27.1升級在Mac OS X 10.9遇到的問題

今天在執行pod update時, cocoapods通知有新的版本0.27.1版可以下載, 於是下了更新的命令 sudo gem install cocoapods 安裝成功, 可是pod –version版本確還是顯示0.25.0版, 用 which pod ` 檢查pod是安裝在/usr/bin/pod這個路徑, 有點懷疑是不是10.9的相容性問題, 檢查一下ruby在自己的安裝目錄竟然有兩個 /usr/ local / lib / ruby / / usr / local / Cellar / ruby / 手動將 /usr/ local / lib / ruby / gems / 2.0 . 0 / gems / cocoapods - 0.27 . 1 / bin / pod 覆寫了/usr/bin/pod 會有問題, 但是將 /usr/ local / Cellar / ruby / 2.0 . 0 - p247 / bin / pod 覆寫到/usr/bin/pod 確OK了, 這真是奇怪, 在10.8升級cocoapods好幾次都沒遇到這樣的問題 今天升級pod update也遇到另一個問題, 找不到Admob, 去cocoapods的repository找了一下, 原來Admob要改為 pod 'Google-Mobile-Ads-SDK' , '6.6.0' Written with StackEdit .

Android 0.3.5無法匯入ADT匯出的gradle build script解決方法

圖片
這幾天Android Studio又推出新的版本0.3.5, 打開之前的gradle專案都沒有問題, 可是匯入從ADT匯出的gradle build script卻無法匯入, 出現以下的錯誤視窗 原本以為是不是ADT版本需要更新到最新版, 於是更新到Build: v22.3.0-887826這個版本, 還是出現一樣的問題. 用Google找了一下, 這個問題其它的開發者在0.3.4版就發現了, 而Google的開發者說這個問題在0.3.5會解決, 但我確遇到了同樣的問題:-(,如果你用GradleProject.getBuildScript()這個關鍵字找解答, 應該跟我一樣會找到Google+的Android studio專頁的討論串,但是還是無法解決這個問題,於是使用了另一種關鍵字來找解藥,終於讓我在StackOverflow找到相關的討論, 解決方法如下 1.修改yourproject/gradle/wrapper/gradle-wrapper.properties 這個檔案, 將 distributionUrl = http\: //services.gradle.org/distributions/gradle-1.6-bin.zip 改成 distributionUrl = http\: //services.gradle.org/distributions/gradle-1.8-bin.zip 2 修改yourproject/build.gradle 將 buildscript { repositories { mavenCentral () } dependencies { classpath 'com.android.tools.build:gradle:0.5.+' } } 改成 buildscript { repositories { mavenCentral () } dependencies { classpath 'com.android.tools.build:gradle:0.6.+' } } 這樣就可以