推荐使用Serverpod:下一代Flutter服务器端解决方案
Serverpod是一款专为Flutter社区设计的下一代应用和Web服务器,它允许您使用Dart编写后端代码,自动为您生成API,并以最小的努力连接数据库。作为一个开源项目,您可以自由选择任何地方托管您的服务器。
功能强大,一应俱全
Serverpod是Flutter应用的全能后端。每一个设计决策都旨在减少你的编码工作量,使代码更易读。除了作为服务器,Serverpod还整合了许多常见的繁琐任务,通常需要外部服务才能完成。
自动代码生成
通过分析您的服务器,Serverpod能自动生成协议和服务端代码,调用远程接口就像调用本地方法一样简单。
高级日志管理
告别冗长的日志搜索。通过直观的用户界面,只需点击一下就可以定位到异常和慢速数据库查询。
内置缓存
降低数据库成本。不必在不需要永久存储数据时保存所有数据。Serverpod内置了一个高性能分布式缓存系统,可以在服务器本地或利用Redis实现跨服务器集群的缓存。
用户友好的ORM
节省时间,与数据库交互不再麻烦。使用Serverpod的ORM,您的查询将直接使用Dart类型的null安全特性,从静态检查的代码直达数据库,自动生成所需的Postgres查询语句。数据库迁移功能即将上线。
文件上传
直接将文件上传至S3或存储在数据库中。
身份验证
支持Google、Apple、Firebase和电子邮件等多种登录方式。更多选项即将到来。
数据流传输
通过认证套接字传递序列化对象,实现实时通信。集群服务器间的消息传递同样得到支持,适用于构建游戏或聊天应用等场景。
任务调度
用简单的方法替换复杂的cron任务,你可以随时或在指定延迟后调用一个方法,即使服务器重启,调用也会持续存在。
健康检查
监控数据库和使用的外部服务,编写自定义健康检查,出现问题时及时通知。
快速部署
Serverpod提供GCP和AWS的Terraform脚本,使得服务器部署快速简便。我们正在为其他平台开发脚本,欢迎贡献。
内置Web服务器
Serverpod自带Web服务器,简化了需要应用程序和传统网页共享数据的情况。您还可以使用它创建webhooks或生成定制REST API以与第三方服务通信。Web服务器目前仍在实验阶段,正在进行积极优化。
许可证
所有Serverpod包均遵循BSD-3许可证,主serverpod
包则使用SSPL许可证。这意味着,您可以无限制地在其应用程序中使用任何客户端包,并且只要不将Serverpod作为云服务提供给第三方(这通常是针对云服务商的相关规定),您也可以无限制地托管Serverpod服务器。
现在,立即探索Serverpod的世界,开启你的高效开发之旅吧!