uni-app 开发HarmonyOS的鸿蒙影视项目分享:从实战案例到开源后台

news2025/5/18 7:19:21

最近,HBuilderX 新版本发布,带来了令人兴奋的消息——uni-app 现在支持 Harmony Next 平台的 App 开发。这对于开发者来说无疑是一个巨大的福音,意味着使用熟悉的 Vue 3 语法和开发框架,就可以为鸿蒙生态贡献自己的力量。

前言

作为一名开发者,我之前完成了一个有趣的项目——一个基于 uni-app 的免费观影 App。经过一番尝试,这个 App 已经成功编译到鸿蒙平台,可以在鸿蒙设备上流畅运行。这不仅为我的学习之路增添了新的成就感,也为想要尝试鸿蒙应用开发的朋友们提供了一个基于uniapp的鸿蒙学习经典案例。
在这里插入图片描述

鸿蒙系统的出现,对于广大开发者来说是一个全新的挑战与机遇。使用 uni-app 开发鸿蒙应用,无需从零开始学习鸿蒙的原生开发语言和框架,就可以快速上手,这对于很多非鸿蒙原生开发背景的开发者来说是非常友好的。而对于已经熟悉 uni-app 的开发者来说,开发鸿蒙应用更是如鱼得水,效率大幅提升。

编译成功截图:
在这里插入图片描述
关于源uniapp的免费观影app介绍:

参见《uni-app 影视类小程序开发从零到一 | 开源项目分享》:https://blog.csdn.net/yyz_1987/article/details/140575597?spm=1001.2014.3001.5502

项目背景

我的免费观影 App 项目,主要是为了激发学习兴趣,让开发者能够通过实际操作项目,快速看到自己的成果。项目中采用了 Vue 3 的语法和一些常用的前端技术,如 Vuex 管理状态,Vue Router 实现页面跳转,以及一些第三方库来提升用户体验。通过这个项目,开发者不仅能够学习 uni-app 的基本用法,还能够接触到一些常见的前端开发模式和最佳实践。

uniapp观影app项目地址:https://gitee.com/yyz116/imovie

鸿蒙原生版本观影app项目地址:https://gitee.com/yyz116/hmmovie

此外,这个项目还基于开源的golang影视后台服务接口进行开发。这个接口提供了丰富的影视资源数据,包括电影、电视剧、动漫等,开发者可以通过简单的 API 请求获取到这些数据,并在自己的应用中进行展示和播放。为了方便更多爱好者的学习和使用,我决定将这个接口的源代码(基于golang+mongoDB)也开源出来。

后台服务开源地址:https://gitee.com/yyz116/go-imovie

如果不想部署后台服务,则可以联系我,暂时使用我部署好的后台接口服务,但仅限于学习哈,别分享给他人免费看电影。

这个影视后台服务接口采用了 golang的 go-zero微服务 框架进行开发,使用 MongoDB 来存储数据。接口提供了一系列 RESTful API,包括获取电影列表、获取电视剧列表、获取动漫列表、获取影视详情等,还有其他一些方便练习的接口服务如知乎日报,网易云音乐接口。

通过这个项目,开发者不仅可以学习到如何使用 uni-app 开发鸿蒙应用,还可以学习到如何设计和实现一个简单的后台服务接口。这对于想要深入了解全栈开发的开发者来说,是一个非常好的学习机会。

uniapp对鸿蒙的支持

自 HBuilderX 4.27 版本开始,uni-app 支持Harmony Next平台的App开发。目前仅支持 uniapp的vue3 项目或者uniapp-x的项目编译到鸿蒙平台。且只要你的项目中没有使用特定的针对android或其他平台的插件,都可以成功的编译到鸿蒙平台。

兼容性说明

HBuilderX 4.24+ 开始支持运行到鸿蒙平台
鸿蒙开发只支持Vue3、不支持Vue2,不支持plus、但支持nvue
nvue编译到鸿蒙后非原生渲染,而是与web一样渲染(自动注入一些默认样式进行兼容)
Vue3也支持选项式代码风格,参考Vue2升Vue3指南
HBuilderX 4.31+ 构建的鸿蒙运行包不支持 x86_64 平台,会影响到 Windows 系统和部分 Mac 系统的鸿蒙模拟器无法使用,需使用真机调试
HBuilderX 4.41+ 开始运行到鸿蒙设备时支持修改代码后热刷更新
HBuilderX 4.41+ 开始运行到鸿蒙设备时控制台显示的应用日志支持回源代码
HBuilderX 4.43+ 开始支持将 mainfest.json 里面配置的应用版本名称/应用版本号(versionName/versionCode)应用于鸿蒙平台,且优先于 harmony-configs/AppScope/app.json5 中的设置
HBuilderX 4.61+ 开始支持 uni-app x 项目,且支持开启调试功能
HBuilderX 4.61+ 开始支持配置签名证书,且支持自动申请调试证书

