Flutter backend develop:后端开发与Web项目开发

发布于 1周前 作者 zlyuanteng 来自 Flutter

今年初到现在公司使用了 Flutter 完成了一个 POS 扫码的项目开发,我做为主力参与其中。现在基本上完成,我从 2019 年 9 月在没有太多任务的时候,投入学习 dart 开发,之后也为后面的项目快速实现打了基础。后面我研究了 Flutter nav1.0 和 nav2.0 在后面我们项目我坚定使用 Flutter 2.0 null-safety 开发。flutter 的 GUI 界面开发对我来说一点难度都没有,本来 iOS 的 stackview+Flixbe+autolayout 在 flutter 上一个套路,熟悉官方 Gallery 之后,更方便的找到需要的组件。

那么现在:我最感兴趣的是 dart 的 banckend 后端开发,还有使用 flutter 开发 web 界面,web 管理后台项目。

于是我去找了资料看看现在 dart 的 server 目前进展如果,结果上来就发现 Aqueduct 宣布不维护了!然后就是 angel,最后就是官方的 sever 库。想不到在 meduim 上有作者已经对此进行了跟进和分析: https://medium.com/flutter-community/web-server-frameworks-for-dart-197a073299eb

他也建议如果想深入和全面的了解 dart 在 server 的姿势,那么还是从官方提高的基础框架开始起步。

但是当我看了两天 dart 的 service 的文档,我已经分不清楚 dart web apps 和 flutter web 两者的区别。。。当然官方也自己说了他们的 web 开发适合三个情况:1.web app 2.潜入 web 3.多设备支持 wbe 也许这里理解有错误,大概如此。还有不同的 render 框架,会影响包大小和性能和效果

而关于 dart 的 service 开发,官方命名 command line,做为有 java 开发经验,没有发现类似 tomcat 这样的 service CGI 容器。

关于以上项目和我都记录在个人资料里面,不做宣传,因为没有营养的技术文章太多,我只是记录现在自己做的事情,没有利益瓜葛,一直想关闭,只是目前还在记录一些事情。

发帖目的:找一下有没有我和一样在研究和探索 Dart service 开发,dart 写 web 管理后台,或者 dart 写 web 页面的朋友,加我一起来互相分享和迭代呀。我只听说咸鱼在一条龙进行 dart 的技术栈。还有没有什么公司有这样的计划和执行中,可以告诉我一下?

关于技术好坏的讨论没有意义,当初前端搞 nodejs 我感觉都是要干掉 java 后端一条龙的目标,现在呢?我只是对 flutter 的技术栈和 dart 的技术栈有兴趣,个人兴趣,不扯钱和就业,大小公司都呆过。


Flutter backend develop:后端开发与Web项目开发

更多关于Flutter backend develop:后端开发与Web项目开发的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html

13 回复

dart 要一把梭了

更多关于Flutter backend develop:后端开发与Web项目开发的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


目前还没有,dart 很弱鸡,不过 null-safety 2.0 开始算是进入新的世界了

付费求有 dart backend 开发经验的前辈请教!

dart 作为后端?真的很少听人用这个作为后端,考虑 Java 或者 PHP 如何?

就是兴趣啊,不为利益啊,因为使用了 dart 开发 flutter,所以就研究 dart 做后端,不需要语言来回切换。dart 本身涉及的范围还挺广的,能兼容使用 c,借力很在行。。。

<iframe src="https://www.youtube.com/embed/SDE5d4GcAdc" class="embedded_video" allowfullscreen="" type="text/html" id="ytplayer" frameborder="0"></iframe>
油管上还是有作者在教学,目前发现官方的 shelf 比较完善,我先使用它整一个根据不同 url 返回不同 json 的 rest service

我想我已经找到了路径,在看了这个视频之后,我自己测了 dart exmaole.dart 官方 shelf 的 demo,设置 localhost 为我的电脑 ip,然后设置手机代理请求到我的电脑 http://192.168.0.113:8080/9898x,然后 chrals 抓包,成功的获取到了全部 http 的信息,默认头部是 text/plain 。
哈哈,我想我的目标有了,先使用 shelf 开发请求协议是 text/json,写 API 做为 APP 或者 web 应用的服务端,这样简单的 HTTP+APP/WEB 就可以玩起来。另外在看一下怎么设置 HTTPS 协议,有了加密之后,在看如果在 shelf 里面访问数据库,把数据库加入进来,那么最基本的操作就有了。
之后就是 token 和 cookie 的事情,一点点的往里面填东西,一个后端的样子就齐全了。
nice !!!!
关于 shelf 的资料官方给的是太少了,另外给了很多网络库看的头晕,但是目前确定围绕 shelf 来开发是最 easy 的。
之后我把写的项目代码放到我的 github 上去吧。

