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

最近,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.mzph.cn/bicheng/81470.shtml

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

相关文章

纯css实现蜂窝效果

<!DOCTYPE html><html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>蜂窝效果</title><style>body {margin: 0…

JAVA EE_HTTP

为什么意气风发的少年&#xff0c;总是听不进去别人的劝解。 ​​​​​​​ ​​​​​​​ ----------陳長生. ❀主页&#xff1a;陳長生.-CSDN博客❀ &#x1f4d5;上一篇&#xff1a;JAVA EE_网络原理_数据链路层-CSDN博客 1.HTTP 1.1.HTTP是什么 H…

存储扇区分配表:NAND Flash与SD NAND(贴片式SD卡)的架构差异

NAND Flash 和 SD 卡&#xff08;SD NAND&#xff09;的存储扇区分配表在原理上有相似之处&#xff0c;但由于二者的结构和应用场景不同&#xff0c;也存在一些差异。 相同点&#xff1a; 基本功能&#xff1a;NAND Flash 和 SD 卡&#xff08;SD NAND&#xff09;的存储扇区分…

界面控件DevExpress WinForms中文教程:Banded Grid View - API

DevExpress WinForms拥有180组件和UI库&#xff0c;能为Windows Forms平台创建具有影响力的业务解决方案。DevExpress WinForms能完美构建流畅、美观且易于使用的应用程序&#xff0c;无论是Office风格的界面&#xff0c;还是分析处理大批量的业务数据&#xff0c;它都能轻松胜…

4G物联网模块实现废气处理全流程数据可视化监控配置

一、项目背景 随着工业化进程的加速&#xff0c;工业废气的排放对环境造成了严重影响&#xff0c;废气处理厂应运而生。然而&#xff0c;废气处理厂中的设备众多且分散&#xff0c;传统的人工巡检和数据记录方式效率低下&#xff0c;难以及时发现问题。为了实现对废气处理设备…

Kubernetes控制平面组件:Kubelet详解(四):gRPC 与 CRI gRPC实现

云原生学习路线导航页&#xff08;持续更新中&#xff09; kubernetes学习系列快捷链接 Kubernetes架构原则和对象设计&#xff08;一&#xff09;Kubernetes架构原则和对象设计&#xff08;二&#xff09;Kubernetes架构原则和对象设计&#xff08;三&#xff09;Kubernetes控…

【数据结构】线性表--队列

【数据结构】线性表--队列 一.什么是队列二.队列的实现1.队列结构定义&#xff1a;2.队列初始化函数&#xff1a;3.队列销毁函数&#xff1a;4.入队列函数&#xff08;尾插&#xff09;&#xff1a;5.出队列函数&#xff08;头删&#xff09;&#xff1a;6.取队头元素&#xff…

C语言—再学习(结构体)

一、建立结构体 用户自己建立由不同类型数据组成的组合型的数据结构&#xff0c;它称为结构体。 struct Student { int num; //学号char name[20]; //名字为字符串char sex; //性别int age; //年纪float score; //分数char addr[30]; 地址为字符…

【前端基础】10、CSS的伪元素(::first-line、::first-letter、::before、::after)【注:极简描述】

一、伪元素的作用 选取某个特定的元素。 二、::first-line、::first-letter ::first-line&#xff1a;针对首行文本设置属性 ::first-letter&#xff1a;针对首字母设置属性 三、::before、::after 在一个元素之前&#xff08;::before&#xff09;或者之后&#xff08;…

系统漏洞扫描服务:维护网络安全的关键与服务原理?

系统漏洞扫描服务是维护网络安全的关键措施&#xff0c;能够迅速发现系统中的潜在风险&#xff0c;有效预防可能的风险和损失。面对网络攻击手段的日益复杂化&#xff0c;这一服务的重要性日益显著。 服务原理 系统漏洞扫描服务犹如一名恪尽职守的安全守护者。它运用各类扫描…

从 Excel 到 Data.olllo:数据分析师的提效之路

背景&#xff1a;Excel 的能力边界 对许多数据分析师而言&#xff0c;Excel 是入门数据处理的第一工具。然而&#xff0c;随着业务数据量的增长&#xff0c;Excel 的一些固有限制逐渐显现&#xff1a; 操作容易出错&#xff0c;难以审计&#xff1b; 打开或操作百万行数据时&…

框架的源码理解——V3中的ref和reactive

最近在研究各个框架的源码&#xff0c;从源码角度去理解 vue3 的 reactive 和 ref API&#xff0c;记录下研究的成果 reactive 首先&#xff0c;reactive() 的参数必须是一个对象&#xff0c;返回值是一个 Proxy 对象&#xff0c;具有响应性。如果参数不是对象类型&#xff0…

能源数字化转型关键引擎:Profinet转Modbus TCP网关驱动设备协同升级

在工业自动化的世界中&#xff0c;ModbusTCP和Profinet是两个非常重要的通讯协议。ModbusTCP以其开放性和易用性&#xff0c;被广泛应用于各种工业设备中&#xff1b;而Profinet则以其高效性和实时性&#xff0c;成为了众多高端设备的首选。然而&#xff0c;由于这两种协议的差…

【ant design】ant-design-vue 4.0实现主题色切换

官网&#xff1a;Ant Design Vue — An enterprise-class UI components based on Ant Design and Vue.js 我图方便&#xff0c;直接在 app.vue 中加入的 <div class"app-content" v-bind:class"appOption.appContentClass"><a-config-provider…

一个指令,让任意 AI 快速生成思维导图

大家好&#xff0c;我是安仔&#xff0c;一个每天都在压榨 AI 的躺平打工人。 今天分享一个 AI 办公小技巧&#xff0c;让你用一个指令让 AI 生成思维导图。 DeepSeek、Kimi、豆包都可以哈 &#xff5e; KimiXMind 安仔经常用 XMind 来绘制思维导图&#xff0c;但是 AI 是没…

便捷的批量打印工具推荐

软件介绍 本文介绍的软件是一款批量打印软件&#xff0c;名为PrintConductor。 软件功能强大 这款批量打印软件功能极为强大&#xff0c;它不仅能够批量打印各种不同格式的文件&#xff0c;还可以直接打印整个文件夹。 初次使用设置 第一次打开这款软件时&#xff0c;要记…

USRP 射频信号 采集 回放 系统

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

MFC 调用海康相机进行软触发

初始化相机类文件 #pragma once #include "MvCameraControl.h" class CMvCamera { public:CMvCamera();~CMvCamera();//初始化相机int InitCamera();int SaveCurrentImage(CString filePath);//关闭相机void CloseCamera();//设置int SetEnumValue(IN const char* s…

虚拟主播肖像权保护,数字时代的法律博弈

首席数据官高鹏律师团队 在虚拟主播行业蓬勃发展的表象之下&#xff0c;潜藏着一场关乎法律边界的隐形战争。当一位虚拟偶像的3D模型被非法拆解、面部数据被批量复制&#xff0c;运营方惊讶地发现——传统的肖像权保护体系&#xff0c;竟难以完全覆盖这具由代码与数据构成的“…

ArrayList-集合使用

自动扩容&#xff0c;集合的长度可以变化&#xff0c;而数组长度不变&#xff0c;集合更加灵活。 集合只能存引用数据类型&#xff0c;不能直接存基本数据类型&#xff0c;除非包装 ArrayList会拿[]展示数据