开发环境要求

HBuilderX 4.24+ 下载地址
DevEco Studio 下载地址
HBuilderX 4.24+ 要求 DevEco Studio 5.0.3.400+
HBuilderX 4.31+ 要求 DevEco Studio 5.0.3.800+。
HBuilderX 4.61+ 针对 uni-app x 项目要求 DevEco Studio 5.0.7.100+。

uni-app 项目要求鸿蒙系统版本 API 12 以上,uni-app x 项目要求鸿蒙系统版本 API 14 以上(DevEco Studio有内置鸿蒙模拟器)
如果没有符合兼容性要求的模拟器,就需要有真机作为运行设备

环境设置

默认情况下,HBuilderX 会在项目内的 unpackage 目录下游创建鸿蒙工程目录,用于构建鸿蒙的运行包和发行包:

调试运行的时候默认使用的鸿蒙工程目录位于 unpackage/dist/dev/app-harmony
发行打包的时候默认使用的鸿蒙工程目录位于 unpackage/dist/build/app-harmony

在 HBuilderX 中设置 DevEco Studio 的安装位置:

HBuilderX 依赖于 DevEco Studio 里面带的鸿蒙工具链,所以需要电脑已经安装了符合版本要求的 DevEco Studio。

打开HBuilderX,点击上方菜单 - 工具 - 设置,再点击 运行配置,在鸿蒙运行配置中设置 DevEco Studio 的安装路径。
在这里插入图片描述

写在最后

总的来说,uni-app 开发鸿蒙应用是一个非常有趣的过程,不仅可以提升开发效率,真正实现一端多发,开发一次全平台运行。还可以为鸿蒙生态做出自己的贡献。我相信,随着 uni-app 和鸿蒙平台的不断发展和完善,未来将会有更多的开发者加入到鸿蒙应用开发的行列中来。如果你也对这个领域感兴趣,不妨尝试一下吧,相信你也会从中获得很多乐趣和收获的!

希望我的分享能够对你有所帮助,如果你有任何问题或建议,欢迎在评论区留言交流。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

售前工作.工作流程和工具

第一部分 售前解决方案及技术建议书的制作 售前解决方案编写的标准操作步骤SOP: 售前解决方案写作方法_哔哩哔哩_bilibili 第二部分 投标过程关键活动--商务标技术方案 1. 按项目管理--售前销售项目立项 销售活动和销售线索的跟踪流程和工具 1)拿到标书&#xff…

GPU与NPU异构计算任务划分算法研究:基于强化学习的Transformer负载均衡实践

点击 “AladdinEdu,同学们用得起的【H卡】算力平台”,H卡级别算力,按量计费,灵活弹性,顶级配置,学生专属优惠。 引言 在边缘计算与AI推理场景中,GPU-NPU异构计算架构已成为突破算力瓶颈的关键技…

【滑动窗口】LeetCode 209题解 | 长度最小的子数组

长度最小的子数组 前言:滑动窗口一、题目链接二、题目三、算法原理解法一:暴力枚举解法二:利用单调性,用滑动窗口解决问题那么怎么用滑动窗口解决问题?分析滑动窗口的时间复杂度 四、编写代码 前言:滑动窗口…

Python绘制南丁格尔玫瑰图:从入门到实战

Python绘制南丁格尔玫瑰图:从入门到实战 引言 南丁格尔玫瑰图(Nightingale Rose Chart),也被称为极区图(Polar Area Chart),是一种独特的数据可视化方式。这种图表由弗洛伦斯南丁格尔&#xff…

炼丹学习笔记3---ubuntu2004部署运行openpcdet记录

前言 环境 cuda 11.3 python 3.8 ubuntu2004 一、cuda环境检测 ylhy:~/code_ws/OpenPCDet/tools$ nvcc -V nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2021 NVIDIA Corporation Built on Sun_Mar_21_19:15:46_PDT_2021 Cuda compilation tools, release 11.3…

深入解析BGP路由反射器与联邦:突破IBGP全连接限制的两种方案

一、引言:大型BGP网络的挑战 在大型BGP网络架构中,传统的IBGP全连接架构会带来严重的扩展性问题。当网络中存在N台路由器时,需要维护N*(N-1)/2个IBGP连接,这对设备资源和运维管理都是巨大挑战。本文将深入解析两种主流解决方案&a…

