2017-09-05 156 views
0

我一直在尋找一個合適的回答這個問題,有位在前端開發背景的,但像SaaS的,PaaS的,等新概念,希望從專家那裏的信息,可以幫助任何新手瞭解它的全部內容。爲什麼或什麼時候應用需要服務器?

說我試圖開發類似eBay的一個應用程序,需要來自用戶的產品和銷售回誰需要它的其他用戶。

我的應用程序是否需要後端服務器?如果是這樣,爲什我已經將我的應用上傳到Google Play商店或Apple Store。

像Heroku的或火力或AWS後端服務器如何幫助我的應用程序?

我可以實現在單一的應用程序兩種不同的服務,譬如說例如,火力的後臺數據庫和Heroku的支付處理?

再次感謝您的時間和信息。

回答

0

除非您有建立分佈式應用程序的經驗,這些應用程序可以以一致的方式跨多個節點持久保存數據,並確保數據可用,否則我會說您絕對需要某種後端。除非你只計劃進行用戶到用戶的交易,這可以依靠客戶端應用程序之間的直接消息傳遞 - 這似乎毫無意義,並且與EBAY類產品的要求相差甚遠。

在架構方面,你可以按照許多不同的方法,但在大部分時間裏,你會需要某種形式的數據訪問層。我建議研究三層軟件設計模式(https://en.wikipedia.org/wiki/Multitier_architecture)以更好地理解這種類型的軟件產品通常設計的方式。

確定您喜歡哪種類型的數據持久性之後,您需要設置移動應用將連接到的後端,以便從中檢索數據(如銷售產品,用戶配置文件和評級以及您自己的歷史記錄等) 。當然,你也可以直接連接到應用程序的數據庫,但這將是一個很大的錯誤 - 這意味着使數據庫訪問公開可用,從而暴露於攻擊,更不用說你會很難找到用戶註冊和身份驗證的解決方案,無論如何都必須通過其他方式提供。通常,您的後端還將管理用戶註冊和授權。

的Heroku,火力地堡和AWS都非常不同,各有各的長處和短處,但沒有什麼喜歡嘗試出來,看看有什麼最適合。您稱之爲「Google Server」和「Apple Server」聽起來像是一種誤解,您可能指的是Google Play商店和Apple Store。這些不是可用作後端的應用程序服務器,只能作爲您的移動應用程序的存儲庫,用戶可從中下載它,而不是其他任何應用程序服務器。

沒有某種後端機制,使數據可用於多個用戶的消耗的挑戰將是壓倒性的。

我知道這不是一個非常具體的答案,但是你的問題是相當廣泛的,而且在進入更多細節之前,你似乎需要研究一些軟件工程的基本基礎。

0

的SaaS

答: SaaS的發音爲 「軟件即服務」。在外行人而言,任何人開發的任何軟件,託管它的地方,你可以使用託管軟件在軟件項目/產品的第三方服務(如公共API),或直接使用它作爲下像火力地堡任何許可的個人軟件所提到。

的PaaS

回答 PaaS的發音爲 「平臺即服務」。在外行人而言,任何配置一些硬件,通過一些基於Web的應用程序公開的硬件控制或REST API,你可以使用硬件部署/運行/沒有你的地方

後端服務器

有實際的硬件管理應用程序

回答首先,讓我解釋一下你的服務器。服務器是一箇中間人誰服務,無論是要求它和所有的瀏覽器/移動應用作爲客戶端。所以,網絡是關於客戶端 - 服務器通信的。如上所述,eBay就像app一樣從用戶(客戶端操作)獲取產品,將其放在服務器上(客戶端請求服務器在後臺將該產品放到服務器上)和其他用戶打開應用程序(客戶端操作)和搜索產品(移動客戶端請求服務器返回該產品,如果有效並符合搜索標準),他可以購買(移動客戶端將請求服務器完成購買)

您必須明白,對於任何Web應用程序,移動應用程序或桌面應用程序之間的通信,總會有一臺服務器。即使在文件共享應用程序,如shareit也,一個移動應用程序可以作爲服務器和相同的應用程序在其他移動作品的客戶。

是的,像Heroku的或火力或AWS後端服務器將幫助你的應用程序來完成您的申請業務流程。

是的,你可以實現在單一的應用程序兩種不同的服務,譬如說例如,火力的後臺數據庫和Heroku的支付處理或託管應用程序/ API的。

相關問題