2024-2025年度总结

工作和学习

今年接触了原生鸿蒙开发,整个开发体系还是存在较大的提升空间。官方提供的AI助手跟Cursor比起来差距非常大。他这个盘子太大了,Flutter、React Native的适配相当麻烦,如果Google、Facebook更新了,那么他也要做对应适配。官方提供的那些三方库都是基于某个固定版本,很多库并没有适配最新的版本。我们的第一个鸿蒙适配版本完成后,再加上卓易通出来后,整体这块的优先级排的很低了。对自己而言,多接触了一些新的技术,扩展了下自己的技术栈。

今年也接了一个外包,用kotlin写纯Android原生项目,也算是巩固了下自己的Android基础。开发这个项目使用了Cursor来辅助,深深感受到了AI工具的强大,有了这个工具,节省了很多时间。

关于学习,还是要系统的学习一下算法,立一个Flag,如果今年还在coding,要复习一遍数据结构和算法,刷够100道题

投资

今年的投资得益于九月底那一波行情,整体收益如下:

A股账户:20%,港股账户:8%。其中港股是八月份才开通的,所以整体收益还是可以的。是历史年度最高的一年了。有几点心得:

Read More

pub get过程

flutter pub get实际上调用的是dart pub get,pub是Dart的包管理工具,用于管理Dart项目的依赖关系。pub get命令会根据项目根目录下的pubspec.yaml文件中的dependencies和dev_dependencies字段,下载并安装依赖包。

Flutter SDK中包含了pub工具,所以在Flutter项目中可以直接使用pub命令。而具体的pub代码在https://github.com/dart-lang/pub/blob/master

pub get会生成pubspec.lock文件,存储当前项目的依赖,减少后续的pub get时间。依赖存储在.pub-cache文件夹中。cache文件夹存储了git相关信息,会根据项目依赖情况下载对应源码。resolved-ref保存项目依赖对应的git commit hash。

这个过程也会生成一些临时文件,比如.dart_tool中的flutter_build/dart_plugin_registrant.dart,会注册所有的Flutter插件

参考

Read More

React Native项目

https://gitee.com/openharmony-sig/ohos_react_native

如何适配鸿蒙?

  • 在现行的 React Native 中,有很多属性是在 React 侧完成的封装,也有很多属性是平台独有的。为了达成这个效果,React Native 在 JS 侧根据 Platform 增加了很多判断。所以,React Native 的鸿蒙化适配也需要增加 HarmonyOS 相关的平台判断,与相应的组件属性的封装。为此,鸿蒙化团队提供了 react-native-harmony 的 tgz 包,并通过更改 metro.config.js 配置,将该 tgz 包应用到 Metro Bundler 中。
  • React Native 还提供了很多库的封装,例如 Codegen、打包工具等。为此,鸿蒙化团队提供了 react-native-harmony-cli 的包,对这些库进行了 HarmonyOS 平台的适配,用于向开发者提供相关的功能。
Read More