鸿蒙OS如何开发一个前端应用详解

目录
  • 鸿蒙的诞生
  • 编写一个HarmonyOS
    • 第一步
    • 第二步
    • 第三步
    • 第四步
  • 总结

鸿蒙的诞生

HarmonyOS是一款面向万物互联时代的、全新的分布式操作系统;它实现了一个非常轻量级的 MVVM 模式。通过使用和 vue2 相似的属性劫持技术实现了响应式系统。鸿蒙 JS 框架支持 ECMAScript 5.1;js runtime 没有使用 V8,也没有使用 jscore。而是选择了 JerryScript。JerryScript 是用于物联网的超轻量 JavaScript 引擎。Jerryscript是由三星开发的一款JavaScript引擎,是为了让JavaScript开发者能够构建物联网应用。物联网设备在CPU性能和内存空间上都有着严重的制约。因此,三星设计了JerryScript引擎,它能够运行在小于64KB内存上,且全部代码能够存储在不足200KB的只读存储(ROM)上。说到这里,我想身为前端的我们是不是该搞点事情,比如给自己的华为手表上写一个APP应用,让他定时叫你敷面膜;或者写一个新闻APP,类似今日头条,数据么,可以造假;

编写一个HarmonyOS

第一步

首先去官网下载DevEco Studio开发工具,下载地址:developer.harmonyos.com/cn/develop/

第二步

新建鸿蒙项目,HarmonyOS提供了两种FA(Feature Ability)的UI开发框架:Java UI框架JS UI框架
我们使用JS UI框架即可;选择好之后进入编码。

创建新项目选择模板,官方提供了好多模板,我们选一个简单地js模板

第三步

开始编码啦,目录结构如下图,我们只需要新建文件夹,然后在创建页面

新建页面的时候,相对应的config.json配置文件会自动更新,无需手动添加

"js": [
  {
    "pages": [
      "pages/index/index",
      "pages/index/details/details"
    ],
    "name": "default",
    "window": {
      "designWidth": 720,
      "autoDesignWidth": true
    }
  }
]

来看看我们的index页面的HTML代码

<div class="container">
    <text class="text">
       Hello Word
    </text>
    <button class="button" type="capsule" value="Next" on:click="launch"></button>
</div>

js代码

import router from '@system.router';
export default {
    data: {
        title: ""
    },
    onInit() {
        this.title = this.$t('strings.world');
    },
    launch() {
        router.push ({
            uri:'pages/index/details/details', // 指定要跳转的页面
            params: {
                title: 'Hi Here',
            }
        })
    }
}

css代码

