赞
踩
本文介绍如何搭建 HarmonyOS 应用的开发环境,介绍下载安装 DevEco Studio 开发工具和 SDK 的详细流程。华为鸿蒙 DevEco Studio 是面向全场景的一站式集成开发环境,面向全场景多设备,提供一站式的分布式应用开发平台,支持分布式多端开发、分布式多端调测、多端模拟仿真,提供全方位的质量与安全保障。
官网:HUAWEI DevEco Studio和SDK下载和升级 | HarmonyOS开发者
下载 DevEco Studio 3.1.1 Release 最新版本。
下载完成后我们解压压缩包,点击启动exe安装程序。
启动安装exe程序,进入安装界面欢迎页。
我们点击Next下一步。
选择安装路径,这里根据大家自己的喜好选择路径安装即可,需要2GB的存储空间。
下一步,我们勾选 “生成快捷方式” 和 “添加到path环境变量” 。
这里默认文件夹名,点击安装。
完成安装,需要对电脑重启。
首次运行 DevEco Studio 会来到这个页面。
HarmonyOS应用开发需要我们的电脑上安装 Node.js 和 ohpm (鸿蒙生态三方库的包管理工具)
这里华为官方提供了镜像,如果本机上之前没有装过,直接勾选 install 然后下一步即可。
基础组件安装后,我们需要安装HarmonyOS的SDK。HarmonyOS SDK提供应用及服务开发所需的一系列系统开放能力,包括框架、Ability、分布式服务、安全、方舟编译器、HMS Core、基础软件服务、硬件服务等。
这里选择安装路径即可,我直接默认路径,点击下一步。
这个页面展示了所有需要安装的包,点击下一步安装。
几分钟后安装完成。
我们选择 Empty Ability 模板新建一个测试项目。
Empty Ability 模板是一个空白模板,它支持手机、平板、手表等多种鸿蒙终端运行。
勾选Stage模式。Satge模式已经是 API 9 之后的默认勾选模式。
这里科普一下FA模型和Stage模型的区别:
API 8及以前的接口基于FA模型提供;从API 9开始,OpenHarmony主推Stage模型。 FA模型与Stage模型是两套不同的应用模型,他们拥有各自的组件。
开启Super Visual低代码模式,这可以帮助我们快速建立起一个应用。
低代码开发是DevEco Studio为HarmonyOS开发者提供的可视化页面的开发方式,具备丰富的UI页面编辑能力,开发者可以在图形化的用户界面上自由拖拽组件、完成数据的参数化配置,还能实时预览开发页面的效果,所见即所得。
低代码开发效果示例:
低代码开发为我们开发者提供了UI界面开箱即用的组件,通过简单拖、拉、拽和可视化数据绑定的操作方式,快速开发用户界面。不仅可以减少键入的代码量,降低开发成本,还提升了页面开发效率,助力高效开发。
这里我通过低代码组件随便做了一个登录页。我们低代码组件的改动体现在index.visual上。
index.visual代码我提供出来给大家参考:
- {
- "document": {
- "VisualVersion": "12",
- "type": "ETS",
- "custom": false,
- "path": "/entry/src/main/supervisual/pages/Index"
- },
- "visualModel": {
- "dataType": "VisualModel",
- "value": {
- "propertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "dynamicPropertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "mediaPropertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "dynamicMediaPropertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "property": {
- "dataType": "Map",
- "value": {
- "width": "100%",
- "height": "100%"
- }
- },
- "dynamicProperty": {
- "dataType": "Map",
- "value": {}
- },
- "children": [
- {
- "dataType": "VisualModel",
- "value": {
- "propertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "dynamicPropertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "mediaPropertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "dynamicMediaPropertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "property": {
- "dataType": "Map",
- "value": {
- "width": "100%",
- "height": "100%",
- "justify-content-rc": "center",
- "position": "absolute",
- "top": "0vp",
- "left": "0vp",
- "border-bottom-color": "#4a4a4a",
- "border-bottom-width": "1vp"
- }
- },
- "dynamicProperty": {
- "dataType": "Map",
- "value": {}
- },
- "children": [
- {
- "dataType": "VisualModel",
- "value": {
- "propertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "dynamicPropertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "mediaPropertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "dynamicMediaPropertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "property": {
- "dataType": "Map",
- "value": {
- "position": "absolute",
- "top": "95vp",
- "width": "100%",
- "height": "100vp",
- "display-priority": "0",
- "align-items-row": "center",
- "justify-content-rc": "center"
- }
- },
- "dynamicProperty": {
- "dataType": "Map",
- "value": {}
- },
- "children": [
- {
- "dataType": "VisualModel",
- "value": {
- "propertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "dynamicPropertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "mediaPropertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "dynamicMediaPropertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "property": {
- "dataType": "Map",
- "value": {
- "width": "100vp",
- "height": "100vp",
- "align": "center",
- "top": "0vp",
- "background-image-size": "auto",
- "position": "relative",
- "src": "$r('app.media.icon')",
- "left": "0%"
- }
- },
- "dynamicProperty": {
- "dataType": "Map",
- "value": {}
- },
- "children": [],
- "id": "image1",
- "type": "image"
- }
- }
- ],
- "id": "row3",
- "type": "row"
- }
- },
- {
- "dataType": "VisualModel",
- "value": {
- "propertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "dynamicPropertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "mediaPropertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "dynamicMediaPropertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "property": {
- "dataType": "Map",
- "value": {
- "height": "50vp",
- "width": "100%",
- "left": "0vp",
- "top": "200vp",
- "border-top-right-radius": "0vp",
- "content": "登录界面",
- "font-size": "26fp",
- "font-weight": "medium",
- "font-family": "sans-serif",
- "text-align": "center",
- "text-overflow": "clip",
- "position": "absolute"
- }
- },
- "dynamicProperty": {
- "dataType": "Map",
- "value": {}
- },
- "children": [],
- "id": "text1",
- "type": "text"
- }
- },
- {
- "dataType": "VisualModel",
- "value": {
- "propertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "dynamicPropertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "mediaPropertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "dynamicMediaPropertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "property": {
- "dataType": "Map",
- "value": {
- "height": "30vp",
- "width": "100%",
- "left": "0vp",
- "top": "250vp",
- "content": "登录帐号以使用更多服务",
- "font-size": "14fp",
- "text-align": "center",
- "font-color": "#8c8c8c",
- "position": "absolute"
- }
- },
- "dynamicProperty": {
- "dataType": "Map",
- "value": {}
- },
- "children": [],
- "id": "text2",
- "type": "text"
- }
- },
- {
- "dataType": "VisualModel",
- "value": {
- "propertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "dynamicPropertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "mediaPropertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "dynamicMediaPropertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "property": {
- "dataType": "Map",
- "value": {
- "height": "50vp",
- "width": "100%",
- "left": "0vp",
- "top": "328vp",
- "position": "absolute",
- "placeholder": "邮箱/手机号/用户名",
- "margin-bottom": "0vp",
- "padding-top": "0vp",
- "border-bottom-width": "1vp",
- "border-bottom-color": "#4a4a4a",
- "background-color": "#ffffff"
- }
- },
- "dynamicProperty": {
- "dataType": "Map",
- "value": {}
- },
- "children": [],
- "id": "text-input1",
- "type": "text-input"
- }
- },
- {
- "dataType": "VisualModel",
- "value": {
- "propertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "dynamicPropertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "mediaPropertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "dynamicMediaPropertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "property": {
- "dataType": "Map",
- "value": {
- "height": "50vp",
- "width": "100%",
- "left": "0vp",
- "top": "380vp",
- "position": "absolute",
- "placeholder": "密码",
- "textInput-type": "Password",
- "background-color": "#ffffff",
- "border-bottom-width": "1vp",
- "border-bottom-color": "#4a4a4a"
- }
- },
- "dynamicProperty": {
- "dataType": "Map",
- "value": {}
- },
- "children": [],
- "id": "text-input2",
- "type": "text-input"
- }
- },
- {
- "dataType": "VisualModel",
- "value": {
- "propertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "dynamicPropertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "mediaPropertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "dynamicMediaPropertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "property": {
- "dataType": "Map",
- "value": {
- "position": "absolute",
- "top": "430vp",
- "left": "5%",
- "width": "90%",
- "height": "30vp"
- }
- },
- "dynamicProperty": {
- "dataType": "Map",
- "value": {}
- },
- "children": [
- {
- "dataType": "VisualModel",
- "value": {
- "propertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "dynamicPropertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "mediaPropertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "dynamicMediaPropertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "property": {
- "dataType": "Map",
- "value": {
- "height": "30vp",
- "width": "50%",
- "position": "absolute",
- "top": "0px",
- "left": "50%",
- "text-align": "end",
- "content": "忘记密码",
- "font-size": "14fp"
- }
- },
- "dynamicProperty": {
- "dataType": "Map",
- "value": {}
- },
- "children": [],
- "id": "text3",
- "type": "text"
- }
- },
- {
- "dataType": "VisualModel",
- "value": {
- "propertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "dynamicPropertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "mediaPropertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "dynamicMediaPropertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "property": {
- "dataType": "Map",
- "value": {
- "height": "30vp",
- "width": "50%",
- "text-align": "start",
- "position": "absolute",
- "content": "短信验证码登录",
- "font-size": "14fp",
- "top": "0vp",
- "left": "0%"
- }
- },
- "dynamicProperty": {
- "dataType": "Map",
- "value": {}
- },
- "children": [],
- "id": "text4",
- "type": "text"
- }
- }
- ],
- "id": "row1",
- "type": "row"
- }
- },
- {
- "dataType": "VisualModel",
- "value": {
- "propertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "dynamicPropertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "mediaPropertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "dynamicMediaPropertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "property": {
- "dataType": "Map",
- "value": {
- "position": "absolute",
- "top": "92%",
- "left": "5%",
- "height": "8%",
- "width": "90%"
- }
- },
- "dynamicProperty": {
- "dataType": "Map",
- "value": {}
- },
- "children": [
- {
- "dataType": "VisualModel",
- "value": {
- "propertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "dynamicPropertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "mediaPropertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "dynamicMediaPropertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "property": {
- "dataType": "Map",
- "value": {
- "height": "100%",
- "width": "33.3%",
- "position": "absolute"
- }
- },
- "dynamicProperty": {
- "dataType": "Map",
- "value": {}
- },
- "children": [],
- "id": "text7",
- "type": "text"
- }
- },
- {
- "dataType": "VisualModel",
- "value": {
- "propertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "dynamicPropertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "mediaPropertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "dynamicMediaPropertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "property": {
- "dataType": "Map",
- "value": {
- "height": "100%",
- "width": "33.4%",
- "position": "absolute"
- }
- },
- "dynamicProperty": {
- "dataType": "Map",
- "value": {}
- },
- "children": [],
- "id": "text9",
- "type": "text"
- }
- },
- {
- "dataType": "VisualModel",
- "value": {
- "propertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "dynamicPropertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "mediaPropertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "dynamicMediaPropertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "property": {
- "dataType": "Map",
- "value": {
- "height": "100%",
- "width": "33.3%",
- "text-align": "end",
- "position": "absolute"
- }
- },
- "dynamicProperty": {
- "dataType": "Map",
- "value": {}
- },
- "children": [],
- "id": "text8",
- "type": "text"
- }
- }
- ],
- "id": "row2",
- "type": "row"
- }
- },
- {
- "dataType": "VisualModel",
- "value": {
- "propertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "dynamicPropertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "mediaPropertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "dynamicMediaPropertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "property": {
- "dataType": "Map",
- "value": {
- "width": "90%",
- "height": "40vp",
- "label": "登录",
- "font-size": "20fp",
- "position": "absolute",
- "top": "530vp",
- "left": "5%"
- }
- },
- "dynamicProperty": {
- "dataType": "Map",
- "value": {}
- },
- "children": [],
- "id": "button1",
- "type": "button"
- }
- },
- {
- "dataType": "VisualModel",
- "value": {
- "propertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "dynamicPropertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "mediaPropertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "dynamicMediaPropertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "property": {
- "dataType": "Map",
- "value": {
- "height": "30vp",
- "width": "100%",
- "content": "注册账号",
- "text-align": "center",
- "font-size": "14fp",
- "position": "absolute",
- "top": "570vp",
- "left": "0vp"
- }
- },
- "dynamicProperty": {
- "dataType": "Map",
- "value": {}
- },
- "children": [],
- "id": "text5",
- "type": "text"
- }
- },
- {
- "dataType": "VisualModel",
- "value": {
- "propertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "dynamicPropertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "mediaPropertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "dynamicMediaPropertyStorage": {
- "dataType": "Map",
- "value": {}
- },
- "property": {
- "dataType": "Map",
- "value": {
- "height": "4%",
- "width": "100%",
- "text-align": "center",
- "font-size": "14fp",
- "position": "absolute",
- "top": "88%",
- "left": "0vp",
- "content": "其他方式登录",
- "align": "center"
- }
- },
- "dynamicProperty": {
- "dataType": "Map",
- "value": {}
- },
- "children": [],
- "id": "text6",
- "type": "text"
- }
- }
- ],
- "id": "column1",
- "type": "column"
- }
- }
- ],
- "id": "wrapper",
- "type": "column"
- }
- },
- "formData": {
- "data": {
- "dataType": "Map",
- "value": {}
- },
- "actions": {
- "dataType": "Map",
- "value": {}
- }
- },
- "customData": {
- "property": {
- "dataType": "Map",
- "value": {}
- },
- "event": {
- "dataType": "Map",
- "value": {}
- }
- }
- }
我们点击运行按钮,会让我们选择运行设备,这里的设备都是模拟器,需要安装,我们先进入设备管理器安装设备。
以上是纯前端,业务逻辑写在在index.ets文件中,这里我们只是测试开发环境可以运行简单应用,所以业务逻辑我们就不写了,具体的应用实战我会在后面的章节给出。
这个模板支持手机、电视、手表三种终端模拟,我们先安装emulator(仿真器)。
安装好之后,我们再点击每一个硬件设备单独安装。这里我选择的手机。
我选择的API9版本。
要安装个几分钟。
安装完成。
点击我们刚刚新建的设备,启动它。
仿真终端被立刻启动。
完全启动大概需要个一分钟,开机后如下:
我们运行项目。
我们制作的应用会在仿真设备里打开。
测试我们登录界面是否可以正常输入和点击。
测试没有问题,标志着我们新建的HarmonyOS应用运行成功。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。