Boss直聘(Flutter For Harmony版本)
Flutter For Harmony 无尽可能
Flutter For Harmony Boss直聘
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,AkrUI-x 和 Flutter 底层都是使用 skia渲染引擎 所以有很多类似之处
在翻看他们的源码时,不管是 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原生版本效果
职位模块 | 公司模块 | 个人中心模块 |
---|---|---|
Flutter For Harmony效果
职位模块 | 公司模块 | 消息模块 | 个人中心模块 |
---|---|---|---|
使用三方库
关于项目
本项目由徐庆和坚果联合迁移完成,迁移过程也遇到很多问题,不过还好最后都给完美解决。一些三方库插件可以使用,但是也有一些插件不是很完美。
开发环境
操作系统: win10pc +harmony os next 真机