Android开发能够顺滑的转纯血鸿蒙应用开发吗?_android开发转鸿蒙开发-程序员宅基地

技术标签: 华为  android  鸿蒙  鸿蒙系统  harmonyos  

前言

今年1月18日,华为发布了鸿蒙OS星河版,是一个面向开发者的纯血鸿蒙OS预览版本。意味着今年华为将开始脱离安卓生态,纯血鸿蒙生态正式启动。同时,也确认HarmonyOS NEXT将在2024年四季度推出商用版本,与消费者正式见面。

截止目前鸿蒙生态设备增长至8亿,鸿蒙OS将打开万亿产业新蓝海,带来一轮巨大的市场机会。华为鸿蒙OS目前的影响力主要在国内,所以这个机会也将首先从国内市场拉开序幕。

国内市场的传统安卓应用面临三种应对策略:一是应用厂商自行迁移,这部分应该以国内厂商为主。据报导,目前已有超200家头部应用加速鸿蒙原生开发,年内有希望扩大到TOP5000家适配;二是观望,或是寄希望于华为可能会提供的侧载模式苟一段再看;三是缺乏信心,放弃国内鸿蒙市场。但做为开发者,不管是哪一种策略,都会需要大量的鸿蒙开发者迁移或者平替,是时候考虑再点一棵技能树了。

在这里插入图片描述

安卓与鸿蒙的差异

从宏观上看,鸿蒙OS(HarmonyOS)和安卓OS(Android OS)在设计理念、架构、兼容性等方面存在差异:

开发背景和设计理念

安卓OS:由谷歌开发,最初设计为面向智能手机的操作系统,后来扩展到平板电脑、电视、汽车等。它主要基于Linux内核,并且强调开放性和可定制性。

鸿蒙OS:由华为开发,旨在打造一个多设备统一的操作系统,适用于智能手机、平板、智能手表、车载系统甚至物联网设备。鸿蒙OS强调跨平台能力和流畅的多设备协作。

架构和技术

鸿蒙OS

  1. 微内核架构

    • 鸿蒙OS采用了微内核设计,这意味着其核心功能非常精简。微内核的优点在于提高了系统的安全性和可靠性,因为它减少了系统崩溃的风险,并且更易于维护和更新。
    • 微内核还使得鸿蒙OS能够更容易地适应不同类型的设备,从智能手表到智能家居设备,甚至是汽车系统。
  2. 分布式技术

    • 鸿蒙OS专注于实现真正的跨设备功能,通过“分布式技术”实现设备间的无缝连接和协作。这意味着应用可以在不同设备之间更加流畅地移植和运行,为用户提供一致的体验。
  3. 编程语言和开发框架

    • 鸿蒙OS支持多种编程语言,当前主推ArkTS,同时JS辅助补充能力,曾经支持的Java已不再推荐、设备开发使用C/C++。提供了AI大模型、MindSpore AI框架、ArkUI/ArkUI-X、方舟编译器等能力,以上这些都旨在为开发者提供灵活性和开发效率。

安卓OS

  1. 宏内核架构

    • 安卓OS基于Linux内核,这是一种宏内核。宏内核包含了更多的功能和驱动程序,这使得系统功能更为全面,但可能会牺牲一定的安全性和效率。
    • 安卓的这种设计支持了广泛的硬件设备,使其能够在各种不同的智能手机和平板电脑上运行。
  2. 基于Kotlin/Java的应用开发

    • 安卓应用主要使用Kotlin和Java语言开发。安卓提供了一套基于Java的丰富的应用开发框架,如:Activity,Service,Broadcast Receiver, Content Provider,WindowManager,SurfaceFlinger等,允许开发者创建各种复杂和功能丰富的应用。

综合来看,鸿蒙OS和安卓OS在技术和架构上有显著的区别,在应用迁移上还是会存在不小的工作量和众多的技术问题要解决,平滑就别想了。

兼容性和生态系统

安卓OS:拥有庞大的应用生态系统,几乎所有的智能手机制造商都有使用安卓系统的产品。安卓应用生态成熟,应用商店拥有极为丰富的应用资源。

鸿蒙OS:在兼容性方面,之前的鸿蒙OS支持运行经过轻微修改的安卓应用,但以后的纯血鸿蒙则是全新的应用生态。

市场定位和发展前景

安卓OS:作为目前全球最流行的移动操作系统,安卓在智能手机市场有着不可撼动的地位。