我记得前几年的谷歌发布会里面有公司就是全栈 dart,不过 dart 现在官方定位还是用户端,这么剑走偏锋感觉不如另找成熟语言

给你一个小红心! Cool
是的,我看 medium 分析 dart backend 文章也是说官方文档很糟糕。
我在学习 Shelf 的 POST 获取参数都话费了很久才理解使用 AsString 方法。。。
我是 iOS Flutter Dart enthusiast,只是把 dart 的知识面扩展一下,没有直接去开发后端需求的项目,我是移动端开发,主要负责 Application 的开发

加微信交流:wk2311007

# Web 前端

- Flutter Web

字节内部对 Flutter Web 做了一些探索,HtmlCanvas 做小页面,CanvasKit 做大点页面。总体来说更适合 https://rive.app 这种重渲染应用,而不是 web-like 的网页应用

- Dart Web

最早 Dart 是直接裸操作 DOM 的,后来发展出 AngularDart,目前 Google 半封闭了 AngularDart (仅对内支持),主推 Angular 。我根据 Angular 的教程 https://thinkster.io/tutorials/building-real-world-angular-2-apps,写过对应 AngularDart 版本: https://github.com/Sunbreak/angulardart-realworld-example-app

# 后端

Aqueduct 官方确实不维护了,社区自己维护的版本是 Conduit: https://www.reddit.com/r/FlutterDev/comments/nkbckn/conduit_release_meeting/?utm_source=ifttt

Shelf 资料确实比较少,参见: https://github.com/dart-lang/site-www/issues/3058

另外 Google 自己在主推 Dart on Serverless: https://twitter.com/GCPPodcast/status/1397601023099867136


谢谢你的解惑,让我大概知道 Flutter web 和 Dart web 的区别。简单说 Flutter web 是使用 Flutter 的集成开发环境来讲写代码最后构建为 HTML 的 project,是基于 Canvas 的模型。而 Dart web 则和最开始的 JQuery 一样直接 dom,但是这已经是违背当前主流的前端开发思想尤其是 Vue 。Dart web 目的是提供最基本的能力,告诉大家可以这么,需要玩高级的等你来 push 。

而我问的 dart 的 backend 开发,google 提供了最基本的能力,也是告诉大家可以这么玩,需要高级的等你来 push 。

最后我说的有没有 tomcat 这样的 CGI 容器,你给我的答案是 severless,现在几大云都在做后端改革,做到动态扩容,中间件,不需要开发者自己部署和操心 server 容器的问题。

之前几年我在 iOS 的移动端开发圈圈里,前端,后端,云服务,我已经缺了很多知识和眼界。哈哈,我的知识已经成为基石了,好比打开任何 HTML 页面还是 JS 一切没有变,但是开发模式和工具早已经变了。

谢谢你的分享,让我获得了新的思路。

这是我使用 dart 写的 rest 风格的后端

https://github.com/luffyjie/pos_bankend

纯 flutter 的 APP 项目使用上面的后端
https://github.com/luffyjie/pos

针对“Flutter backend develop:后端开发与Web项目开发”的帖子,以下是我的专业回复:

Flutter后端开发通常指的是使用Flutter框架进行移动应用后端服务的构建,但这并不准确,因为Flutter主要用于前端跨平台开发。不过,我们可以从Flutter前端开发的视角,来探讨其后端服务及与Web项目的关联。

Flutter作为Google推出的开源移动应用开发框架,允许开发者使用Dart语言编写代码,同时支持iOS和Android平台。在Flutter项目中,后端开发主要涉及与前端进行交互的API接口、数据库管理、业务逻辑处理等方面。

与Web项目开发相比,Flutter后端开发在技术上可能有所重叠,如都可能需要使用到RESTful API、数据库(如MySQL、MongoDB等)以及身份验证和授权机制。然而,Flutter项目更侧重于移动应用的体验优化和跨平台一致性,因此在后端服务的设计和实现上也会有所差异。

此外,Flutter项目中的后端开发还需要考虑与前端Flutter代码的集成和调试,确保前后端数据的正确传输和处理。开发者可以利用Flutter提供的丰富组件和接口,快速构建出高性能、高保真的移动应用。

回到顶部