适用于 Flutter 的 AWS Amplify_flutter aws,开发岗面试问题

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数HarmonyOS鸿蒙开发工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年HarmonyOS鸿蒙开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img

img
img
htt

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上HarmonyOS鸿蒙开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新

如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注鸿蒙获取)
img

一个人可以走的很快,但一群人才能走的更远。不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

Amplify 是一个多合一的解决方案,适用于不想在设置身份验证系统、数据库、托管、通知等时弄脏自己的开发人员…它还为几乎所有主要的移动和Web 框架,包括 JavaScript、React、Angular、Vue、Next.js 和移动平台,包括 Android、iOS、React Native、Ionic、Flutter。

开发在 Amplify 中的工作原理:

应用程序管理在 Amplify 中的工作原理:

使用 Amplify 的好处:

  • 快速配置后端:使用 Amplify CLI 和 Amplify Admin UI 等工具,可以轻松配置具有身份验证、存储、功能、数据和其他常见用例的后端。
  • 轻松管理内容:通过提供管理访问权限以在没有 AWS 账户的情况下管理用户和内容,可以与非开发人员共享管理 UI。
  • 与框架无缝连接:Amplify CLI 使软件与您的项目集成变得非常容易。您所要做的就是运行amplify init并回答 CLI 工具提出的问题。
  • 几秒钟内部署:使用基于 Git 的 CI/CD 简化连接 Git 存储库、托管静态网站和单页 Web 应用程序。

Amplify 提供的服务:

  • 身份验证- 使用预构建的 UI 组件和强大的身份验证 API (Cognito) 在一分钟内启用登录、注册和注销。
  • 存储- 在公共、受保护或私有存储 (S3) 中管理用户内容的简单机制。
  • GraphQL API - 访问后端数据的简单安全的解决方案,支持使用 GraphQL (AWS AppSync) 进行实时更新。
  • DataStore - 将在线和离线数据同步并保存到云端。
  • REST API - 使用 REST API(AWS API Gateway with AWS Lambda)发出 HTTPS 请求的简单解决方案,
  • 分析- 跟踪用户会话、自定义用户会话、自定义用户属性和应用内指标以做出明智决策的分析(AWS Pinpoint 和 AWS Kinesis)。
  • 推送通知- 使用带有分析的推送通知 (AWS Pinpoint) 的用户参与度。
  • XR - 在应用程序中支持增强现实 (AR) 和虚拟现实 (VR)。
  • PubSub - 为实时体验(AWS SQS 和 AWS SNS)提供面向消息的中间件。
  • 交互——为了自动化客户工作流程,提供了一个由深度学习技术提供支持的对​​话式聊天机器人。
  • AI/ML 预测- 提供计算视觉、翻译、转录等功能 (Amazon ML)。

由于 Amplify 还没有那么成熟,因此并非所有框架都支持其中一些功能。建议在开始开发之前进行检查。

为什么选择放大?

基础设施即代码

Amplify 使用 AWS CloudFormation 将 AWS 资源分配给您的项目。这允许开发人员在 AWS 上执行之前修改配置。Amplify 允许资源分配过程完全透明,以便开发人员可以根据自己的意愿定制资源。

例如,要将 Graphql API 添加到您的项目,运行amplify add api将在项目根目录的 Amplify/API 文件夹中引导 AWS CloudFormation 模板。然后,此 CloudFormation 模板也可用于 CI/CD 流程,并可用于复制和消除手动分配和配置所有资源的负担。

本地模拟

Amplify 支持在将应用程序实际推送到云之前模拟大多数本地开发和测试应用程序的服务。它目前允许模拟 API(Appsync)、数据库(DynamoDB)、存储(S3)、函数(Lambda)和托管。要启动模拟服务器,请运行:

amplify mock

多种环境

Amplify 支持多种环境。每当您初始化 Amplify 项目时,它都会创建一个环境。

使用 GraphQL 进行数据建模

Amplify 允许您通过 GraphQL 轻松建模和访问数据,以便开发人员可以更多地关注业务价值和核心应用程序功能,而不是浪费时间进行架构和重新架构。Amplify GraphQL 建模允许使用架构指令部署具有身份验证、Lambda 解析器、弹性搜索引擎、NoSQL 数据库等功能的 AppSync GraphQL API。

使用 Amplify,总有两种方法可以集成任何服务。您可以使用管理 UI 或使用 Amplify CLI 执行此步骤。通过使用 Amplify CLI,可以无缝构建整个设置和集成过程。由于不断添加新功能并不断修复错误,因此 CLI 减少了该过程的耗时。

Amplify CLI

Amplify 命令行界面 (CLI) 是一种将 Amplify 服务集成到您的项目中的统一方式。

安装 Amplify CLI

请按照以下步骤安装 Amplify CLI。对于 NPM 用户:

npm install -g @aws-amplify/cli

使用 cURL 的用户可以按照以下步骤操作:

curl -sL https://aws-amplify.github.io/amplify-cli/install | bash && $SHELL

要将 Amplify 与 AWS 资源一起使用,您首先需要使用您的 AWS 账户对其进行配置。按照以下说明使用 AWS 账户配置 Amplify:

amplify configure

以后,amplify configure将要求您在浏览器中通过 AWS 控制台登录。登录后。CLI 将要求创建一个 IAM 用户。按照下面给出的代码:

Specify the AWS Region
? region:  # Your preferred region
Specify the username of the new IAM user:
? user name: the # User name for Amplify IAM user
Complete the user-created using the AWS console

创建一个用户以AdministratorAccess在您的项目中创建所有必需的资源。

您只能根据需要授予所需的权限


成功创建 IAM 用户后,它将在最后提供accessKeyId和secretAccessKey。当被询问时,将这些密钥提供给 CLI。

Enter the access key of the newly created user:
? accessKeyId:  # YOUR_ACCESS_KEY_ID
? secretAccessKey:  # YOUR_SECRET_ACCESS_KEY
This would update/create the AWS Profile in your local machine
? Profile Name:  # (default)

Successfully set up the new user.

成功配置 Amplify 后,导航到 JavaScript、iOS、Android 或 Flutter 项目根目录,并通过运行amplify init. 它会问你几个配置问题。在此命令之后,它将在您的根目录中创建一个放大文件夹以及该amplifyconfiguration文件。

Amplify CLI 命令

amplify init

这是创建 Amplify 支持的应用程序的一次性初始化过程。此命令可帮助您选择使用哪个 AWS 配置文件来分配所有 AWS 资源,并选择与项目对应的框架语言(Javascript、Flutter、Java、Swift)。amplify init在 S3 存储桶中创建一个父 CloudFormation 模板,该模板将包含嵌套的 CloudFormation 模板,以便在添加其他 AWS 资源时使用。同一个 S3 存储桶还包含 Lambda zip 文件以及 AppSync 架构和解析器文件。amplify/目录在成功完成amplify init命令后创建,其中包含所有必要的元数据文件。

这是amplify/目录结构的样子:

<project-root>
    |_amplify/
    |_ #current-cloud-backend/
        |_ amplify-meta.json
    |_ .config
        |_ aws-info.json
        |_ project-config.json
    |_ backend/
        |_amplify-meta.json
    |_.amplifyrc

amplify <category> add

用户可以使用此命令将必要的资源添加到他们的项目中。这将为amplify/backend/目录中的资源创建一个 CloudFormation 模板。此过程完成后,用户可以运行amplify push以运行 CloudFormation 模板并使用 Amplify IAM 用户将所有资源分配给该项目。

amplify push
该命令用于创建和更新云资源。使用它,CLI 会将最新的嵌套堆栈模板上传到 S3,然后调用 AWS CloudFormation API 来创建或更新资源。一旦 CloudFormation 成功完成,awsconfiguration.dart(对于 Flutter 项目)将被更新。此 CloudFormation 模板可在 中找到amplify/backend/awscloudformation。

amplify pull
该amplify pull命令类似于git pull。它所做的只是获取远程后端配置并更新本地环境以匹配定义。当多个开发人员在同一个后端工作并且远程后端不断更新时,此命令很有帮助。建议amplify pull定期运行以防止后端冲突。

amplify console
此命令将使用 Amplify 控制台打开浏览器到您的项目。此控制台提供集中访问以管理和查看项目中使用的所有资源。所有用户数据也在控制台中进行分析。

命令列表:

  • amplify <category> <subcommand>
  • amplify push
  • amplify pull
  • amplify env <subcommand>
  • amplify configure
  • amplify console
  • amplify delete
  • amplify help
  • amplify init
  • amplify publish
  • amplify run
  • amplify status
  • amplify logout

Amplify控制台

Amplify 控制台可以通过 AWS 控制台访问,并充当全栈应用程序开发和部署的控制中心。Amplify 控制台由两部分组成:

  1. Amplify托管
  2. Amplify管理用户界面

Amplify托管

Amplify 托管用于管理应用程序的前端部分。它对应于使用 Git。Git 中的每个分支都已部署,并且可通过唯一的 URL 访问。

Amplify管理用户界面

Amplify Admin UI 用于管理所有后端服务,如 DataStore 架构、身份验证、功能、存储、API 等。Admin UI 为底层 AWS 服务提供控制台。

https://docs.amplify.aws/images/console/backend-envs.gif

将 Amplify 与Flutter集成

将 Amplify 添加到您的项目是一个非常简单且非常快速的过程。先决条件是您应该使用 AWS 账户设置 Amplify CLI。

创建新的Flutter项目:

i) 使用 Flutter CLI 创建您的项目。

flutter create flutter_amplify_demo

pubspec.yamlii)接下来,通过打开并粘贴下面给出的依赖项来放大对项目的依赖项:

dependencies:
  flutter:
    sdk: flutter
### 将 Amplify 与Flutter集成


将 Amplify 添加到您的项目是一个非常简单且非常快速的过程。先决条件是您应该使用 AWS 账户设置 Amplify CLI。


创建新的Flutter项目:


i) 使用 Flutter CLI 创建您的项目。



flutter create flutter_amplify_demo


pubspec.yamlii)接下来,通过打开并粘贴下面给出的依赖项来放大对项目的依赖项:



dependencies:
flutter:
sdk: flutter

  • 13
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值