鸿蒙OS:作为期望中的安卓地位撼动者,虽然起步较晚,但鸿蒙OS在中国市场尤其受到关注,并且可能会逐渐在全球范围内对安卓形成竞争。华为在鸿蒙OS上的投资表明了其长期发展的决心。

总的来说,鸿蒙OS与安卓OS的主要区别在于它们的设计理念、技术架构、兼容性以及市场定位。鸿蒙OS致力于构建跨多种设备的统一体验,而安卓则主要集中在提供一个开放、可定制的智能手机操作系统。随着技术的发展和市场的变化,这些差异可能还会进一步演变。

开发者在两种平台上面临的问题

从开发者的角度来看,鸿蒙OS(HarmonyOS)和安卓OS(Android OS)各有其优势和劣势。这些看法通常基于操作系统的成熟度、开发工具、生态系统支持、市场潜力等因素。

鸿蒙OS

  1. 较小的用户基础:相比于安卓,鸿蒙OS目前的用户基础较小,这可能影响应用的受众范围和盈利潜力。
  2. 生态系统仍在成长中:鸿蒙OS的应用生态系统相对较新,可能缺乏某些类型的应用或库,给开发者带来额外的挑战。
  3. 市场不确定性:作为一个较新的操作系统,鸿蒙OS在全球市场的接受程度和未来前景仍有不确定性。

安卓OS

  1. 碎片化问题:安卓设备的多样性导致了系统的碎片化,开发者需要适应不同硬件、屏幕尺寸和系统版本。
  2. 安全和性能问题:由于其宏内核架构,安卓可能面临更多的安全挑战和性能限制。
  3. 卡脖子问题:华为这几年所抗争的A国技术卡脖子问题,也是所有的国产应用头顶上的达摩克利斯之剑,凡事都要想个万一……

这样看来,安卓OS有些像骄傲的中年成功人士,家大业大,但家宅不宁,还可能随时翻脸。而鸿蒙OS更像出山少年,双眼带刀,不肯求饶。这……那……,来看看要从安卓转鸿蒙,开发人员要做哪些准备吧。

在这里插入图片描述

转鸿蒙要做哪些准备

从安卓开发人员转向鸿蒙开发人员,虽然无法平滑过度,但只要对鸿蒙OS的特性、开发环境以及与安卓开发的区别有所准备,还是可以加快不少速度的:

  1. 了解鸿蒙OS的基本概念

    • 学习鸿蒙OS的架构,特别是它的微内核设计。
    • 了解鸿蒙OS的设计理念,尤其是它的跨设备协同和分布式能力。
  2. 学习鸿蒙OS的开发环境和工具

    • 安装和熟悉DevEco Studio,这是华为为鸿蒙OS开发提供的官方集成开发环境(IDE)。
    • 理解鸿蒙OS的应用框架和API,目前主要是v9和v10。
  3. 掌握鸿蒙OS的编程语言和框架

    • ArkTS必学,掌握ArkUI/ArkUI-X等框架。
    • 至于盘古、MindSpore等,也可以适当进行了解。
  4. 从安卓到鸿蒙的代码迁移与适配

    • 在技术论坛了解迁移过程中的经验,也可以联系官方提供技术支持。
    • 学习如何使用Ark Compiler,这是华为为提高应用性能开发的编译器。
  5. 测试和优化

    • 掌握DevEco Testing,学习如何在鸿蒙OS设备上测试和调试应用,确保应用在不同设备上都能良好运行。
    • 优化应用性能,确保良好的用户体验。
  6. 学习鸿蒙技术
    首先得是开发语言 ArkTS,这个尤为重要,然后就是ArkUI声明式UI开发、Stage模型、网络/数据库管理、分布式应用开发、进程间通信与线程间通信技术、OpenHarmony多媒体技术……等。像中间还有许多的知识点,这边都以梳理成思维导图的形式了。
    在这里插入图片描述
    有了路线图,怎么能没有学习资料呢,小编也准备了一份联合鸿蒙官方发布笔记整理收纳的《鸿蒙开发学习笔记》,内容包含ArkTS、ArkUI、Web开发、应用模型、资源分类…等知识点。

【有需要的朋友,可以扫描下方二维码免费领取!!!】

快速入门

  • 开发准备
  • 构建第一个ArkTS应用(Stage模型)
  • 构建第一个ArkTS应用(FA模型)
  • 构建第一个JS应用(FA模型)
    在这里插入图片描述

