手把手教你做一个华为鸿蒙系统Demo级项目(JS角度)

简介: 手把手教你做一个华为鸿蒙系统Demo级项目(JS角度)

系统定位


HarmonyOS是一款“面向未来”、面向全场景(移动办公、运动健康、社交通信、媒体娱乐等)的分布式操作系统。在传统的单设备系统能力的基础上,HarmonyOS提出了基于同一套系统能力、适配多种终端形态的分布式理念,能够支持多种终端设备。


  • 对消费者而言,HarmonyOS能够将生活场景中的各类终端进行能力整合,可以实现不同的终端设备之间的快速连接、能力互助、资源共享,匹配合适的设备、提供流畅的全场景体验。


  • 对应用开发者而言,HarmonyOS采用了多种分布式技术,使得应用程序的开发实现与不同终端设备的形态差异无关。这能够让开发者聚焦上层业务逻辑,更加便捷、高效地开发应用。


  • 对设备开发者而言,HarmonyOS采用了组件化的设计方案,可以根据设备的资源能力和业务特征进行灵活裁剪,满足不同形态的终端设备对于操作系统的要求。


HarmonyOS代码开发支持多语言,包括Java、XML(Extensible Markup Language)、C/C++ 、 JS(JavaScript)、CSS(Cascading Style Sheets)和HML(HarmonyOS Markup Language)。


视频链接


https://mos-vod-drcn.dbankcdn.cn/P_VT/video_injection/A91343E9D/v3/9AB0A7921049102362779584128/MP4Mix_H.264_1920x1080_6000_HEAAC1_PVC_NoCut.mp4


体验HarmonyOS


HUAWEI DevEco Studio


面向华为终端全场景多设备的一站式分布式应用开发平台,支持分布式多端开发、分布式多端调测、多端模拟仿真和全方位的质量与安全保障。


1. 下载链接


https://developer.harmonyos.com/cn/develop/deveco-studio#download


点击下载链接之后,会进入华为账号注册页面。输入账号注册登录。


微信截图_20220505185935.png


登录之后,会跳到下载页面。选择符合自己的系统,下载解压安装包即可。


微信截图_20220505191640.png


2. 软件配置


微信截图_20220505185952.png


打开软件之后,会显示以下窗口。这里直接点击OK即可。


微信截图_20220505190006.png


勾选并且点击Agree


微信截图_20220505190026.png


点击Next


微信截图_20220505190146.png


选择Accept,并且点击Next


微信截图_20220505190202.png


等待安装SDK


微信截图_20220505190214.png


安装完成后,点击Finish


微信截图_20220505190330.png


3. 创建项目


点击Create HarmonyOS Project


微信截图_20220505190342.png


选择TV,默认会选择Empty Freature Ability(JS)。点击Next


微信截图_20220505190354.png


设置项目参数,自定义项目名、依赖名、项目路径,默认选择SDK:API Version 3即可。设置完成后点击Finish


微信截图_20220505190407.png


打开如下图所示文件目录。有时会出现这种错误。java.io.IOException: Cannot run program “node”: error=2, No such file or directory。你需要将nodejs可执行文件符号链接到node。在Terminal选项卡下输入命令:


sudo ln -s "$(which nodejs)" /usr/local/bin/node


微信截图_20220505190418.png


选择Tools选项卡下的HVD Manager就可以启动模拟器预览项目了。


微信截图_20220505190430.png


点击之后,浏览器会跳到一个授权窗口。点击允许就好了。


微信截图_20220505190447.png


允许之后,会弹出以下窗口。点击TVActions下面的小三角符号,就可以运行了。


微信截图_20220505190503.png


你会在看到以下画面,说明你启动模拟器成功了。


微信截图_20220505190516.png


模拟器窗口嵌套在编辑器里面可能会觉得不太舒服,你可以点击预览窗口右上方的小齿轮。选择View Mode下的Window选项即可。


微信截图_20220505190527.png


下面就单独一个窗口,看着舒服。这里需要说明的是,模拟器是远程链接到别的服务器,所以画质不是很清晰。还有每次启动都有时间限制(60分钟),时间到了需要重新启动项目。


微信截图_20220505190539.png


点击如下图所示的小三角,运行项目。


微信截图_20220505190551.png


点击OK即可。


微信截图_20220505190603.png


出现以下画面,证明模拟器启动成功了。


微信截图_20220505190616.png


4. 开发项目


看到了之前的您好,世界。那我们就实操一番,做一个Demo。我们几个操作都是在index.hmlindex.cssindex.js。这几个文件中操作的。


微信截图_20220505190628.png


首先,我们在index.hml文件中编辑以下代码。