.container {
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.text{
    font-size: 42px;
}
.button {
    width: 300px;
    height: 60px;
    background-color: #007dff;
    font-size: 40px;
    text-color: white;
}

@media screen and (device-type: tablet) and (orientation: landscape) {
    .title {
        font-size: 100px;
    }
}

@media screen and (device-type: wearable) {
    .title {
        font-size: 28px;
        color: #FFFFFF;
    }
}

@media screen and (device-type: tv) {
    .container {
        background-image: url("../../common/images/Wallpaper.png");
        background-size: cover;
        background-repeat: no-repeat;
        background-position: center;
    }

    .title {
        font-size: 100px;
        color: #FFFFFF;
    }
}

@media screen and (device-type: phone) and (orientation: landscape) {
    .title {
        font-size: 60px;
    }
}

是熟悉的味道,嘿嘿!目前为止,我们已经完成了一个简单地应用了,看看效果吧!

右边是开发工具自带的实时展示效果,仔细的朋友应该发现,我们写了一套代码,适应了多端,
来看看手表上的展示效果

达到这样的效果是因为我们在config.json配置文件中配置了

"deviceType": [
  "phone",
  "tv",
  "wearable",
  "tablet"
],

如果你没有华为设备,不怕,我们有真实的模拟器,按照如下操作,就可以看到真实效果;

第四步

代码撸完了,接下来该打包上线了

发布应用比较麻烦,由于本人例子简单,肯定审核不过的,所以也没有在进一步深入,详情猛戳:
developer.harmonyos.com/cn/docs/doc

至此已经全部结束!

总结

到此这篇关于鸿蒙OS如何开发一个前端应用的文章就介绍到这了,更多相关鸿蒙OS开发前端应用内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 鸿蒙OS运行第一个“hello world”

    一.前言 近些来,华为鸿蒙系统一直是热门话题,就在昨天,备受瞩目的"2020华为开发者大会"上,华为消费者业务发布了一系列智能终端领域的创新成果.华为消费者业务CEO余承东表示,华为将全面开放自身的核心技术和软硬件能力,与开发者们共同驱动全场景智慧生态的蓬勃发展. HarmonyOs 官方文档:https://developer.harmonyos.com/cn/documentation 也可看官方文档自行运行helloWorld,这篇文章主要记录我的安装使用过程. 二.下载 官网

  • 华为鸿蒙OS之HelloWorld的实现

    这两天有一个很火的话题华为鸿蒙OS2.0.现在个人开发者也可以进行鸿蒙OS的应用或者硬件开发.作为一个"啥也不会的程序员",时刻要保持着学习的心态,所以本文将会介绍基于鸿蒙OS的应用开发. 官网:https://www.harmonyos.com/ 入学第一课,HelloWorld 程序员的第一课,HelloWorld,鸿蒙OS也不能例外. 开发工具 鸿蒙OS开发工具:https://developer.harmonyos.com/cn/develop/deveco-studio 注:

  • HarmonyOS 基本控件的实现

    感谢关注HarmonyOS,为了便于大家学习特将鸿蒙2.0基础教学内容整理如下: 1.HarmonyOS应用开发-视频播放 https://developer.huawei.com/consumer/cn/codelab/HarmonyOS-hap1/index.html#0 2.HarmonyOS应用开发-基本控件 https://developer.huawei.com/consumer/cn/codelab/HarmonyOS-hap2/index.html#0 3.HarmonyOS应用

  • 鸿蒙OS如何开发一个前端应用详解

    目录 鸿蒙的诞生 编写一个HarmonyOS 第一步 第二步 第三步 第四步 总结 鸿蒙的诞生 HarmonyOS是一款面向万物互联时代的.全新的分布式操作系统:它实现了一个非常轻量级的 MVVM 模式.通过使用和 vue2 相似的属性劫持技术实现了响应式系统.鸿蒙 JS 框架支持 ECMAScript 5.1:js runtime 没有使用 V8,也没有使用 jscore.而是选择了 JerryScript.JerryScript 是用于物联网的超轻量 JavaScript 引擎.Jerrys

  • vue前端开发辅助函数状态管理详解示例

    目录 mapState mapGetters mapMutations mapActions 示例 小结 mapState 当一个组件需要获取多个状态时候,将这些状态都声明为计算属性会有些重复和冗余.为了解决这个问题,我们可以使用 mapState 辅助函数帮助我们生成计算属性.不使用mapState时,获取对象状态,通常放在使用组件的computes属性中,使用方式为: //.... computed: { count: function(){ return this.$store.state

  • 低门槛开发iOS、Android、小程序应用的前端框架详解

    现如今跨平台开发技术已不是什么新鲜话题了,在市面上也有一些开源的框架可供选择,然而技术成熟.产品服务健全的平台并不多,其中也不乏推陈出新的框架值得关注. 比如最近使用的AVM,由APICloud迭代推出的多端开发框架,基于JavaScript,兼容多语法,如果是Vue.React的用户,可直接上手,没什么学习成本,具备虚拟DOM,可一次编写多端渲染:主要是APICloud上线已有7年,相对已经成熟,所以我把自己的一些认知和实践结合AVM官方文档的内容做了一下整理,希望能对需要使用跨平台开发技术的

  • 使用git迁移Laravel项目至新开发环境的步骤详解

    对于如何创建一个Laravel项目,相信对新接触Laravel的朋友并不存在太多的问题,但是今天我们要来看一下如何将已有的Laravel项目迁移(复制)到新的开发环境. 我们需要用到的工具是git,如果你不知道git是什么,这里有一个传送门,看完之后再回来: http://github.com 简单说来,git就是Github开发的VCS(Version Control System),即版本控制系统.如果你使用过SVN,那么你应该很清楚版本控制是什么. 本文的示例环境是Ubuntu 16.04

  • 用vscode开发python的步骤详解

    一个老程序员,各种开发语言和技术都有涉及.每种语言都有相对应的IDE,提供比较完善的功能.vscode出来以后,总想能用1个工具,就不想安装N个了.IDE好不好用,很多是使用习惯的问题.作为出过"宇宙最强IDE"的微软,vscode自然也不差.目前net,vue前端,java后端spring项目都在用vscode,vscode作为一个代码编辑器,重在写代码,其他的编译调试,都是插件提供的功能.自然python也想用.既然vscode免费,为啥还非得用破解的IDE.最主要的原因.vsco

  • Java SSM整合开发统一结果封装详解

    目录 表现层与前端数据传输协议定义 表现层与前端数据传输协议实现 结果封装 表现层与前端数据传输协议定义 SSM整合以及功能模块开发完成后,接下来,我们在上述案例的基础上分析下有哪些问题需要我们去解决下.首先第一个问题是: 在Controller层增删改返回给前端的是boolean类型数据 在Controller层查询单个返回给前端的是对象 在Controller层查询所有返回给前端的是集合对象 目前我们就已经有三种数据类型返回给前端,如果随着业务的增长,我们需要返回的数据类型会越来越多.对于前

  • Vue qiankun微前端实现详解

    目录 引言 What:微前端是什么 Why:为什么选择微前端 微前端能做到什么 为什么不使用iFrame How:微前端实践 在主应用中注册微应用 在子应用导出相应的生命周期钩子 结尾 引言 前端时间有个契机,让我们团队开始进行微前端的相关实践. 最近正好有些成果了,来一个阶段性的总结,也方便后续进一步的开发. 可能第一次听说微前端的同学都会不明觉厉,那么ta到底是个啥?本章会从以下3个角度阐述我的理解: What:微前端是什么 Why:为什么选择微前端 How:微前端实践 What:微前端是什

  • Android车载多媒体开发MediaSession框架示例详解

    目录 一.多媒体应用架构 1.1 音视频传统应用架构 1.2 MediaSession 框架 媒体会话 媒体控制器 二.MediaSession 2.1 概述 2.2 MediaBrowser 2.2.1 MediaBrowser.ConnectionCallback 2.2.2 MediaBrowser.ItemCallback 2.2.3 MediaBrowser.MediaItem 2.2.4 MediaBrowser.SubscriptionCallback 2.3 MediaContr

  • SpringBoot开发存储服务器实现过程详解

    目录 正文 基础环境 创建项目 添加Rest API接口功能(提供上传服务) 启动服务,测试API接口可用性 增加下载文件支持 文件大小设置 打包文件部署 正文 今天我们尝试Spring Boot整合Angular,并决定建立一个非常简单的Spring Boot微服务,使用Angular作为前端渲编程语言进行前端页面渲染. 基础环境 技术 版本 Java 1.8+ SpringBoot 1.5.x 创建项目 初始化项目 mvn archetype:generate -DgroupId=com.e

随机推荐