开发基础知识

  • 应用程序包基础知识
  • 应用配置文件(Stage模型)
  • 应用配置文件概述(FA模型)
    在这里插入图片描述

资源分类与访问

  • 资源分类与访问
  • 创建资源目录和资源文件
  • 资源访问
    在这里插入图片描述

学习ArkTs语言

  • 初识ArkTS语言
  • 基本语法
  • 状态管理
  • 其他状态管理
  • 渲染控制
    在这里插入图片描述

基于ArkTS声明式开发范式

  • UI开发(ArkTS声明式开发范式)概述
  • 开发布局
  • 添加组件
  • 显示图片
  • 使用动画
  • 支持交互事件
  • 性能提升的推荐方法

在这里插入图片描述

兼容JS的类Web开发范式

  • 概述
  • 框架说明
  • 构建用户界面
  • 常见组件开发指导
  • 动效开发指导
  • 自定义组件
    在这里插入图片描述

Web组件

  • 概述
  • 设置基本属性和事件
  • 并发
  • 窗口管理
  • WebGL
  • 媒体
  • 安全
  • 网络与连接
  • 电话服务
  • 数据管理

  • 在这里插入图片描述

应用模型

  • 概述
  • Stage模型开发指导
  • FA模型开发指导
    在这里插入图片描述
【有需要的朋友,可以扫描下方二维码免费领取!!!】

最后

转变过程中可能会遇到一些挑战,如适应新的开发环境、理解不同的API和架构等。但是,作为一名有经验的安卓开发人员,你已经拥有了很多可转化的技能和经验。通过持续学习和实践,你将能够顺利过渡并在鸿蒙OS的世界中找到自己的位置。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/star_nwe/article/details/135889241

智能推荐

51单片机的中断系统_51单片机中断篇-程序员宅基地

