初学鸿蒙开发的一点感受
博主之前的学习方向是前端开发,最近开始学习鸿蒙开发相关的内容,在学习过程中遇到了很多困难,也了解到了很多前端开发与客户端开发的不同之处。
不同之处
虽然目前大部分客户端应用的功能与web应用结合紧密。
但是,客户端的本质特性决定了它需要更细致地去解决平台差异(例如不同的操作系统,不同的硬件配置下的设备)、复杂性(更为复杂的功能,从网络连接到本地数据库,系统权限,性能限制等等等等)、打包和部署(客户端应用的打包和部署过程更为复杂,需要详细的配置文件来控制资源的打包和引用方式)
鸿蒙开发中目前主要推荐的开发技术中,ArkUI有类似前端的声明式UI设计模式;特化的基于前端的开发语言TypeScript(基于JavaScript)的ArkTS。但是,本质上还是客户端应用开发,因此很多特性仍然会继承自传统的客户端开发技术规范,最明显的就是开发过程中需要管理大量重要而复杂的构建打包相关的配置文件。
存在的困难
如何理解客户端应用的工程项目结构?模块文件之间如何调用?为什么模块文件是这种结构?当需要添加模块时,如何管理对应的配置文件?如何理解并熟悉包管理器ohpm的使用?如何理解并熟悉构建工具Hvigor的构建打包原理以及与配置文件相配合的基本使用方式?……
解决问题
通过codelab提供的教程案例,结合开发者文档以及论坛提供的支持,在实际开发操作中学习并解决上述的各项问题。
附
从开发投入成本和开发速度来看,网页应用和客户端应用各有其优势和适用场景:
网页应用的优势:
- 开发速度快:利用现代前端框架和工具,可以快速迭代和部署应用。
- 跨平台:只需开发一次,就可以在不同操作系统和设备上运行。
- 易于维护和更新:用户无需安装更新,直接在浏览器中访问最新版本。
- 开发成本低:通常不需要针对不同平台进行大量适配。
- 用户访问便利:用户只需一个浏览器即可访问,无需下载和安装。
适用方向:
- 内容展示:如新闻网站、博客、企业官网等。
- 电商平台:如在线商店、市场等。
- 社交平台:如社交网络、论坛等。
- 信息管理系统:如后台管理系统、数据分析平台等。
客户端应用的优势:
- 性能优越:可以更直接地利用硬件资源,提供更高的性能和响应速度。
- 丰富的功能:可以访问系统级功能和硬件设备(如摄像头、传感器等)。
- 离线支持:可以在无网络连接的情况下正常使用。
- 用户体验好:可以提供更流畅和一致的用户体验。
适用方向:
- 高性能需求:如游戏、图像处理、视频编辑等。
- 系统集成:如系统工具、设备驱动、硬件控制等。
- 复杂交互:如专业设计软件、IDE、重度应用等。
- 安全性要求高:如金融应用、企业内部工具等。 选择开发方向时,可以根据项目的具体需求和目标用户群体来决定是开发网页应用还是客户端应用。