後端即服務的移動應用程式

2021-10-07 10:40:53 字數 3000 閱讀 2435

如果您是移動開發人員,則可能想知道如何在下乙個應用程式中管理使用者資料。

您應該使用資料庫,專用伺服器還是僅可以使用前端進行管理?

本文將幫助您做出更好的決定。

在深入**可用服務的細節之前,讓我們先了解一些術語。

對於移動和web應用程式,我們經常談論前端和後端。前端定義使用者介面,使用者互動和資訊表示,而後端則處理業務邏輯,資料儲存和安全性。 前端是使用者的web瀏覽器或移動裝置,後端是儲存和共享資料的乙個或多個伺服器。

越來越多的現代移動應用程式至少依賴一些需要後端的功能。 使用者和使用情況分析,推送通知,擴充套件的安全性,使用者間通訊(例如,在多人遊戲或訊息傳遞應用程式中)以及通過廣告獲利的應用程式都是最常見的示例。

從移動開發人員的角度來看,後端似乎是乙個由資料庫和伺服器組成的整個世界。 因此,不僅要求開發人員建立美觀,高效能的移動介面,而且還必須對網路基礎架構(例如web伺服器,資料庫管理軟體,伺服器端指令碼語言等)有所了解。

此外,他們有望成為現代密碼學和計算機安全,大資料和資料探勘,移動電信網路(移動應用程式大多執行在連線到移動**網路的智慧型手機上)和越來越多的其他技術領域的專家。

自然地,隨之而來的是,即使開發帶有後端的簡單移動應用程式,開發人員也需要掌握許多普通應用程式開發範圍之外的工具和語言。 當然,這種情況使許多開發人員不願將後端整合到他們的應用程式中。

隨著雲計算成為主流,xaas(即baas,saas,paas等-後端即服務,軟體即服務或平台即服務)已經開始重新定義軟體的開發,發布方式,和消耗。

基本思路類似於將後端開發,維護和管理外包給另一方。 換句話說,後端可以作為web服務供開發人員使用。

儘管不同的baas提供商通過各種各樣的定價模型提供了多種功能,但是大多數提供商都使用某種「免費增值」模型。 這意味著將免費提供諸如資料儲存,使用者/使用情況分析,推送通知和身份驗證之類的核心功能,直至達到特定的使用限制。 一旦使用量超出該限制或請求其他功能,將收取費用。 這使得在免費使用級別輕鬆建立和啟動應用程式,然後在新增客戶時擴充套件到付費級別。

通常,開發人員需要使用baas提供程式的sdk和api將其應用程式連線到後端。

baas的最大優勢在於,它使開發人員免於自己構建和管理後端的負擔。 這使開發人員可以專注於更重要的內容,例如設計引人注目的使用者體驗,這將是該應用程式的實際成功因素。 此外,它還可以幫助開發人員避免通常與大多數後端技術相關的陡峭學習曲線。 因此,它減少了成本和開發時間。 它還提供了一種廉價的方法來試驗應用程式的想法,並檢視它們在現實世界中的表現。

與其他任何東西一樣,baas也需要權衡。 最大的不利因素是您的baas提供商可能突然停業並關閉服務的危險。 在這種情況下,即使您切換到另乙個提供程式,您也可能需要重新設計和重新編碼您的應用程式,因為新服務可能具有完全不同的api。 實際上,最受歡迎的baas提供商之一parse最近關閉了,這影響了許多開發人員(儘管parse基礎結構是在開放源**許可下發布的,並且新的**商如雨後春筍般提供了與parse相容的baas) 。

另乙個缺點是,baas中後端基礎結構的定製通常受到限制。 這可能意味著您想要的應用程式某些功能不可用。

在為您的移動應用程式選擇乙個之前,您需要問幾個關於每個baas提供商的問題。

第乙個問題是提供商是否可以滿足您的應用程式需求。 值得一提的是,有時,重新定義應用程式的範圍以匹配baas提供商所提供的功能可以為您帶來非常驚人的結果。 但是,不要放棄賦予您應用程式獨特性和吸引力的功能!

