Flutter For Harmony今日时鉴应用
Flutter For Harmony 无尽可能
Flutter 框架介绍
Flutter是谷歌的高性能、跨端UI框架,可以通过一套代码,支持iOS、Android、Windows/MAC/Linux等多个平台,且能达到原生性能。 Flutter也可以与平台原生代码进行混合开发。在全世界,Flutter正在被越来越多的开发者和组织使用,并且Flutter是完全免费、开源的。
本次我们这部分是基于社区版本3.7所编写,之前在做鸿蒙原生应用开发布道的时候,很多人都对Flutter适配鸿蒙比较感兴趣,这不就来了。
HarmonyOS
HarmonyOS 是一款面向全场景智慧生活方式的分布式操作系统。在传统的单设备系统能力的基础上,HarmonyOS 提出了基于同一套系统能力、适配多种终端形态的分布式理念,能够支持手机、平板、PC等多种终端设备。对消费者而言,HarmonyOS 能够将生活场景中的各类终端进行能力整合,实现不同终端设备之间的极速连接、能力互助、资源共享,匹配合适的设备、提供流畅的全场景体验
在开发过程中,HarmonyOS提供了完备的开发套件、赋能套件,帮助开发者快速学习并掌握应用开发所需的技能,通过了解并应用HarmonyOS设计理念,帮助开发者打造高端精致、简单易用、极致流畅、纯净安全的应用。
Flutter For Harmony
在我刚开始接触Harmony的声明式开发时,就发现 Harmony 和 Flutter 之间的联系很密切,包括我最近好几个项目里用的ArkUI-X,
在翻看他们的源码时,不管是 ArkUI 还是 ArkUI-X ,它们的底层支持里都或多或少存在 Flutter 的身影。而本次这个Flutter For Harmony的项目的迁移,对于 Flutter 开发者来说,Harmony 应该会是一个相对较好的方向。毕竟目前Android和ios现在已经热度不再。
Dart
Dart 语言是类型安全的;它使用静态类型检查来确保变量的值 始终 与变量的静态类型相匹配。这也叫健全类型。尽管类型是强制性的,但由于 Dart 支持类型推断,类型注释仍是可选的。 Dart 的类型系统也很灵活,允许结合使用 dynamic 类型与运行时检查,在测试开发期间,或是遇到需要特别指定为动态类型的代码时,这项特性很有帮助。
Dart 内置了 健全的空值安全,这意味着只有你声明值可以为空的情况下,值才可以为空;当 Dart 确定变量不可为空时,该变量 永远 不可为空。凭借健全的空值安全,Dart 可以通过静态代码分析在运行时保护你免受空值异常的影响。如果你在调试器中审查正在运行的代码,你会看到不可为空性仍在运行时被保留,所以是完全的空安全。
ArkTS和ArkUI
ArkTS
在HarmonyOS应用开发中,优先选择ArkTS语言。ArkTS是Harmony生态的应用开发语言,它在TypeScript生态基础上进一步扩展,提供了简洁自然的声明式语法、组件化机制、数据-UI自动关联等能力,让开发者可以更简洁、更自然的开发高性能应用。
ArkUI
开发者可以使用ArkUI的UI组件绘制应用界面。ArkUI是一套构建分布式应用界面的声明式UI开发框架,它提供了丰富的UI组件、动画、交互事件、实时界面预览工具等,可以帮助我们快速入门HarmonyOS应用开发。ArkUI提供了规则图形绘制和用户自定义绘制,通过调用ArkUI规则图形组件、事件,可以快速实现应用界面,提升HarmonyOS应用界面开发效率。
HarmonyOS原生版本效果
列表页 | 详情页 | 搜索页 |
---|---|---|
具有请求数据获取列表,以及选择对应的日期,查看当天的历史事件的功能 | 通过列表页传过来的id,获取内容详情,并显示 | 使用搜索接口,搜索符合内容的列表。 |
Flutter For Harmony效果
历史上的今天 | 日期选择 | 详情页 | 空白页 |
---|---|---|---|
功能
- 启动应用获取当天历史上的今天的数据
- 点击日期,可以弹窗选择对应时间,页面显示对应日期历史上的今天的内容
- 通过事件ID 获取历史的今天的内容详情
- 通过关键字搜索历史上今天的数据。