文章浏览阅读3.3k次,点赞7次,收藏39次。CPU 执行现行程序的过程中,出现某些急需处理的异常情况或特殊请求,CPU暂时中止现行程序,而转去对异常情况或特殊请求进行处理,处理完毕后再返回现行程序断点处,继续执行原程序。void 函数名(void) interrupt n using m {中断函数内容 //尽量精简 }编译器会把该函数转化为中断函数,表示中断源编号为n,中断源对应一个中断入口地址,而中断入口地址的内容为跳转指令,转入本函数。using m用于指定本函数内部使用的工作寄存器组,m取值为0~3。该修饰符可省略,由编译器自动分配。_51单片机中断篇

oracle项目经验求职,网络工程师简历中的项目经验怎么写-程序员宅基地

文章浏览阅读396次。项目经验(案例一)项目时间:2009-10 - 2009-12项目名称:中驰别克信息化管理整改完善项目描述:项目介绍一,建立中驰别克硬件档案(PC,服务器,网络设备,办公设备等)二,建立中驰别克软件档案(每台PC安装的软件,财务,HR,OA,专用系统等)三,能过建立的档案对中驰别克信息化办公环境优化(合理使用ADSL宽带资源,对域进行调整,对文件服务器进行优化,对共享打印机进行调整)四,优化完成后..._网络工程师项目经历

LVS四层负载均衡集群-程序员宅基地

文章浏览阅读1k次,点赞31次,收藏30次。LVS:Linux Virtual Server,负载调度器,内核集成, 阿里的四层SLB(Server Load Balance)是基于LVS+keepalived实现。NATTUNDR优点端口转换WAN性能最好缺点性能瓶颈服务器支持隧道模式不支持跨网段真实服务器要求anyTunneling支持网络private(私网)LAN/WAN(私网/公网)LAN(私网)真实服务器数量High (100)High (100)真实服务器网关lvs内网地址。

「技术综述」一文道尽传统图像降噪方法_噪声很大的图片可以降噪吗-程序员宅基地

文章浏览阅读899次。https://www.toutiao.com/a6713171323893318151/作者 | 黄小邪/言有三编辑 | 黄小邪/言有三图像预处理算法的好坏直接关系到后续图像处理的效果,如图像分割、目标识别、边缘提取等,为了获取高质量的数字图像,很多时候都需要对图像进行降噪处理,尽可能的保持原始信息完整性(即主要特征)的同时,又能够去除信号中无用的信息。并且,降噪还引出了一..._噪声很大的图片可以降噪吗

Effective Java 【对于所有对象都通用的方法】第13条 谨慎地覆盖clone_为继承设计类有两种选择,但无论选择其中的-程序员宅基地

文章浏览阅读152次。目录谨慎地覆盖cloneCloneable接口并没有包含任何方法,那么它到底有什么作用呢?Object类中的clone()方法如何重写好一个clone()方法1.对于数组类型我可以采用clone()方法的递归2.如果对象是非数组,建议提供拷贝构造器(copy constructor)或者拷贝工厂(copy factory)3.如果为线程安全的类重写clone()方法4.如果为需要被继承的类重写clone()方法总结谨慎地覆盖cloneCloneable接口地目的是作为对象的一个mixin接口(详见第20_为继承设计类有两种选择,但无论选择其中的

毕业设计 基于协同过滤的电影推荐系统-程序员宅基地

文章浏览阅读958次,点赞21次,收藏24次。今天学长向大家分享一个毕业设计项目基于协同过滤的电影推荐系统项目运行效果:项目获取:https://gitee.com/assistant-a/project-sharing21世纪是信息化时代,随着信息技术和网络技术的发展,信息化已经渗透到人们日常生活的各个方面,人们可以随时随地浏览到海量信息,但是这些大量信息千差万别,需要费事费力的筛选、甄别自己喜欢或者感兴趣的数据。对网络电影服务来说,需要用到优秀的协同过滤推荐功能去辅助整个系统。系统基于Python技术,使用UML建模,采用Django框架组合进行设

随便推点

你想要的10G SFP+光模块大全都在这里-程序员宅基地

文章浏览阅读614次。10G SFP+光模块被广泛应用于10G以太网中,在下一代移动网络、固定接入网、城域网、以及数据中心等领域非常常见。下面易天光通信(ETU-LINK)就为大家一一盘点下10G SFP+光模块都有哪些吧。一、10G SFP+双纤光模块10G SFP+双纤光模块是一种常规的光模块,有两个LC光纤接口,传输距离最远可达100公里,常用的10G SFP+双纤光模块有10G SFP+ SR、10G SFP+ LR,其中10G SFP+ SR的传输距离为300米,10G SFP+ LR的传输距离为10公里。_10g sfp+

计算机毕业设计Node.js+Vue基于Web美食网站设计(程序+源码+LW+部署)_基于vue美食网站源码-程序员宅基地

文章浏览阅读239次。该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程。欢迎交流项目运行环境配置:项目技术:Express框架 + Node.js+ Vue 等等组成,B/S模式 +Vscode管理+前后端分离等等。环境需要1.运行环境:最好是Nodejs最新版,我们在这个版本上开发的。其他版本理论上也可以。2.开发环境:Vscode或HbuilderX都可以。推荐HbuilderX;3.mysql环境:建议是用5.7版本均可4.硬件环境:windows 7/8/10 1G内存以上;_基于vue美食网站源码

oldwain随便写@hexun-程序员宅基地

文章浏览阅读62次。oldwain随便写@hexun链接:http://oldwain.blog.hexun.com/ ...

渗透测试-SQL注入-SQLMap工具_sqlmap拖库-程序员宅基地

文章浏览阅读843次,点赞16次,收藏22次。用这个工具扫描其它网站时,要注意法律问题,同时也比较慢,所以我们以之前写的登录页面为例子扫描。_sqlmap拖库

origin三图合一_神教程:Origin也能玩转图片拼接组合排版-程序员宅基地

文章浏览阅读1.5w次,点赞5次,收藏38次。Origin也能玩转图片的拼接组合排版谭编(华南师范大学学报编辑部,广州 510631)通常,我们利用Origin软件能非常快捷地绘制出一张单独的绘图。但是,我们在论文的撰写过程中,经常需要将多种科学实验图片(电镜图、示意图、曲线图等)组合在一张图片中。大多数人都是采用PPT、Adobe Illustrator、CorelDraw等软件对多种不同类型的图进行拼接的。那么,利用Origin软件能否实..._origin怎么把三个图做到一张图上

51单片机智能电风扇控制系统proteus仿真设计( 仿真+程序+原理图+报告+讲解视频)_电风扇模拟控制系统设计-程序员宅基地

文章浏览阅读4.2k次,点赞4次,收藏51次。51单片机智能电风扇控制系统仿真设计( proteus仿真+程序+原理图+报告+讲解视频)仿真图proteus7.8及以上 程序编译器:keil 4/keil 5 编程语言:C语言 设计编号:S0042。_电风扇模拟控制系统设计