初识基于鸿蒙系统(HarmonyOS)的App开发

这篇具有很好参考价值的文章主要介绍了初识基于鸿蒙系统(HarmonyOS)的App开发。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

网传鸿蒙系统的下一个版本不再支持安卓,这几天看了一遍基于鸿蒙系统的App开发,现在二刷,顺便总结一下写一些心得或笔记吧。

先说IDE,IDE支持主流的Windows、Mac,包括M系列芯片的Mac,使用M芯片Mac的小伙伴看见有专门支持的软件,心里还是比较开心的,至少我是,嘿嘿。IDE没有复杂的配置,包括安装node.js、Ohpm(鸿蒙系统包管理命令行工具,类似npm)、SDK、模拟器,基本是可视化操作,有引导,点击下一步就可。

关于UI框架,HarmonyOS提供了一套UI开发框架,叫方舟开发框架(ArkUI框架),这个框架针对不同技术背景的开发者提供了两种开发范式,分别是基于ArkTS的声明式开发范式和兼容JS的类Web开发范式。ArkTS是扩展了TypeScript语言,还好不是一个新语言,真学不动了,发现里面融合很多前端框架的模型,什么react、flutter、swiftUI、compose,还有一些接口来自css,你会发现四不像又都像,这也好,降低了开发难度,希望最后归于统一,前端要学的太多了,学不过来了。

关于应用模型,随着HarmonyOS系统发展,先后提供了两种应用模型,早期的FA(Feature Ability)模型,和现在的Stage模型,前者是HarmonyOS API 7开始支持的模型,已经不再主推。后者是API 9开始支持的,目前主推且会长期演进的模型,所以我暂时只看了后者,前者大家去官网了解一下。但是我发现最新的IDE选择Stage模型的时候,只支持ArkTS语言,所以上面提到的兼容JS的类Web开发范式应该也是一个过渡的产品,最终会被淘汰。OK,作为一个刚刚接触鸿蒙开发的人员,主要是学习一下Stage模型和基于ArkTS的开发即可。

OK,下面我们来建立一个Hello World吧

安装IDE

鸿蒙app开发,基于鸿蒙系统的App开发,harmonyos,华为,鸿蒙,鸿蒙系统

官网直接下载哈,提供了三个版本,windows没试过,mac直接安装即可。

新建项目

鸿蒙app开发,基于鸿蒙系统的App开发,harmonyos,华为,鸿蒙,鸿蒙系统

第一次打开IDE,会引导你安装Node.js、Ohpm,还有所需的SDK,它会自动检测是否已经安装,如果没有检测到,就选择Install即可,然后下一步。 

鸿蒙app开发,基于鸿蒙系统的App开发,harmonyos,华为,鸿蒙,鸿蒙系统

安装完成,或者下一次启动就直接到这个页面了,我们选择crate project来创建一个项目。

 

鸿蒙app开发,基于鸿蒙系统的App开发,harmonyos,华为,鸿蒙,鸿蒙系统

我们选择Application,右侧很多模板,选择Empty Ability,点击Next。

 

鸿蒙app开发,基于鸿蒙系统的App开发,harmonyos,华为,鸿蒙,鸿蒙系统

这里是一些常规的项目信息填写,特别指出的是Model(应用模型)如果选择FA,language可以选择JS,否则只有一个ArkTS选项,而官方推荐时Model是Stage,所以只能选择Stage和ArkTS了。 有一个选项是“Enable Super Visual”, 选中的时候,会多生成一个布局文件,可以像安卓和iOS那个布局文件一样,可以拖拖拉拉的,有兴趣可以试试。我选择了默认没有勾选。

 

工程目录

鸿蒙app开发,基于鸿蒙系统的App开发,harmonyos,华为,鸿蒙,鸿蒙系统

这是项目创建后的工程结构,先看一下左边的目录结构:

1、AppScope

看名字是配置App的,包括了一个app.json5文件,在app.json5里使用的字符串和图片分别在引用了string.json配置和media目录下的图片。

app.json5配置:

{
  "app": {
    "bundleName": "com.example.myapplication",//包名
    "vendor": "example",//厂商
    "versionCode": 1000000,//版本号,数字形式
    "versionName": "1.0.0",//版本号,字符串形式
    "icon": "$media:app_icon",//应用图标,设置里,非桌面,应用管理那个地方
    "label": "$string:app_name",//应用名称,设置里,非桌面,应用管理那个地方
  }
}

