App后端服务,你选择AWS还是Firebase?
极客时间编辑部
讲述:丁婵大小:7.05M时长:05:08
你好,欢迎收听极客视点。
对于 App 的后端服务开发,你是选择 AWS 还是 Firebase。当然,并不是说 AWS 就比 Firebase 好,或 Firebase 比 AWS 好。正确的问题应该是:哪种解决方案最适合你的需求?
日前,开发人员达南杰·特里维迪(Dhananjay Trivedi)分享了自己的观点和理解,或许能帮你选择正确的服务。
Firebase 与 AWS 的服务异同点
二者有很多核心功能是相似的,包括身份验证、推送通知、存储、托管、分析。因此,你可以用这些平台轻松部署无服务器解决方案。
而 Firebase 和 AWS 又各有优势。AWS 用于开发、测试和生产的不同环境更加“优雅”,它还为持续部署提供另一种优雅的解决方案。使用 AWS,你可以任意选择后端数据库的类型。另外,AWS 提供应用程序可能需要的所有服务。因此,AWS 是一个云解决方案,你可以完全依赖它来满足所有需求。
如果你选择 Firebase,它提供两种专用数据库服务:Cloud Firestore 和 Realtime Database。这两个数据库都是 NoSQL 数据库,因此,你在部署数据驱动的应用程序时不必太操心数据库设置和查询编写。
同时,得益于 Firebase 云函数,你可以创建云函数并通过 URL 设置触发器,以便将侦听器写入数据库。这些函数类似于 AWS Lambda,但是从应用程序触发一个 Lambda 需要你设置一个 API 网关并添加授权逻辑,这使得实现起来有些困难。
另外,Firebase 提供很多服务来监控和保证应用程序的质量。这些服务包括:
动态链接:将用户导航到你应用程序的正确位置,无论它是否已经安装。
远程配置:使用服务器端配置自定义并试验应用程序行为。
测试实验室:跨设备测试 App。
应用内消息传递:发送给用户参与活动。
分析:帮你规划未来的发布和用户参与策略。
ML Kit:在应用程序的前端或后端为你的解决方案添加机器学习功能。
怎样整合后端与应用程序?
此外,在集成后端与应用程序方面,二者也有很大区别。
Firebase 为 Android、iOS 和 Web 提供 SDK,作为前端开发人员,你可以轻松构建数据驱动的应用程序,而不必受制于后端技能。Firebase 还有一个 REST API,你能用它构建自己的自定义 API(根据需求)。
而 AWS 为移动开发提供一种非常好的解决方案 AppSync ,你可以把它集成到你的 Android、iOS 和 React Native 中。不过,如果你想使用 Flutter 开发前端,就必须创建自己的 API。
在你作出正确抉择前,可以考虑以下几点:
考虑解决方案的复杂性和业务需求,并考虑可伸缩性,决定是否要创建 API。
如果你希望拥有一个 API,那么就用不到 SDK 了。另外,对于较大的项目,拥有一个 API 更有意义。
如果你的解决方案很简单,并且不想在 API 上投资,那么选择提供 SDK 的服务 / 前端框架,以便能直接将后端集成到你的前端。
时间和人力
这是一个需要考虑的重要因素,因为你将需要这些资源来设置、构建和维护应用程序架构。
Firebase 非常简单,容易上手。实际上,前端开发人员可以创建和维护整个后端,只需要一点设置方面的知识。对于创建实时应用程序,Firebase 处理了大量的复杂性,并为你提供一个非常强大且易于使用的 SDK,帮你节省大量时间,而时间就是金钱。
而在 AWS 方面,因为它提供的服务是 Firebase 的十倍,所以它的使用和维护也要复杂十倍。不过,与 Firebase 相比,AWS 有一点学习曲线。
对于创建实时应用程序,你需要搭配使用 GraphQL API 和 DynamoDB 实例(同样是一个 NoSQL 数据库),并且你还必须设置 API 和数据库,对于一个简单的实时应用程序来说,这似乎显得有些多余。
总之,使用 Firebase,易于设置、使用和维护,需要你做的决定更少,非常适合简单的应用程序。使用 AWS,它提供更大的灵活性,这对构建大型、复杂的应用程序有很大帮助。
以上就是今天的内容,希望能帮你在选择 App 的后端服务开发时做出正确决定。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(3)
- 最新
- 精选
- Rainman然而国内因为某些原因用不了谷歌的firebase,所以......1
- Geek_d02923感谢老师分享!
- 小斧动态链接:将用户导航到你应用程序的正确位置,无论它是否已经安装。 远程配置:使用服务器端配置自定义并试验应用程序行为。 测试实验室:跨设备测试 App。 应用内消息传递:发送给用户参与活动。 分析:帮你规划未来的发布和用户参与策略。 ML Kit:在应用程序的前端或后端为你的解决方案添加机器学习功能。 考虑解决方案的复杂性和业务需求,并考虑可伸缩性,决定是否要创建 API。 如果你希望拥有一个 API,那么就用不到 SDK 了。另外,对于较大的项目,拥有一个 API 更有意义。 如果你的解决方案很简单,并且不想在 API 上投资,那么选择提供 SDK 的服务 / 前端框架,以便能直接将后端集成到你的前端。1
收起评论