2016-05-26 158 views
29

我正在嘗試決定使用哪個選項。 (或者如果它更好,則爲另一個) 這是一個消息類型的應用程序,其中將有大量的通知和數據庫寫入。Google App Engine與Firebase

選項1 - 使用雲端點和雲存儲
優點谷歌應用程序引擎:

  • 能夠構建出一個API,我想的方式。
  • 可擴展

缺點:

  • 更多的工作落實的通知系統。 (這將最終被火力地堡雲通訊)

選項2 - 火力地堡
優點:

  • 能夠使用火力地堡數據庫,火力地堡用戶身份驗證,火力地堡雲消息(通知)
  • 詳細的使用統計所有設備

個缺點:

  • 沒有API

選項3 - 有沒有可能到谷歌雲端點和火力地堡結合?

回答

49

首先查看Google文檔中的圖表here,以瞭解它們提供的不同移動應用後端服務的巨大對比和對比。以下是圖表:

enter image description here

我個人的意見(更新):

選項1 - 使用雲端點和雲存儲
優點谷歌應用程序引擎:

  • 您將學習更多關於編寫自己的API的寧靜模式。你也將被迫學習如何進行平靜的API調用(無論是iOS還是Android),這是業界非常有價值的技能。 Firebase會爲你做所有事情,你永遠無法學習這些東西。
  • 您必須親自編寫它,但您可以通過自己的API方法和Google Cloud Messaging以及您創建的方法獲得真正的創意。他們可以真正做任何事情並連接到任何數據庫(例如MySQL,SQL Server,Datastore)。在Firebase中,您必須使用基於json的數據庫。我不建議爲應用使用SQL數據庫,但不同的人有不同的需求。

缺點:

  • 它需要更多的工作和包裝你的頭周圍的數據存儲可以在第一難。它不像SQL這樣的關係數據庫。
  • 此外,我覺得有幾個地方可以通過創建非常低效的方法和查詢來「自我in足」,因此需要很長時間才能運行。
  • 有一件令人討厭的新應用是GAE中的自動縮放。長話短說,如果沒有人在大約15分鐘內擊中你的API,那麼所有實例都將被關閉。一旦進行了新的調用,需要大量的時間來啓動實例備份,並執行您的API方法。這可能會對新應用程序感到煩惱,因爲新用戶可能會遇到應用程序出現問題,因此可能會停止使用它。您可以進行手動縮放,但這樣會花費金錢來始終有一個實例(截至撰寫此類應用程序時,這筆費用約爲27美元/月)。在這裏查看我的帖子以獲得更多關於這個問題的信息,並且我想出了一個solution

選項2 - 火力地堡
優點:

  • 它是由簡單易用,適合初學者和有充足的教程/上火力地堡的課程做那些你想俗務纏身喜歡發送推送通知和同步數據。
  • 與GAE不同,它開箱即用。沒有引發實例。這對於想要讓用戶獲得快速數據的新應用程序非常有用。
  • 您可以瞭解適配器(Android)和網絡(在移動應用程序中)等複雜事物的細節,並僅依靠Firebase課程。也許這是一個更小菜鳥友好?再說一遍,我認爲這個文檔非常棒,而且我認爲通過編寫低效率的查詢來減少自己的投入是很不容易的。

缺點:

  • 火力地堡是在客戶端代碼沉重。如果你想要一個Android和一個iOS應用程序,你必須爲這兩個應用程序編寫大量的客戶端代碼。在GAE中,很多邏輯在GAE應用程序中被抽象出來。但是,如果您不想在您的應用中使用數據庫管理員,並且只需要瞭解Firebase的iOS和Android開發人員,這可能是一個優勢。但對我來說,這是一個大關。
  • 如果Firebase走Parse.com的路...... Facebook宣佈他們將不再支持它。這真的很爛!您將被鎖定到Firebase,並且沒有開發任何有關如何製作寧靜的API的編程知識。不過,由於谷歌大力投資Firebase,並且現在將GCM升級到Firebase雲消息傳遞,顯然他們對Firebase有很大的計劃,而且它不會去任何地方。所以我認爲這不是一個「騙局」,而是牢記在心?

閱讀更多鏈接可能的結合他們。

+0

謝謝,我傾向於選項1,因爲這將是我希望它能夠一起工作的方式。 – iam10k

+0

因此,我們無法在GAE中使用Firebase中的PHP郵件API? –

32

我很疑惑,很多關於Firebase的討論(包括上面的問題和答案)都沒有提到對我而言,這是一個非常重要的區別:價格。

這是Firebase price時間表。

以下是DatastoreGAE定價。

比較這些可能比較棘手,但我的解釋是Firebase非常昂貴。

這應該不會令人意外。 GAE和數據存儲必須與來自亞馬遜,微軟等公司的類似服務競爭,而且競爭非常激烈。是的,這些服務當然不像基礎架構和SQL那樣通用,但它們似乎足夠接近以至於價格仍然具有競爭力。

另一方面,Firebase是一種優質服務,與其他後端服務(如Parse)競爭,一旦您決定使用它,我認爲它將很難切換。谷歌推動Firebase如此努力應該不會讓人意外 - 他們可能會從中賺取大量的資金,因爲他們可以以如此高的價格進行定價。

在我看來,Firebase是小批量和高利潤服務的不錯選擇,但如果您打算創建一個典型的,面向消費者的廣告支持服務賺錢,那麼Firebase的成本可能會損害您的利潤。

2017-10加成

我在火力地堡隨着近年來公司的FireStore釋放看了一遍。

我認爲了解另一個問題很重要:使用Firestore進行Android應用意味着使用嚴重依賴Google Play服務的Firebase客戶端庫,這意味着您無法部署到非Google設備,包括亞馬遜Fire平板電腦和(我相信)整個中國市場。

+2

這是一個偉大的觀點。儘管新的按需定價Firebase提供的GAE更接近匹配,但它仍然會更昂貴。 – iam10k

+1

最後一段非常好! GAE的價格肯定會更便宜,特別是數據存儲的新定價計劃。 – Micro

+0

謝謝你提到這一點,你把它完美(Y) – SoliQuiD

1

最近我學到了一件事,因爲我正在努力尋找解決方案,因爲firebase不提供任何有關設備到設備通知的工作;雖然它確實提供服務器到設備推送通知,並且它很容易設置。但以前缺乏功能非常重要,有一個陰謀論,這是因爲他們試圖推動你使用其他谷歌產品。

或者,也許,因爲它起初沒有開發,所以它們保持不變。我認爲應用引擎是連接Firebase和設備的一種方式,因此我傾向於在這種情況下將Firebase和其他谷歌產品結合使用app engine。如果您打算進行更多的後端處理,例如圖像處理等,那麼您一定會在app engine and compute engine的確可以與Firebase集成,從而產生一個假想強大的後端解決方案。