Technologia Amplify Flutter jest teraz ogólnie dostępna
AWS Amplify to zestaw narzędzi i usług do tworzenia bezpiecznych, skalowalnych aplikacji mobilnych i internetowych. Obecnie Amplify obsługuje systemy iOS, Android i JavaScript (web i React Native) i jest najszybszym oraz najłatwiejszym sposobem tworzenia aplikacji obsługiwanych przez Amazon Web Services (AWS).
Flutter to zestaw narzędzi interfejsu użytkownika Google do tworzenia natywnie skompilowanych aplikacji mobilnych, internetowych i komputerowych z jednej bazy kodu. Jest to jedna z najszybciej rozwijających się platform mobilnych.
Amplify Flutter łączy AWS Amplify i Flutter, zaprojektowany został dla klientów, którzy zainwestowali w ekosystem Flutter, a teraz chcą wykorzystać możliwości AWS.
W sierpniu 2020, AWS uruchomił podglądową wersję deweloperską i poprosił o opinie, które okazały się bardzo pozytywne. Po miesiącach udoskonalania usługi,AWS ogłosił ogólną dostępność Amplify Flutter.
Nowe funkcje Amplify Flutter w GA
Wersja GA ułatwia tworzenie zaawansowanych aplikacji Flutter dzięki dodaniu trzech nowych funkcji:
Po pierwsze, niedawno dodano funkcję GraphQL API wspieraną przez usługę AWS AppSync, a także interfejsy API REST oraz moduły obsługi przy użyciu Amazon API Gateway i AWS Lambda.
Po drugie, Amplify DataStore zapewnia model programowania do wykorzystania udostępnionych i rozproszonych danych bez pisania dodatkowego kodu dla scenariuszy offline i online, co sprawia, że praca z rozproszonymi danymi między użytkownikami jest tak prosta, jak praca z danymi lokalnymi.
Po trzecie, posiada funkcję Hosted UI, która jest świetnym sposobem na wdrożenie uwierzytelniania i współpracuje z Amazon Cognito oraz innymi dostawcami tożsamości społecznościowych, takimi jak Facebook, Google i Amazon. Hosted UI to konfigurowalny protokół autoryzacji dostępu OAuth 2.0, który umożliwia uruchomienie ekranu logowania bez osadzania SDK dla Cognito lub dostawcy społecznościowego w aplikacji.
Szczegóły Amplify DataStore
W ciągu ostatnich dwóch tygodni budowałem aplikację przy użyciu Amplify Flutter, a moją ulubioną funkcją jest Amplify DataStore, głównie dlatego, że zaoszczędziła mi dużo czasu.
- mówi Martin Beeby, Principal Advocate w Amazon Web Services
Praca z interfejsami API REST i GraphQL jest świetna w Amplify. Jednak kiedy tworzę aplikację mobilną, często myślę o tym, co się dzieje, gdy urządzenie mobilne ma przerywane połączenia i nie może połączyć się z endpointami interfejsu API. Przechowywanie danych lokalnie i synchronizacja z powrotem w chmurze mogą stać się dość skomplikowane. Amplify DataStore rozwiązuje ten problem, zapewniając trwały magazyn danych na urządzeniu, który obsługuje scenariusze offline lub online.
Kiedy zacząłem tworzyć moją aplikację, korzystałem z DataStore jako samodzielnej lokalnej bazy danych. Jednak jego moc stała się dla mnie oczywista, kiedy podłączyłem go do zaplecza chmury. DataStore używa mojego interfejsu API AWS AppSync do synchronizacji danych, gdy dostępna jest łączność sieciowa. Jeśli aplikacja jest offline, przechowuje ją lokalnie i jest gotowa na pojawienie się połączenia.
Amplify DataStore automatycznie wersjonuje dane oraz wdraża wykrywanie i rozwiązywanie konfliktów w chmurze za pomocą AppSync. Toolchain generuje również definicje obiektów dla Dart na podstawie dostarczonego przeze mnie schematu GraphQL.
Pisanie w Amplify DataStore
Pisanie instrukcji/kodu w DataStore jest proste. Strona z dokumentacją zawiera przykład, który można wypróbować, wykorzystując schemat z witryny blogu.
Post newPost = Post(
title: 'New Post being saved', rating: 15, status: PostStatus.DRAFT);
await Amplify.DataStore.save(newPost);
Wczytywanie w Amplify DataStore
Aby odczytać z DataStore, można zapytać o wszystkie rekordy podanego typu modelu.
try {
List posts = await Amplify.DataStore.query(Post.classType);
} catch (e) {
print("Query failed: " + e);
}
Synchronizacja z Amplify DataStore
Jeśli zostanie włączona synchronizacja danych, mogą istnieć różne wersje obiektu na klientach, a wielu klientów mogło zaktualizować swoje kopie obiektu. DataStore zapewni zbieżność różnych wersji obiektów, stosując strategie wykrywania i rozwiązywania konfliktów. Domyślna strategia nazywa się Auto Merge, ale inne sposoby obejmują kontrolę typu optimistic concurrency i niestandardowe funkcje Lambda.
Dodatkowe funkcje Amplify Flutter
Amplify Flutter umożliwia pracę z AWS na trzy dodatkowe sposoby:
- Uwierzytelnienie. Amplify Flutter zapewnia interfejs do uwierzytelniania użytkownika i umożliwia takie przypadki użycia, jak rejestracja, logowanie i uwierzytelnianie wieloskładnikowe. Za kulisami zapewnia niezbędne uprawnienia do innych kategorii Amplify. Posiada wbudowaną obsługę pul użytkowników Cognito i pul tożsamości.
- Przechowywanie. Amplify Flutter zapewnia interfejs do zarządzania zawartością użytkownika dla aplikacji w publicznych, chronionych lub prywatnych kontenerach. Umożliwia przypadki użycia, takie jak przesyłanie, pobieranie i usuwanie obiektów, oraz domyślnie zapewnia wbudowaną obsługę usługi Amazon Simple Storage Service (S3)
- Analityka. Amplify Flutter umożliwia zbieranie danych śledzenia uwierzytelnionych lub nieuwierzytelnionych użytkowników w Amazon Pinpoint. W razie potrzeby można łatwo rejestrować zdarzenia i rozszerzać domyślną funkcjonalność niestandardowych metryk lub atrybutów.
Dostępny już teraz
Amplify Flutter jest teraz dostępny w GA we wszystkich regionach obsługujących AWS Amplify. Korzystanie z funkcji Amplify Flutter nie wiąże się z żadnymi dodatkowymi kosztami; opłata jest tylko za usługi backendu, z których korzystają aplikacje powyżej poziomu bezpłatnego; więcej informacji o kosztach można znaleźć tutaj.
Aby rozpocząć i dowiedzieć się więcej, warto odwiedzić stronę z dokumentacją Amplify Flutter.
źródło: AWS