AWS Amplify Flutter現(xiàn)已正式發(fā)布:構(gòu)建美好的跨平臺應用程序

來源: AWS
作者:Martin Beeby
時間:2021-03-05
20588
AWS Amplify由一組工具和服務組成,用于構(gòu)建安全、可擴展的移動和Web應用程序。目前,由Amazon Web Services(AWS)提供的Amplify支持iOS、Android和JavaScript(Web和React Native),是構(gòu)建應用程序最快和最簡單的方法。

1614923404(1).png

AWS Amplify由一組工具和服務組成,用于構(gòu)建安全、可擴展的移動和Web應用程序。目前,由Amazon Web Services(AWS)提供的Amplify支持iOS、Android和JavaScript(Web和React Native),是構(gòu)建應用程序最快和最簡單的方法。

Flutter是Google的UI工具包,用于從單一代碼庫中構(gòu)建本機編譯的移動、Web和桌面應用程序,是發(fā)展最快的移動框架之一。

Amplify Flutter將AWS Amplify和Flutter結(jié)合,此為已投資Flutter生態(tài)系統(tǒng)且現(xiàn)在希望利用AWS強大力量的客戶而設計。

2020年8月,我們推出了Amplify Flutter開發(fā)者預覽版,并請求提供反饋。我們對回應感到高興。經(jīng)過幾個月的服務優(yōu)化,今天我們非常高興地宣布Amplify Flutter正式推出。

GA中的新Amplify Flutter功能

GA版本增加的三項新功能,使構(gòu)建功能強大的Flutter應用程序變得更加輕松:

首先,我們最近添加了由AWS AppSync和REST APIs提供支持的GraphQL API以及使用Amazon API Gateway和AWS Lambda的處理程序。

其次,Amplify DataStore為利用共享和分布式數(shù)據(jù)提供了一種無需為離線和在線場景編寫額外代碼的編程模型,這使得處理分布式、跨用戶數(shù)據(jù)和處理僅本地數(shù)據(jù)一樣簡單。

最后,我們配有的托管式UI是實現(xiàn)身份驗證的絕佳方法,且與Amazon Cognito和其他社交身份提供商合作,例如Facebook、Google和Amazon。托管式UI是可自定義的OAuth 2.0流程,允許您啟動登錄屏幕時無需在應用程序中嵌入適用于Cognito的SDK或社交提供商。

深入了解Amplify DataStore

在過去的兩周里,我一直使用Amplify Flutter構(gòu)建應用程序,我最喜歡的功能是Amplify DataStore,主要是因為它為我節(jié)省了很多時間。

在Amplify中使用REST和GraphQL API非常棒。但是,當我創(chuàng)建移動應用程序時,我常考慮移動設備具有間歇性連接且無法連接到API終端節(jié)點時會發(fā)生什么情況。在本地存儲數(shù)據(jù)并同步回云可能會變得相當復雜。Amplify DataStore通過提供能夠處理離線或在線場景的設備上持久性數(shù)據(jù)存儲來解決此問題。

當我開始開發(fā)應用程序時,我使用DataStore作為獨立的本地數(shù)據(jù)庫。但是,當我將它連接到云后端時,其力量對我來說一目了然。當網(wǎng)絡連接可用時,DataStore使用我的AWS AppSync API同步數(shù)據(jù)。如果應用程序處于離線狀態(tài),它會進行本地存儲在,以為連接可用時做準備。

Amplify DataStore會自動設置數(shù)據(jù)版本,并在云中使用AppSync檢測和解決沖突。此工具鏈還會根據(jù)我所提供的GraphQL架構(gòu)生成對象定義。

寫入Amplify DataStore

寫入DataStore非常簡單。文檔網(wǎng)站展示了一個示例,您可以使用博客網(wǎng)站中的架構(gòu)自己嘗試。

Post newPost = Post (

    title: 'New Post being saved', rating: 15, status: PostStatus.DRAFT);

await Amplify.DataStore.save(newPost);

讀取Amplify DataStore

要從DataStore中讀取,您可以查詢給定模型類型的所有記錄。

try {

   List<Post> posts = await Amplify.DataStore.query(Post.classType);

 } catch (e) {

   print("Query failed: " + e);

 }

同步Amplify DataStore

如果啟用數(shù)據(jù)同步,則客戶端之間可能存在不同的對象版本,且多個客戶可能已對其對象副本進行了更新。DataStore將通過應用沖突檢測和解決策略來匯合不同的對象版本。默認解決方案為Auto Merge,但其他策略包括開放式并發(fā)控制和自定義Lambda函數(shù)。

其他Amplify Flutter功能

Amplify Flutter允許您通過三種其他方式與AWS合作:

·身份驗證。Amplify Flutter提供用于驗證用戶身份的界面,并啟動案例,例如,Sign-Up(注冊)、Sign-In(登陸)和Multi-Factor Authentication(多重身份驗證)。在后臺,它為其他的Amplify類別提供必要的授權(quán)。它為Cognito用戶池和身份池提供內(nèi)置支持。

·存儲。Amplify Flutter提供一個界面,為公有、受保護或私有存儲桶中的應用程序管理用戶內(nèi)容。它啟動例如上傳、下載、刪除對象等使用案例,并在默認情況下為Amazon Simple Storage Service(S3)提供內(nèi)置支持。

·分析。Amplify Flutter使您能夠在Amazon Pinpoint中為已經(jīng)身份驗證或未經(jīng)身份驗證的用戶收集跟蹤數(shù)據(jù)。您可以輕松記錄事件,并根據(jù)需要擴展自定義指標或?qū)傩缘哪J功能。

現(xiàn)已推出

Amplify Flutter現(xiàn)已在支持的所有區(qū)域的GA中推出。使用Amplify Flutter無需額外費用;您只需為應用程序在免費套餐之外所使用的后端服務付費。

立即登錄,閱讀全文
版權(quán)說明:
本文內(nèi)容來自于AWS,本站不擁有所有權(quán),不承擔相關法律責任。文章內(nèi)容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權(quán),請聯(lián)系管理員(zzx@kchuhai.com)刪除!
掃碼登錄
打開掃一掃, 關注公眾號后即可登錄/注冊
加載中
二維碼已失效 請重試
刷新
賬號登錄/注冊
個人VIP
小程序
快出海小程序
公眾號
快出海公眾號
商務合作
商務合作
投稿采訪
投稿采訪
出海管家
出海管家