Dart开发服务端,我是不是发烧(骚)了?
来源:SegmentFault
时间:2023-02-18 17:21:33 182浏览 收藏
IT行业相对于一般传统行业,发展更新速度更快,一旦停止了学习,很快就会被行业所淘汰。所以我们需要踏踏实实的不断学习,精进自己的技术,尤其是初学者。今天golang学习网给大家整理了《Dart开发服务端,我是不是发烧(骚)了?》,聊聊MySQL、后端、dart,我们一起来看看吧!
客户端方面采用了
import 'dart:io'; main() async { var server = await HttpServer.bind( InternetAddress.loopbackIPv4, 4040, ); print('Listening on localhost:${server.port}'); await for (HttpRequest request in server) { request.response ..write('Hello, world!') ..close(); } }
上述代码,在本地计算机
import 'dart:io'; main() async { var server = await HttpServer.bind( InternetAddress.loopbackIPv4, 4040, ); print('Listening on localhost:${server.port}'); await for (HttpRequest request in server) { routeHandle(request); } } void routeHandle(HttpRequest request) { if (request.uri.path == '/abc') { request.response ..write('Hello, abc!') ..close(); } else if (request.uri.path == '/admin') { request.response ..write('Hello, admin!') ..close(); } else { request.response ..write('Hello, world!') ..close(); } }
嗯嗯,这里还需要优化,先看看效果。
简单的控制器用起来
控制器一般用来接收请求信息,然后调用系统内部代码处理信息,最后返回响应信息。
废话少说,拿代码来。
新建文件
import 'dart:io'; class HomeController { static String index(HttpRequest request) { // some other code return 'hello world'; } static String abc(HttpRequest request) { // some other code return 'hello abc'; } static String admin(HttpRequest request) { // some other code return 'hello admin'; } }
在
import 'dart:io'; import 'HomeController.dart'; main() async { var server = await HttpServer.bind( InternetAddress.loopbackIPv4, 4040, ); print('Listening on localhost:${server.port}'); await for (HttpRequest request in server) { routeHandle(request); } } void routeHandle(HttpRequest request) { String content = ''; if (request.uri.path == '/abc') { content = HomeController.abc(request); } else if (request.uri.path == '/admin') { content = HomeController.admin(request); } else { content = HomeController.index(request); } request.response ..write(content) ..close(); }
嗯嗯,这里还需要优化,以后再说。
简单的数据库操作用起来
在项目依赖文件
ConnectionSettings settings = new ConnectionSettings( host: 'localhost', port: 3306, user: 'bob', password: 'wibble', db: 'mydb' ); MySqlConnection conn = await MySqlConnection.connect(settings); var results = await conn.query('select name, email from users where id = ?', [1]); for (var row in results) { print('Name: ${row[0]}, email: ${row[1]}'); });
直接写SQL,那不得掉很多头发,简单封装下再来
Listcondition = [Column('id', '=', 1)]; List
嗯嗯,链式操作,用起来方便多了。
总结
至此,我们使用
Dart语言,实现了从浏览器请求,到路由,到控制器,并且可以操作数据库。
当然它很简单,真正用起来还需要其他工作。
但是(一定要加但是),至少我们验证了
Dart开发服务端的可行性,在后端开发的技术选型上又多另一个选择。
你们说呢?
文中关于mysql的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《Dart开发服务端,我是不是发烧(骚)了?》文章吧,也可关注golang学习网公众号了解相关技术文章。
声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
-
499 收藏
-
244 收藏
-
235 收藏
-
157 收藏
-
101 收藏
最新阅读
更多>
-
165 收藏
-
397 收藏
-
489 收藏
-
209 收藏
-
497 收藏
-
335 收藏
课程推荐
更多>
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 542次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 507次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 497次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 484次学习