鸿蒙这里区分了“应用图标和标签”和“入口图标和标签”,不是一个地方,前者说的是设置里,应用管理下那个应用名称和图标;后者在桌面,点击即可进入应用那个地方,那个可以配置多个的,在下面的entry目录下配置。

2、entry

这里HarmonyOS工程模块,编译构建生成一个HAP包。里面主要包括:

  • src > main > ets:用于存放ArkTS源码;
  • src > main > ets > entryability:应用/服务的入口,这个可以配置多个的,会在桌面显示多个图标和标签;
  • src > main > ets > pages:应用/服务包含的页面;
  • src > main > resources:用于存放页面所用到的资源文件,如图形、多媒体、字符串、布局文件等,其中media和string.json在AppScope里也有,注意一下。

还有一个module.json5:Stage模型模块配置文件,配置项很多,目前发现点击桌面图标的入口文件EntryAbility和权限(比如网络权限)是在这里配置的。

3、还有一些配置用到再说吧,先保持默认;

预览页面

鸿蒙app开发,基于鸿蒙系统的App开发,harmonyos,华为,鸿蒙,鸿蒙系统

在打开某个页面文件的时候(pages/Index.ets),点击右侧的Preview即可预览这个页面显示效果。尝试修改一下字符串的值,保存的时候,会自动更新预览。

如果正在编辑另一个页面,点击上面的刷新图标即可切换预览当前编辑的页面。

 

使用模拟器

鸿蒙app开发,基于鸿蒙系统的App开发,harmonyos,华为,鸿蒙,鸿蒙系统

点击Device Manager来启动一个模拟器,第一次安装是没有的,需要安装一下模拟器,然后再给模拟器安装一个系统,按照提示来就好了。

鸿蒙app开发,基于鸿蒙系统的App开发,harmonyos,华为,鸿蒙,鸿蒙系统

点击安装一个模拟器

鸿蒙app开发,基于鸿蒙系统的App开发,harmonyos,华为,鸿蒙,鸿蒙系统

点击下载图标安装模拟器的系统 

鸿蒙app开发,基于鸿蒙系统的App开发,harmonyos,华为,鸿蒙,鸿蒙系统

然后点击绿色的播放按钮启动模拟器。

鸿蒙app开发,基于鸿蒙系统的App开发,harmonyos,华为,鸿蒙,鸿蒙系统

然后选择你的模拟器来debug你的程序了,模拟器还是蛮丝滑的,可以媲美iOS的模拟器,所以开发是不是不需要真机也可以了。

鸿蒙app开发,基于鸿蒙系统的App开发,harmonyos,华为,鸿蒙,鸿蒙系统

但是模拟器在更改了代码后不能实时更新,preview模式无法调试入口文件(EntryAbility),只能调试页面和组件,所以还是需要结合起来一起使用为好。

代码分析

我们来看一下系统自动给我们生成的页面Index.ets文件:

鸿蒙app开发,基于鸿蒙系统的App开发,harmonyos,华为,鸿蒙,鸿蒙系统

是不是有熟悉的感觉,好吧,按照感觉来吧,有一个文字了,再来一个Button好么,上面有文字“next”,有点击事件,

// 先声明一个按钮的title
@State title: string = 'Next'
// 再初始化一个按钮,然后title放上去,然后调属性click,OK自动弹出来一个onClick事件,
// 事件干嘛呢,改变一下message的值吧
// 看Row和column组件有宽和高,再设置一个宽高吧
// 于是乎:
Button(this.title)
          .onClick(()=>{
            this.message = "Hello Harmony"
          })
          .width(100)
          .height(40)

OK,点击一下按钮,结果上面那个文字变了,好神奇!

鸿蒙app开发,基于鸿蒙系统的App开发,harmonyos,华为,鸿蒙,鸿蒙系统

OK,到这里吧,这也算不上代码分析,明天继续来分析吧。

也是刚学习,理解不对或者有问题的地方还请大家指正,一起提高。文章来源地址https://www.toymoban.com/news/detail-804901.html