大多數baas提供商僅在一定程度上免費提供其服務。 此限制點通常由諸如api呼叫數,活動使用者數或類似引數之類的東西來定義。 有時,開發人員很難**應用程式的使用量或使用者數量。 因此,最終有可能獲得乙個對開發者無利的平台。

通過為與使用或使用者數量相對應的一系列可能的值**成本和收入,請事先進行檢查。 然後,您可以檢視應用程式的收入中有多少將用於baas費用,並在需要時調整您的收入模型。 另外,開發人員可以尋找其定價模型與該應用的收入模型最匹配的baas提供商。

由於定製的侷限性,使用某些現成的baas產品可能難以或無法開發某些應用程式。 有趣的是,一些baas提供商提供了針對特定應用類別(例如遊戲)的更多專業功能。 如果您的應用屬於此類,則此類提供程式支援所需功能的可能性更大。 您需要對針對您特定應用類別的baas提供商進行一些研究。

開發人員還需要考慮應用程式的生命週期。 應用程式的壽命越長,堅持使用baas提供商的成本就越高。 對於將存在很長時間的應用程式,可能值得投資建立自己的後端。

現在我們已經從開發人員和應用程式啟動創始人的角度對baas有了一些見解,下面讓我們看一下一些流行的baas軟體包及其功能。 儘管該行業由商業提供商主導,但一些有抱負的開源提供商似乎也在增加。

因為它來自android的建立者google,所以firebase通常被視為android平台。 但是, firebase sdk也可用於ios 。

另乙個商業提供商amazon web services (aws)是最早的paas提供商之一。 它擁有豐富的雲服務和隨附的工具集,可以根據需要對虛擬伺服器的各個方面進行控制。 實際上,許多其他雲服務提供商在後台使用aws。

parse是乙個流行的baas平台,但不幸的是,facebook已決定將其關閉。 但是不用擔心parse sdk會死掉! facebook於2023年1月淘汰了parse.com託管服務,但parse sdk已被開源。 parse sdk有許多出色的開發人員正在研究它,並且有許多全新的**提供後端託管即服務。

介紹其高彈性巴斯, mesosfer是商業提供有趣的功能,支援移動,網路和物聯網甚至嵌入式應用。

與列表中以前的成員不同, baasbox是開源的baas提供程式。 其**上顯示的開發人員和api使用情況統計資料表明,與商業提供商相比,該提供商具有競爭力和能力。

另乙個開源baas是apache usergrid (來自流行的web伺服器的建立者)。 usergrid支援在傳統伺服器基礎架構上執行,使您能夠部署自己的baas平台。 功能包括使用者管理,檔案和資料儲存以及檢索。

baas是一種實用且及時的解決方案,可為您的移動應用新增後端。 它還可以幫助開發人員以最佳方式指導自己的有限時間。 現在有越來越多的baas提供程式,現在您知道如何使用它們了!

基礎設施即服務(IaaS) 應用程式成功的未來

it環境的一貫特點是由他們的工作負載執行的型別所決定的。傳統上,這些工作負載分為兩大陣營。第一類是面向批量的應用程式,可以更容易地隔離處理。第二類是必須實時處理應用的程式。就其性質而言,實時應用程式工作負載需要乙個更優化的方式來平衡記憶體,磁碟和網路i o資源。在x86環境下,這種 在歷史上表現為分...

Android移動應用程式開發

log類直接呼叫靜態方法輸出除錯資訊,在 logcat 視窗中輸出,並可以通過過濾器對標籤進行篩選。logcat 視窗中輸出的除錯資訊有以下5種形式 布局 線性布局linearlayout 進行水平或垂直排列布局。相對布局relativelayout 相對排列,即子控制項以相對父控制項或相對于父控制...

Windows服務應用程式

專案中要實現乙個定時任務的需求,目前c 定時任務的框架有很多比如hangfire quartz.net等,其中hangfire提供視覺化的面板 重試操作並且其可以寄宿在各種宿主應用程式中。但是專案是要定時獲取其他系統資料到本系統,功能簡單,所以為了不引入太複雜的框架和增加學習成本的考慮,使用微軟提供...