QT设置MySQL驱动

QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7 第一步:下载MySQL https://dev.mysql.com/downloads/mysql/ 解压缩下载的安装包,其目录结构如下所示: 第二…

String的一些固定程序函数

append reverse length toString

3.2/Q2,Charls最新文章解读

文章题目:Transition of nighttime sleep duration and sleep quality with incident cardiovascular disease among middle-aged and older adults: results from a national cohort study DOI:10.1186/s13690-025-01577-5 中文标题:中老年人…

大麦(Hordeum vulgare)中 BAHD 超家族酰基转移酶-文献精读129

Systematic identification and expression profiles of the BAHD superfamily acyltransferases in barley (Hordeum vulgare) 系统鉴定与大麦(Hordeum vulgare)中 BAHD 超家族酰基转移酶的表达谱分析 摘要 BAHD 超家族酰基转移酶在植物中催化和调控次…

docker迅雷自定义端口号、登录用户名密码

在NAS上部署迅雷,确实会带来很大的方便。但是目前很多教程都是讲怎么部署docker迅雷,鲜有将自定义配置的方法。这里讲一下怎么部署,并重点讲一下支持的自定义参数。 一、部署docker 在其他教程中,都是介绍的如下命令&#xff0c…

中国30米年度土地覆盖数据集及其动态变化(1985-2022年)

中文名称 中国30米年度土地覆盖数据集及其动态变化(1985-2022年) 英文名称:The 30 m annual land cover datasets and its dynamics in China from 1985 to 2022 CSTR:11738.11.NCDC.ZENODO.DB3943.2023 DOI 10.5281/zenodo.8176941 数据共享方式&#xff1a…

3D个人简历网站 5.天空、鸟、飞机

1.显示天空 models下新建文件Sky.jsx Sky.jsx // 从 React 库中导入 useRef 钩子,用于创建可变的 ref 对象 import { useRef } from "react"; // 从 react-three/drei 库中导入 useGLTF 钩子,用于加载 GLTF 格式的 3D 模型 import { useGLT…

STM32IIC实战-OLED模板

STM32IIC实战-OLED模板 一,SSD1306 控制芯片1, 主要特性2,I2C 通信协议3, 显示原理4, 控制流程5, 开发思路 二,HAL I2C API 解析I2C 相关 API1,2,3,4&#xf…

c#车检车构客户管理系统软件车辆年审短信提醒软件

# CMS_VehicleInspection 车检车构客户管理系统软件车辆年审短信提醒软件 # 开发背景 软件是给泸州某公司开发的车检车构客户管理系统软件。用于在车检年审到期前一个月给客户发送车检短信提醒 # 功能描述 主要功能:车辆年审前一个月给客户发年审短信提醒&#xf…

通俗版解释CPU、核心、进程、线程、协程的定义及关系

通俗版解释(比喻法) 1. CPU 和核心 CPU 一个工厂(负责干活的总部)。核心 工厂里的车间(比如工厂有4个车间,就能同时处理4个任务)。 2. 进程 进程 一家独立运营的公司(比如一家…

大语言模型 11 - 从0开始训练GPT 0.25B参数量 MiniMind2 准备数据与训练模型 DPO直接偏好优化

写在前面 GPT(Generative Pre-trained Transformer)是目前最广泛应用的大语言模型架构之一,其强大的自然语言理解与生成能力背后,是一个庞大而精细的训练流程。本文将从宏观到微观,系统讲解GPT的训练过程,…

USRP 射频信号 采集 回放 系统

USRP 射频信号采集回放系统 也可以叫做: 利用宽带RF录制和回放系统实现6G技术研究超宽带射频信号采集回放系统使用NI USRP平台实现射频信号录制和回放操作演示USRP也能实现多通道宽带信号流盘回放了! 对于最简单的实现方法就是使用LabVIEW进行实现 采…

【skywalking】index“:“skywalking_metrics-all“},“status“:404}

skywalking 启动报错 java.lang.RuntimeException: {"error":{"root_cause":[{"type":"index_not_found_exception","reason":"no such index [skywalking_metrics-all]","resource.t ype":"inde…

【C++详解】string各种接口如何使用保姆级攻略

文章目录 一、string介绍二、string使用构造函数析构函数赋值运算符重载string的遍历修改方法1、下标[]2、迭代器3、范围for 迭代器使用详解const迭代器反向迭代器(reverse) Capacity(容量相关)size/lengthmax_sizecapacityclear/emptyshrink_to_fit(缩容)reserve(扩…