基于最新的MAUI混合VUE3开发Android应用(2022-11-01)

这篇具有很好参考价值的文章主要介绍了基于最新的MAUI混合VUE3开发Android应用(2022-11-01)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

    因为最近自己想着要整一个手机端应用来玩玩,先是使用了Uni-APP开发但是发现不怎么好使,开发了几天后浪费了大量时间结果在打包后操作HTML Document的时候没有这个属性,好吧或许是因为我没仔细看Uni-App文档它并不支持打包后在APP和小程序中支持Document,这是没仔细看文档的后果,谨记
    然后呢就找了很多可以将Vue混合到Android的框架或者什么什么的,然后就注意到了微软的MAUI,别说还行挺好使的

前提条件,我的开发环境是,visual studio 2022 + .net 6,其他的应该也可以,但是net版本注意最好是net5,net6,net7

注意!!!项目路径不能有中文!不能有中文!一定是全英文路径,这样可以减少很多莫名其妙的Bug

好的我们现在来开始吧。(文末附带项目地址)

首先创建一个项目,Blazor也可以,我们这直接用MAUI应用更好改造点

基于最新的MAUI混合VUE3开发Android应用(2022-11-01)

 基于最新的MAUI混合VUE3开发Android应用(2022-11-01)

 基于最新的MAUI混合VUE3开发Android应用(2022-11-01)

 创建完成后呢,Microsoft.NET.Sdk这里加上 .Razor 这个时候它会自己引入需要的包

Microsoft.NET.Sdk.Razor

基于最新的MAUI混合VUE3开发Android应用(2022-11-01)

基于最新的MAUI混合VUE3开发Android应用(2022-11-01)

引入完成后大概是这样的,开始改造吧基于最新的MAUI混合VUE3开发Android应用(2022-11-01)

打开这个页面把标签变成这样 基于最新的MAUI混合VUE3开发Android应用(2022-11-01)

打开这个xaml的cs,把这些删掉

基于最新的MAUI混合VUE3开发Android应用(2022-11-01)

基于最新的MAUI混合VUE3开发Android应用(2022-11-01) 打开MauiProgram把它变成大概这样

基于最新的MAUI混合VUE3开发Android应用(2022-11-01)

好的接下来就是重点环节了,我们新建这几个东西,wwwroot静态文件夹, _Imports.razor,还有你自己定义的入口组件,Main.razor对应着MainPage 里面的 {x:Type local:Main},这个是可以自己定义的基于最新的MAUI混合VUE3开发Android应用(2022-11-01)

基于最新的MAUI混合VUE3开发Android应用(2022-11-01)基于最新的MAUI混合VUE3开发Android应用(2022-11-01)

 这个index.html这里只是先做个示范,下面的才是用的基于最新的MAUI混合VUE3开发Android应用(2022-11-01)

 Main.razor,这个里面的Test就是等会我们要调用的方法

@inject IJSRuntime JSRuntime
@implements IDisposable
@code {

    [JSInvokable]
    public static Task<string> Test()
    {
        return Task.FromResult("测试通过啦!");
    }
    public void Dispose()
    {

    }
}

_Imports.razor

@using System.Net.Http
@using Microsoft.AspNetCore.Components.Forms
@using Microsoft.AspNetCore.Components.Routing
@using Microsoft.AspNetCore.Components.Web
@using Microsoft.AspNetCore.Components.Web.Virtualization
@using Microsoft.JSInterop
@using Demo01

 index.html

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title></title>
</head>
<body>
    <div id="app">请稍等,初始化中...</div>
    <div id="blazorApp" style="display: none;">初始化服务用的</div>
    <script src="_framework/blazor.webview.js" autostart="false"></script>
</body>
</html>

 注意:<script src="_framework/blazor.webview.js" autostart="false"></script>是BlazorWebView用来注册C#交互的,不可以缺少

好的环境大概差不多了,我们接下来搭建Vue项目,这里我用 npm init vue@3 指令创建基于最新的MAUI混合VUE3开发Android应用(2022-11-01) 注意!Done,Now run: 下面的指令一定要执行一遍

 基于最新的MAUI混合VUE3开发Android应用(2022-11-01)

基于最新的MAUI混合VUE3开发Android应用(2022-11-01)

执行成功应该是这样的

接下来让我们编写对应的js调用C#代码

打开App.vue,DotNet也可以是window["DotNet"]看你自己想用什么

基于最新的MAUI混合VUE3开发Android应用(2022-11-01)

 接下来打包到MAUI

基于最新的MAUI混合VUE3开发Android应用(2022-11-01)

基于最新的MAUI混合VUE3开发Android应用(2022-11-01)

 基于最新的MAUI混合VUE3开发Android应用(2022-11-01)

 把这些文件复制到MAUI

稍微改造一下,前面忘记改了基于最新的MAUI混合VUE3开发Android应用(2022-11-01)

变成这样就可以了,你可以把
      <div id="blazorApp" style="display: none;">初始化服务用的</div>
      <script src="_framework/blazor.webview.js" autostart="false"></script>

加到你的vue里面的index.html去

接下来就是运行了

基于最新的MAUI混合VUE3开发Android应用(2022-11-01)

你可以选择Android还是什么设备运行,我这直接以Window运行了 基于最新的MAUI混合VUE3开发Android应用(2022-11-01)

运行成功,按F12可以调出调试器,因为我们加了
#if DEBUG
        builder.Services.AddBlazorWebViewDeveloperTools();
#endif 

基于最新的MAUI混合VUE3开发Android应用(2022-11-01)好的,调用js代码完成了,怎么调用C#代码就自己去看看官网教程吧,因为我自己也还没有调用js这个需求,很抱歉!

