【鸿蒙(HarmonyOS)】UI开发的两种范式:ArkTS、JS(以登录界面开发为例进行对比)

本文介绍了HarmonyOS3.1/4.0SDK和Node.jsv14.20.1的开发环境,重点讲解了ArkUI的基本概念、开发范式(包括基于TypeScript的ArkTS和兼容JS的类Web范式),并提供了代码示例。
摘要由CSDN通过智能技术生成

一、引言

1、开发环境

之后关于HarmonyOS技术的分享,将会持续使用到以下版本

  • HarmonyOS:3.1/4.0
  • SDK:API 9 Release
  • Node.js:v14.20.1
  • DevEco Studio: 3.1.0

2、整体架构图

在这里插入图片描述

二、认识ArkUI

HarmonyOS应用的UI开发依赖于方舟开发框架(简称ArkUI)
根据官方介绍,ArkUI提供了UI语法、丰富的UI功能(组件、布局、动画以及交互事件),以及实时界面预览工具等,可以支持开发者进行可视化界面开发。

1、基本概念

(官方已经给出了非常详细的介绍,我这里就照搬,主要为后面的实操进行铺垫)

  • UI:即用户界面。开发者可以将应用的用户界面设计为多个功能页面,每个页面进行单独的文件管理,并通过页面路由API完成页面间的调度管理如跳转、回退等操作,以实现应用内的功能解耦。
  • 组件:UI构建与显示的最小单位,如列表、网格、按钮、单选框、进度条、文本等。开发者通过多种组件的组合,构建出满足自身应用诉求的完整界面。

2、开发范式(附:案例)

ArkUI为开发者提供了两种范式:基于TypeScript声明式范式(ArkTS)、兼容JS的类Web开发范式(JS)

在这里插入图片描述

(1)ArkTS

ArkTS我也仅仅学习了四个月,相比较我在使用JS开发UI界面上而言,有所偏弱。
对比较于Android:ArkUI将界面设计和具体操作放到的一个文件中(当然ArkUI有组件自定义,这个就另当别论),这个方式比较新颖。在内存的占用上会相对减低很多,性能和维护上也相对提升很多。

在这里插入图片描述

(2)JS

HTML、CSS、JS这一套技术,相信很多IT人都已经非常熟悉,这也是我能快速入手HarmonyOS的重要因素。个人也是比较推荐使用这套技术进行简单应用,如果要使用到手机硬件功能的话,推荐使用ArkTS。ArkTS在操作编写上比JS要方便很多。

在这里插入图片描述

三、附件

  • ArkTS代码
@Entry
@Component
struct Index {

  @State textName: string = "账号/电话号码"
  @State textPass: string = "密码"
  @State btnLogin: string = "登录"

  build() {
    Row() {
      Column() {
        // person
        Image($r('app.media.person')).width(100).height(100).margin({top:50, bottom:50})
        // data
        TextArea({ placeholder : this.textName}).margin(15)
        TextArea({ placeholder : this.textPass}).margin(15)
        // btn
        Button(this.btnLogin, { type: ButtonType.Normal, stateEffect: true })
          .borderRadius(18)
          .backgroundColor(0x317aff)
          .width(90)
          .height(40)
          .margin({top:50})
      }
    }
  }
}
  • JS代码

index.hml

<div class="container">
    <!--  title  -->
    <div class="login-title">
        <image class="person" src="../../common/person.png"></image>
    </div>
    <!--  data  -->
    <div class="input-data">
        <input type="text" required="" id="userName" placeholder="账号\电话号码"/>
    </div>
    <div class="input-data">
        <input type="text" required="" id="userPass" placeholder="密码"/>
    </div>
    <!--  btn  -->
    <div class="login-btn">
        <button>{{ $t('strings.btn_dl') }}</button>
    </div>
</div>
  • index.css
.container {
    display: flex;
    flex-direction: column;
    align-items: center;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    background: linear-gradient(-135deg, #50c8c2, #4158d0);
}

.person {
    text-align: center;
    background: linear-gradient(-135deg, #ff2481ef, #ffe03092);
    width: 230px;
    height: 230px;
    margin: 100px;
    border-radius: 230px;
}

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

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

.input-data{
    padding: 40px;
}

.login-btn button{
    margin-top: 80px;
    padding: 30px;
}

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
HarmonyOS多端开发是指开发人员可以使用同一套代码来构建适用于多种终端设备的应用程序。HarmonyOS是一个面向全场景的操作系统,可以应用于智能手机、平板电脑、智能手表、智能电视、智能汽车等多种设备。通过使用HarmonyOS多端开发开发人员可以简化应用开发的流程,提高开发效率。 首先,HarmonyOS提供了统一的开发框架和工具链,使得开发人员只需要学习一种开发语言和一套开发工具,就能够开发适用于各种终端设备的应用程序。开发人员可以使用Java、C、C++等多种编程语言进行开发,同时可以使用HarmonyOS提供的开发工具进行应用程序的编译、调试和打包。 其次,HarmonyOS提供了统一的应用程序接口(API),使得开发人员可以使用同一套API来访问设备的各种功能和服务。无论是在智能手机上还是在智能电视上,开发人员都可以使用相同的API来实现应用程序的各种功能,从而减少了开发人员的工作量和学习成本。 再次,HarmonyOS提供了统一的UI框架,使得应用程序的界面在不同设备上能够自动适配和优化。开发人员只需要按照统一的设计规范和布局方式进行界面的开发,HarmonyOS会根据设备的屏幕大小和分辨率进行自动适配和优化,从而保证应用程序在不同设备上的用户体验一致性。 总之,HarmonyOS多端开发开发人员提供了一套统一的开发框架和工具链,使得开发人员可以更加方便地开发适用于多种终端设备的应用程序。这不仅减少了开发人员的工作量和学习成本,同时也提高了应用程序的适配性和用户体验。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

云端new守夜人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值