到了这里,关于初识基于鸿蒙系统(HarmonyOS)的App开发的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 鸿蒙HarmonyOS开发环境初识及搭建

    一 鸿蒙简介 HarmonyOS是一款面向万物互联时代的、全新的分布式操作系统。在传统的单设备系统能力基础上,HarmonyOS提出了基于同一套系统能力、适配多种终端形态的分布式理念,能够支持手机、平板、智能穿戴、智慧屏、车机等多种终端设备,提供全场景(移动办公、运动

    2024年02月09日
    浏览(30)
  • 初识鸿蒙HarmonyOS系统

    鸿蒙HarmonyOS的诞生背景 鸿蒙HarmonyOS的起源:           鸿蒙HarmonyOS是中华为面对全球科技发展趋势和自身战略需求,在2019年推出的全新一代面向全场景的分布式操作系统。它的诞生旨在应对物联网时代下各种智能设备互联互通的需求,以及构建自主可控的生态系统,特别是

    2024年04月13日
    浏览(30)
  • 基于HarmonyOS的华为智能手表APP开发实战——Fitness_华为手表app开发

    、 文章浏览阅读8.7k次,点赞6次,收藏43次。本文针对华为HarmonyOS智能穿戴产品(即HUAWEI WATCH 3)开发了一款运动健康类的游戏化APP——Fitness,旨在通过游戏化的方式,提升用户运动动机。_华为手表app开发 **开发环境:**客户端UI是基于HarmonyOS进行开发的,所以IDE使用的是华为

    2024年02月01日
    浏览(38)
  • 17.鸿蒙HarmonyOS App(JAVA)滑动选择器

    每天进步一点点 ,成功在久不在速      //设置文本样式 picker.setNormalTextFont(Font.DEFAULT_BOLD); picker.setNormalTextSize(40); picker.setNormalTextColor(new Color(Color.getIntColor(\\\"#FFA500\\\"))); picker.setSelectedTextFont(Font.DEFAULT_BOLD); picker.setSelectedTextSize(40); picker.setSelectedTextColor(new Color(Color.getIntColor(\\\"#00FFFF

    2024年01月20日
    浏览(32)
  • 基于HarmonyOS的华为智能手表APP开发实战——Fitness

    本文针对华为HarmonyOS智能穿戴产品(即 HUAWEI WATCH 3) 开发了一款运动健康类的游戏化APP——Fitness,旨在通过游戏化的方式,提升用户运动动机。 开发环境: 客户端UI是基于HarmonyOS进行开发的,所以IDE使用的是华为的DevEco-Studio。 语言: 采用的编程语言是JavaScript,基于JS扩展

    2024年02月08日
    浏览(36)
  • 18.鸿蒙HarmonyOS App(JAVA)日期选择器-时间选择器

    18.鸿蒙HarmonyOS App(JAVA)日期选择器-时间选择器 点击button按钮触发事件显示月份与获取的时间 DatePicker的共有XML属性继承自:StackLayout DatePicker的自有XML属性见下表: 属性名称 中文描述 取值 取值说明 使用案例 date_order 显示格式,年月日 day-month-year 表示日期以日-月-年的格式显

    2024年01月23日
    浏览(39)
  • 15.鸿蒙HarmonyOS App(JAVA)进度条与圆形进度条

    15.鸿蒙HarmonyOS App(JAVA)进度条与圆形进度条 MainAbilitySlice.java

    2024年01月17日
    浏览(35)
  • 16.鸿蒙HarmonyOS App(JAVA)滑块组件Slider与评级组件Rating

      16.鸿蒙HarmonyOS App(JAVA)滑块组件Slider与评级组件Rating  ability_main.xml     MainAbilitySlice.java  

    2024年01月19日
    浏览(31)
  • HarmonyOS开发案例:【购物APP】

    本篇Codelab使用常用组件、页面路由router实现购物应用,包含以下功能: 使用toolbar、toolbar-item组件实现“首页”,“新品”,“购物车”,“我的”页面切换。 使用list组件,展示购物车里的商品。 使用swiper组件,实现图片自动轮播。 使用panel组件,展示商品规格。 使用自定

    2024年04月29日
    浏览(24)
  • HarmonyOS鸿蒙基于Java开发: 相机开发

    目录 相机开发流程 接口说明 相机权限申请 相机设备创建 相机设备配置 相机帧捕获 相机设备释放 相机模块主要工作是给相机应用开发者提

    2024年01月20日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包