【Flutter开发技巧】我开发了一个Flutter支持Web项目本地缓存启动服务的插件:Misty

前言

最近 Asscre 遇到一个需求,就是把我们的 Web 项目在 Flutter 中静态启动,提升用户的体验的同时(其实产品想要的是小程序的体验),能使用我们现有的 Web 技术栈解决。

第一个想到的就是集成第三方的小程序SDK。

众所周知,我们国内的小程序开发框架基本上都是各个厂商为适配自己的需求定制的,但我们想要实现一些特殊的需求,官方没有适配的时候,只能“看别人的工期”;同时,各个厂商的小程序引擎SDK基本都是闭源的,所以导致我们想在Flutter项目中集成小程序只能自己造轮子( 其实市面上有解决方案,但,我想,web的问题为啥不能用web解决 )。

于是, Asscre 就在想如何利用现有的VueFlutter技术栈实现类似的体验,保留 Web 开放性的同时,能很好的实现Flutter 和 Web 的原生交互。

这个的想法不断的在脑海中回响不断,最终形成 Misty 的雏形。

思考

我们以 Vue 开发的角度来思考,如何把打包后的 dist 资源包在 Flutter 上本地运行起来,同时可以提供给 WebView 使用,并且良好的支持 FlutterWeb 原生交互(譬如手势、事件通知等)。

在 Flutter 中启动 Web 服务

此处借鉴了 local_server_webview

Web项目本地缓存和版本管理
  • 把打包好的 dist 文件下载到本地。
Dio().download(queueItem.zipUrl, zipPath).then((resp) {if (resp.statusCode != 200) {_log('下载ls 压缩包失败err:${resp.statusCode} zipUrl:${queueItem.zipUrl}');throw Exception('下载ls 压缩包失败err:${resp.statusCode}');}return unarchive(queueItem, zipPath);
}) 
    • 0
      点赞
    • 0
      收藏
      觉得还不错? 一键收藏
    • 0
      评论
    搭建Android本地Web服务项目的方法如下: 1. 首先,安装Flutter SDK并配置环境变量。可以从Flutter官网下载对应平台的SDK,并将其解压到指定目录。然后,在系统的环境变量中添加Flutter SDK的路径。 2. 创建一个新的Flutter项目。在命令行中使用"flutter create project_name"命令来创建一个名为project_name的文件夹,并生成初始项目。 3. 在pubspec.yaml文件中添加对webview_flutter件的依赖。打开项目文件夹,找到pubspec.yaml文件,在dependencies部分添加以下代码: ```yaml webview_flutter: ^2.0.0 ``` 然后在命令行中运行"flutter pub get"命令以获取依赖的件。 4. 在lib文件夹下创建一个新的dart文件,例如web_server.dart。在该文件中导入webview_flutter件,并编写一个简单的Web服务代码,如下所示: ```dart import 'package:flutter/material.dart'; import 'package:webview_flutter/webview_flutter.dart'; void main() => runApp(MyApp()); class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( title: 'Web Server', theme: ThemeData( primarySwatch: Colors.blue, ), home: WebViewContainer(), ); } } class WebViewContainer extends StatefulWidget { @override createState() => _WebViewContainerState(); } class _WebViewContainerState extends State<WebViewContainer> { @override Widget build(BuildContext context) { return Scaffold( body: WebView( initialUrl: "http://localhost:8080", // 设置Web服务的URL javascriptMode: JavascriptMode.unrestricted, ), ); } } ``` 5. 运行Flutter应用程序。在命令行中运行"flutter run"命令,将Flutter应用程序安装到Android设备或模拟器上。然后,你将能够看到一个包含Web服务WebView控件。 这样,你就成功搭建了一个Android本地Web服务项目。你可以根据需要自定义Web服务的URL和其他属性。希望对你有帮助!

    “相关推荐”对你有帮助么?

    • 非常没帮助
    • 没帮助
    • 一般
    • 有帮助
    • 非常有帮助
    提交
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值