参考链接:

使用 BlazorWebView 在 .NET MAUI 应用中托管 Blazor Web 应用 - .NET MAUI | Microsoft Learn

ASP.NET Core Razor 组件 | Microsoft Learn

在 ASP.NET Core Blazor 中从 .NET 方法调用 JavaScript 函数 | Microsoft Learn

从 ASP.NET Core Blazor 中的 JavaScript 函数调用 .NET 方法 | Microsoft Learn

 第一次写文,请多包涵

项目链接:MauiVueProjectDemo: MAUI混合VUE3开发文章来源地址https://www.toymoban.com/news/detail-412975.html

到了这里,关于基于最新的MAUI混合VUE3开发Android应用(2022-11-01)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于 Vue3 和 WebSocket 实现的简单网页聊天应用

    一个基于Vue3和WebSocket的简易网络聊天室项目,包括服务端和客户端部分。 项目地址 websocket-chat 下面是项目的主要组成部分和功能: 项目结构 功能特性 私聊功能:用户可以选择联系人进行一对一私聊,发送即时消息。 群聊功能:用户可以加入群组,与群组成员进行群聊。

    2024年02月03日
    浏览(41)
  • 基于Electron24+Vite4+Vue3搭建桌面端应用

    一说到创建桌面应用,就不得不提及Electron和Tauri框架。这次给大家主要分享的是基于electron最新版本整合vite4.x构建vue3桌面端应用程序。 之前也有使用vite2+vue3+electronc创建桌面端项目,不过  vue-cli-plugin-electron-builder  脚手架插件构建的项目electron版本只有13.x。如今electron版本

    2024年02月06日
    浏览(51)
  • Vue3:一页多题答案提示及循环radio和checkbox混合使用

    一页多题,类型包括单选(单选、判断)和多选,radio和checkbox混合使用,答案检验数据匹配,正确答案格式化,答案提交数据格式化,数据提交。 数据里的答案为:A_B_C_D 需要校正展示的答案为:ABCD 提交数据的答案为:题目id-A_B_C_D 通过 :value=\\\"list.id+\\\'_\\\'+radio.name\\\"  和   :va

    2024年02月05日
    浏览(36)
  • 原生Android与uniapp开发的H5混合开发

    vue版本选择2.0  记住一点,打包H5前修改配置,否则在Android中打开会白屏,修改方式如下 打包成H5,打包后可以在浏览器打开确保有内容 assets文件夹没有就自己建 xml布局文件处加入一个webview标签 Activity的 onCreate周期加入如下代码 运行项目就可以看到uniAPP的页面了

    2024年02月21日
    浏览(32)
  • 基于VUE3开发的CAD图可视化平台代码开源了

    ​ 唯杰地图VJMAP 为 CAD 图或 自定义地图格式 WebGIS 可视化 显示开发提供的一站式解决方案,支持的格式如常用的 AutoCAD 的 DWG 格式文件、 GeoJSON 等常用 GIS 文件格式,它使用 WebGL 矢量图块 和 自定义样式 呈现交互式地图, 提供了全新的 大数据可视化 可视化功能。 ​ 唯杰地图

    2024年01月18日
    浏览(47)
  • Unity Android Studio 混合开发实践(Unity工程导入Android项目进行开发)

    最近接到一个任务是将一个unity开发的游戏接入到现有的Android项目里,然后在现有的App实现点击一个按钮打开游戏,并且在游戏内提供一个可以退出到App的按钮。 整体需求是很明确的,难点主要有两个: 我们公司是做应用开发的,没有任何游戏开发的技能储备。 在游戏中需

    2024年02月11日
    浏览(43)
  • 基于vscode开发vue3项目的详细步骤教程 3 前端路由vue-router

    1、Vue下载安装步骤的详细教程(亲测有效) 1_水w的博客-CSDN博客 2、Vue下载安装步骤的详细教程(亲测有效) 2 安装与创建默认项目_水w的博客-CSDN博客 3、基于vscode开发vue项目的详细步骤教程_水w的博客-CSDN博客 4、基于vscode开发vue项目的详细步骤教程 2 第三方图标库FontAwesome_水w的

    2024年02月02日
    浏览(51)
  • Flutter混合开发:Android中如何启动Flutter

    如果你想在你的Android应用中使用Flutter,则需要遵循以下步骤: 1. 配置Flutter环境 在Android Studio中安装Flutter和Dart插件,并确保Flutter SDK已安装并配置好环境变量。这些步骤可以通过Flutter官方文档提供的说明来完成。 2. 创建Flutter Module 使用Flutter命令行工具创建一个Flutter Modul

    2024年02月10日
    浏览(35)
  • Android java项目添加kotlin混合开发环境配置

    Android Studio java代码中添加kotlin混合开发 1.项目的build.gradle中添加kotlin-gradle-plugin buildscript {     repositories {         google()         jcenter()              }     dependencies {         classpath \\\'com.android.tools.build:gradle:7.3.1\\\'         classpath \\\"org.jetbrains.kotlin:kotlin-gradle-plugin:1.7.20\\\"

    2023年04月19日
    浏览(36)
  • 铱塔 (iita) 开源 IoT 物联网开发平台,基于 SpringBoot + TDEngine +Vue3

    01   铱塔 (iita)  物联网平台 铱塔智联 (open-iita) 基于Java语言的开源物联网基础开发平台,提供了物联网及相关业务开发的常见基础功能, 能帮助你快速搭建自己的物联网相关业务平台。 铱塔智联平台包含了品类、物模型、消息转换、通讯组件(mqtt/EMQX通讯组件、小度音箱接

    2024年02月20日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包