當我們將舊版服務器堆棧取消時,構建移動應用程序將變得無限簡單
當我們談到構建移動應用時,我們真正的意思是構建與服務器技術交互的移動應用。這就意味著要與一個被設計為與以太網電纜連接的桌面計算機的世界進行交互。盡管世界已經超越了大屏幕和有線連接,但移動開發者還是不得不接受無休止的妥協,以獲得他們想要的體驗。
要交付有用的服務器端代碼,您需要大量新穎的、特定領域的技能。當開發人員構建一個應用程序并將其連接到服務器時,數據并不會神奇地開始流入有用的列和行。在發出個請求之前,您必須部署和管理這些服務器。而devops讓這種可能性變得更加容易,但它們占用很多時間。
接下來,你的服務器必須從請求中獲取的任何格式(可能是JSON)數據進行序列化,然后必須將其存儲在通常理解為SQL的數據庫中,然后必須對該數據執行業務邏輯。 它將以服務器端語言完成所有這些操作,當然這與用于編寫移動應用程序的Swift或Android Java不同。
一個簡單的移動應用程序突然需要一個復雜的服務器端團隊,而大部分的工作只是為了讓你的堆棧移動和服務器之間的相互交流。 我們有移動應用程序和移動開發團隊,他們必須很好地與服務器端堆棧和使用在移動前世界建立的技術的團隊進行良好的合作。
現在有一個更好的方式,一種稱為無服務器開發的新興模式 ,在Realm,我們一直努力把這種模式帶給移動開發人員。 無服務器架構旨在抽象出所有服務器端開發需要的基礎設施和框架,從而,開發者只需要將注意力集中于:編寫能夠滿足需求的,以及隨時響應數據更改的代碼。
服務器還在,但是所有的工作都已經消失了。
這是Realm移動平臺的背后理念。因為Realm對象服務器是與Realm移動數據庫一起工作的對象同步和事件處理服務器。它只要對數據模型或控制器進行小的更改,便可以在設備之間無縫自動地將數據保持同步。
由于Realm對象服務器自動處理設備之間的數據同步,您可以直接進入Realm儀表板,創建一個新的Realm函數,然后開始編寫JavaScript,以響應客戶端應用程序生成的變化數據。
這與正常的服務器端開發有什么不同呢?作為一名移動開發人員,您即使沒有掌握服務器端開發知識,也可以有效地開展工作。不需要考慮如何讓服務器運行,也不需要考慮如何將數據傳輸到服務器,你不需要做devops,也不需要學習如何處理Postgres和Redis以及其他復雜的應用程序所需要的服務器端技術。
開發者不必學習一種全新的語言和框架,比如Django或Rails,只需要寫一些JavaScript,而平臺則負責我們所有使用框架的管道。該平臺不需要處理中間件和URL路由,而是按照預期的格式獲取所需的數據。您只需直接處理傳入的數據,而不是構建基于rest的端點并將請求指向它們。
我過去編寫Django應用程序時,常常將數據發送到新視圖,結果需要用到四到五個文件中的幾十行代碼。 相比之下,無服務器的Realm函數中的JavaScript代碼只包含重要的部分,你按下運行按鈕后便立即開始運行。
你終也會寫很多不那么移動的代碼。與其在你的移動應用程序中編寫網絡和序列化代碼,你所要做的就是你所創建的模型和數據。因為這個平臺可以處理同步,所以你可以專注于應用代碼,這將會讓你的應用變得很好,而不是為了讓你的應用程序工作而需要的代碼。您可以從以前編寫的那些用于與rest式的API進行交互、占用您剩余的時間的脆弱的代碼中解脫出來。
使用無服務器架構,您不再需要專門的devops和服務器團隊。您不再需要知道服務器端框架, 只需要了解一點點JavaScript就足夠了。而且,您甚至不需要編寫與服務器通信所需的所有代碼,因為該平臺的設計初衷是為了避免此類工作。
Realm移動平臺是一個將移動用例放在首位的無服務器平臺。數據同步是移動應用程序的基礎(無論是顯示你的Uber駕駛員的位置還是Facebook上的家人新的圖片)。服務器端編碼也是必需的,但不是編寫所有在移動應用程序之間連接和共享數據的樣板代碼。你可以專注于現在服務器上編寫的代碼,而無需學習超過javascript外的東西。
移動應用程序應該盡可能做到快速移動。像實時協作、雙向數據同步、端點計算和“脫機優先”這樣的特性通常都是昂貴且難以構建的。通過采用無服務器、移動優先的方式,開發人員可以擁有利用Realm功能來構建下一代的能力,而這只是我們用來構建的應用搭建舞臺的一小部分資源。現在,我們可以開始工作,建設未來。
本站文章版權歸原作者及原出處所有 。內容為作者個人觀點, 并不代表本站贊同其觀點和對其真實性負責,本站只提供參考并不構成任何投資及應用建議。本站是一個個人學習交流的平臺,網站上部分文章為轉載,并不用于任何商業目的,我們已經盡可能的對作者和來源進行了通告,但是能力有限或疏忽,造成漏登,請及時聯系我們,我們將根據著作權人的要求,立即更正或者刪除有關內容。本站擁有對此聲明的最終解釋權。