初识基于鸿蒙系统(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

    来源:华为官方网站 : https://developer.huawei.com/ 相信大家对鸿蒙应用开发也不在陌生,很多身处互联网行业或者不了解的人们现在也一定都听说过华为鸿蒙.这里我将不再说废话,直接步入正题 HarmonyOS应用开发采用的是ArkTS语言,ArkTS是在TypeScript(简称TS)基础上的拓展,而TS又是JavaScrip

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

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

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

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

    2024年02月01日
    浏览(58)
  • 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日
    浏览(48)
  • 基于HarmonyOS的华为智能手表APP开发实战——Fitness

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

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

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

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

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

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

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

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

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

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

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

    2024年01月20日
    浏览(55)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包