如何利用Flutter来写后端 服务端应用

前言

Flutter是谷歌推出的一款跨平台开发框架,现在属于此领域star最多的框架,其被广泛应用于构建前台界面,但或许很少人知道,他也可以写后端应用。

本文主角

flutter非常著名的getx库推出的get server

jonataslaw/get_server: A backend server that makes it possible to program with Flutter syntax and reuse existing code (github.com)

基本功能

返回字符串的基础server

void main() {runApp(GetServerApp(getPages: [GetPage(name: '/', page:()=> Home()),],));
}class Home extends StatelessWidget {@overrideWidget build(BuildContext context) {return Text("Welcome to GetX");}
}

可以发现,这就是我们非常熟悉的flutter语法

这个后台应用的作用就是访问‘/’则返回请求者文字

返回json的server

class Home extends StatelessWidget {@overrideWidget build(BuildContext context) {return Json({"fruits": ["banana", "apple", "orange"]});}
}

这个写法也十分的flutter

上传图片的接口

class Home extends GetView {@overrideWidget build(BuildContext context) {return MultiPartWidget(builder: (context, upload) {return Json({"nameFile": upload.name,"mimeType": upload.mimeType,"fileBase64": "${base64Encode(upload.data)}",});},);}
}

亮点

返回我们写好的flutter页面

在官方中提到

中文即为

您只需从 Flutter 项目中复制 Web 文件夹,然后粘贴到服务器文件中的目录即可。 Flutter web 生成一个 html 文件,该 html 文件调用一个 js 文件,该文件又请求几个必须位于公共文件夹中的文件。 要将 Flutter Web 文件夹设为公共文件夹,只需将其添加到您的 GetServer 中即可。 这样,当您进入服务器时,您将自动定向到使用 Flutter 制作的站点。

void main() {runApp(GetServerApp(home: FolderWidget('web'),getPages: [GetPage(name: '/api', page: () => ApiPage()),],),);
}

JWT鉴权

void main() {runApp(GetServerApp(jwtKey: 'your key here',),);
}final claimSet = JwtClaim(expiry: DateTime.now().add(Duration(days: 3)),issuer: 'get is awesome',issuedAt: DateTime.now(),
);var token = TokenUtil.generateToken(claim: claimSet);GetPage(name: '/awesome-route',method: Method.get,page: () => YourPage(),needAuth: true,
),

除此之外--websock,类js,node风格可以更多自由探索

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/503761.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

管家婆云上管家新帐套建立步骤

第一步,客户服务管理; 第二步,添加帐套; 第三步,点击“管理”进入;第四步,添加帐套信息; 第五步,找到客户,查看帐套信息; 第六步,确认…

ShardingJdbc分库分表-浅谈分表原理

文章目录 为什么要分库分表一、分库分表二、不停机分库分表数据迁移 为什么要分库分表 一般的机器(4核16G),单库的MySQL并发(QPSTPS)超过了2k,系统基本就完蛋了。最好是并发量控制在1k左右。这里就引出一个…

Springboot+vue的制造装备物联及生产管理ERP系统(有报告)。Javaee项目,springboot vue前后端分离项目。

演示视频: Springbootvue的制造装备物联及生产管理ERP系统(有报告)。Javaee项目,springboot vue前后端分离项 项目介绍: 本文设计了一个基于Springbootvue的制造装备物联及生产管理ERP系统,采用M&#xff…

软件设计师软考题目解析15 --每日五题

想说的话:要准备软考了。0.0,其实我是不想考的,但是吧,由于本人已经学完所有知识了,只是被学校的课程给锁在那里了,不然早找工作去了。寻思着反正也无聊,就考个证玩玩。 本人github地址&#xf…

C 嵌入式系统设计模式 16:循环执行模式

本书的原著为:《Design Patterns for Embedded Systems in C ——An Embedded Software Engineering Toolkit 》,讲解的是嵌入式系统设计模式,是一本不可多得的好书。 本系列描述我对书中内容的理解。本文章描述嵌入式并发和资源管理模式之二…

python实现AES加密解密

1. 前言 AES是一种对称加密,所谓对称加密就是加密与解密使用的秘钥是一个。 之前写过一片关于python AES加密解密的文章,但是这里面细节实在很多,这次我从 参数类型、加密模式、编码模式、补全模式、等等方面 系统的说明如何使用AES加密解密…

网络编程day3

1.思维导图 2.TCP机械臂测试 通过:w(红色臂角度增大) s(红色臂角度减小) d(蓝色臂角度增大) a(蓝色臂角度减小) 按键控制机械臂 注意:关闭计算机的杀毒软件,电脑管家,防火墙 1)基于TCP服务器的机械臂,端…

Java智慧云HIS医院信息化系统源码 更具灵活性、扩展性

目录 什么是云HIS 趋势与转变 HIS上云后有哪些好处 解决方案 云HIS组成 1、门诊挂号 2、住院管理 3、电子病历 4、药物管理 5、统计报表 6、综合维护 7、运营运维 什么是云HIS 云HIS是一种基于云计算技术的医院信息管理系统。云HIS可以帮助医院管理各类医院信息&a…

2024年10个超炫酷的前端 3D 开源项目,那几个你用?

本文将分享 10 个超炫酷的前端 3D 开源项目。从令人惊叹的视觉效果到富有创新概念的交互体验,这些项目展示了前端技术的无限可能。无论你是新手还是经验丰富的开发者,都值得一探究竟! 蛋仔派对(three.js版) 利用 Rea…

HotFix原理学习 IL2CPP 学习

原文链接:Unity 游戏用XLua的HotFix实现热更原理揭秘-CSDN博客 本文通过对XLua的HoxFix使用原理的研究揭示出来这样的一套方法。这个方法的 第一步:通过对C#的类与函数设置Hotfix标签。来标识需要支持热更的类和函数。第二步:生成函数连接器…

Node.js基础---Express中间件

1. 概念 1.什么是中间件 中间件(Middleware),特指业务流程的中间处理环节 2. Express 中间件的调用流程 当一个请求到达 Express 的服务器后,可以连续调用多个中间件,从而对这次请求进行预处理 3. Express 中间件格式 Express 的中间件&…

基于ssm游泳会员管理系统+vue论文

摘 要 如今社会上各行各业,都喜欢用自己行业的专属软件工作,互联网发展到这个时候,人们已经发现离不开了互联网。新技术的产生,往往能解决一些老技术的弊端问题。因为传统游泳会员信息管理难度大,容错率低&#xff0c…