<div class="container">
    <text class="filter" for="{{filter in filters}}" tid="{{$idx}}">
        {{filter}}{{title}}
    </text>
    <div class="todo-item" for="{{todo in todos}}" tid="id">
        <input type="checkbox" />
        <text>{{todo.content}}</text>
    </div>
</div>


然后,在index.js文件中编辑如下。


export default {
    data: {
        title: "demo",
        filters: ["全部", "已完成", "未完成"],
        todos: [{id: 1, content: "待办1"}, {id: 2, content: "待办2"}]
    },
}


大功告成了,我们重新启动下项目,看下模拟器。点击如下图所示Run 'entry'标识的按钮。


微信截图_20220505190642.png


点击Stop and Rerun


微信截图_20220505190652.png


点击OK


微信截图_20220505190708.png


如下图所示,运行成功。


微信截图_20220505190729.png


5. 开发文档


我们看到上面demo的代码可能对于学过微信小程序跟Vue.js等MVVM框架的小伙伴感觉非常熟悉,你可以开发下面的链接继续学习。


https://developer.harmonyos.com/cn/docs/documentation/doc-references/js-apis-overview-0000001056361791


微信截图_20220505190740.png



相关文章
|
2月前
|
JavaScript 前端开发
用html+javascript打造公文一键排版系统12:删除附件说明中“附件:”里的空格
用html+javascript打造公文一键排版系统12:删除附件说明中“附件:”里的空格
|
9天前
|
运维 监控 JavaScript
鸿蒙next版开发:分析JS Crash(进程崩溃)
在HarmonyOS 5.0中,JS Crash指未处理的JavaScript异常导致应用意外退出。本文详细介绍如何分析JS Crash,包括异常捕获、日志分析和典型案例,帮助开发者定位问题、修复错误,提升应用稳定性。通过DevEco Studio收集日志,结合HiChecker工具,有效解决JS Crash问题。
27 4
|
25天前
|
JavaScript 测试技术 API
跟随通义灵码一步步升级vue2(js)项目到vue3版本
Vue 3 相较于 Vue 2 在性能、特性和开发体验上都有显著提升。本文介绍了如何利用通义灵码逐步将 Vue 2 项目升级到 Vue 3,包括备份项目、了解新特性、选择升级方式、升级依赖、迁移组件和全局 API、调整测试代码等步骤,并提供了注意事项和常见问题的解决方案。
|
29天前
|
JavaScript 前端开发 测试技术
JavaScript与TypeScript:为何TypeScript成为大型项目的首选
JavaScript与TypeScript:为何TypeScript成为大型项目的首选
28 1
|
29天前
|
人工智能 JavaScript 网络安全
ToB项目身份认证AD集成(三完):利用ldap.js实现与windows AD对接实现用户搜索、认证、密码修改等功能 - 以及针对中文转义问题的补丁方法
本文详细介绍了如何使用 `ldapjs` 库在 Node.js 中实现与 Windows AD 的交互,包括用户搜索、身份验证、密码修改和重置等功能。通过创建 `LdapService` 类,提供了与 AD 服务器通信的完整解决方案,同时解决了中文字段在 LDAP 操作中被转义的问题。
|
1月前
|
缓存 JSON JavaScript
Node.js模块系统
10月更文挑战第4天
37 2
|
1月前
|
Web App开发 JavaScript API
构建高效后端系统:Node.js与Express框架的实践之路
【9月更文挑战第37天】在数字化时代的浪潮中,后端开发作为技术架构的核心,承载着数据处理和业务逻辑的重要职责。本文将深入探讨如何利用Node.js及其强大的Express框架来搭建一个高效、可扩展的后端系统。我们将从基础概念讲起,逐步引导读者理解并实践如何设计、开发和维护一个高性能的后端服务。通过实际代码示例和清晰的步骤说明,本文旨在为初学者和有经验的开发者提供一个全面的指南,帮助他们在后端开发的旅途上走得更远。
48 3
|
1月前
|
存储 JavaScript 前端开发
Vue.js项目中全面解析定义全局变量的常用方法与技巧
Vue.js项目中全面解析定义全局变量的常用方法与技巧
41 0
|
1月前
|
JavaScript 前端开发
前端js,vue系统使用iframe嵌入第三方系统的父子系统的通信
前端js,vue系统使用iframe嵌入第三方系统的父子系统的通信
|
4天前
|
Android开发
鸿蒙开发:自定义一个简单的标题栏
本身就是一个很简单的标题栏组件,没有什么过多的技术含量,有一点需要注意,当使用沉浸式的时候,注意标题栏的位置,需要避让状态栏。
鸿蒙开发:自定义一个简单的标题栏