东亚银行、岚图汽车带你解锁 AIGC 时代的数字化人才培养各赛道新模式! 了解详情
写点什么

互联网行业“过冬”,开发者如何借跨端开发突围?

  • 2022-09-30
    北京
  • 本文字数:3649 字

    阅读完需:约 12 分钟

互联网行业“过冬”,开发者如何借跨端开发突围?

互联网公司“过冬”,连 IT 也要降本增效


受宏观环境和疫情的双重影响让现在的商业环境面临严峻挑战,“过冬”成为互联网公司的共识。


如何熬过“寒冬”?大家想出的办法是省钱过日子,关键词是降本增效。据晚点报道,在纽约和香港上市的中国互联网公司,过去半年的销售和管理费用减少 217 亿元。对中国互联网公司来说,降本增效从未像现在变得如此重要。


“寒气”也传到了企业 IT 和研发部门,降本增效成为其重要目标。以前,宏观环境好,公司发展快,营收没有任何压力,IT 投入“大手大脚”,开发一款应用,各端均有一套独立的研发体系。但是,在降本增效的要求下,提高效率成为开发者、研发团队和企业关注的重点。


跨端开发热度飙升


凭借可以有效助力企业提升开发效率、实现降本增效的能力,跨端开发的热度近几年不断上升,成为开发者和研发团队越来越重视的技术方向。


在 InfoQ《解读大前端的 2021:究竟“卷”出了什么名堂?》 一文中提到:


针对技术方面,跨端技术层出不穷,但不可否认的是面对复杂的业务场景时,跨端框架在性能和体验上仍然无法达到与 Native(原生)等同的效果。不过,由于业务存在降本增效的诉求,所以跨端技术依然还是被重点关注的方向之一。


从最早的 PC 时代到移动时代,从移动时代到 IoT 时代,各种端不断涌现,不仅有智能手机,而且还有平板、电脑、车机等设备。多终端的出现以及业务场景的多元化让跨端变得愈加复杂。


而当前智能手机作为最大的流量分发入口,为抢夺用户和流量,公司间竞争越来越激烈,以用户为核心,产品为抓手,强调小步快跑、快速迭代、快速试错。此时,缩短研发周期,保证产品快速迭代,让新功能能以最快速度抵达多端用户成为重中之重。


当企业要开发支持多端的应用时,如果每一端都需要独立研发、测试和运维,那么不仅成本会升高,而且工作量也将成倍增加,势必导致研发周期拉长。


为解决多端独立开发问题,跨端开发成为越来越多研发团队和企业的选择。跨端开发的本质是屏蔽底层平台能力的差异性,让业务不用关注底层平台的设备差异,专注业务。站在业务角度,企业肯定不希望业务各端均有一套独立的研发体系,最好让业务能以低成本方式覆盖多端,实现复用。凭借一次开发、到处运行的特点,跨端开发大大提升了研发效率,进一步节省了研发成本,缩短了研发周期和时间,成为降本增效的有效手段,受到很多研发团队和企业的青睐。


此外随着用户使用的终端越来越多,跨端应用也成为刚需,跨端开发的潜力也越来越大。根据华为开发者联盟和艾瑞咨询联合发布的《2022 年移动应用技术趋势白皮书》(以 下简称“白皮书”)显示,用户平均拥有近 5 台智能设备,个人智能终端延续“一超多强”态势,“一超”即智能手机,它是个人智能终端的中心;“多强”即其他智能设备,比如蓝牙耳机、智能手表 / 手环围绕着手机提供延伸功能,智能跑鞋、智能服装通过手机 App 提供应用服务。



直面跨端开发挑战,开发者如何脱颖而出


从 Web 端到移动端等,由于各端本身的差异性,开发者在进行跨端开发时面临不少挑战。


第一,体验问题。对于任何一个跨端技术,其天花板就是原生体验。因为企业如果追求极致体验,是不会考虑跨端方案,毕竟跨端只是无限逼近原生。


第二,多端一致性是把双刃剑。试想,如果开发者开发完一款应用,它在主流操作系统上的用户 UI 体验是一样的,这可能并不是用户想要的。因为每个平台都有一种自己的 UI 风格和生态,这给用户带来的体验是有差异化的。并且,值得注意的是,“一致性”指跨端技术开发的应用无限逼近原生体验,与原生体验还存在差距。此外,对跨端来说,如何屏蔽好各端的细节至关重要,比如如何处理某个端特有的 API、如何保证渲染细节在各端始终保持一致。


第三,任何跨端开发都会强调研发效率,但是其背后存在工程填坑,因为需要专门的技术人员维护跨端的基础建设,这会增加很多成本。


除了手机,平板电脑也类似移动端,但是差别在于尺寸和交互与移动端又有差别,比如支持分屏等能力。这里,跨端开发要解决的问题是如何在平板电脑上提供用户更易接受的一致性体验。


有开发者对笔者表示,在多端开发过程中,他们遇到过很多问题。比如,为了同步多端能力,往往很难快速响应业务需求。而如果进行原生开发,那么每增加一个端,研发成本会呈指数级增长。并且,开发完成并不意味着任务结束,因为维护多端同构又具有差异性的代码,其困难程度可想而知。因此,对开发者来说,需要的是多端一体化的开发体验。


虽然移动领域的跨端开发难度不小,困难不少,但是业界一直有各种解决方案相继出现,包括 React-Native/Weex 类方案、Flutter 以及 HarmonyOS


React-Native/Weex 类方案通过尽可能的取长补短,通过结合 Web 的生态和 Native 的组件,让 JS 执行代码后用 Native 的组件进行渲染。Flutter 是近年来备受关注的跨端方案,Flutter 既不使用原生组件,也不依赖 WebView,而是通过自己的高性能渲染引擎直接调用底层的 Skia 进行自绘渲染,保证了多端的渲染一致性。


相比前两类方案,HarmonyOS 采用另一种思路,可以跨设备。HarmonyOS 通过分布式软总线、分布式设备虚拟化、分布式数据管理、分布式任务调度等技术,实现多种设备之间硬件互助、资源共享。它通过组件化和小型化等设计,支持多种终端设备按需弹性部署,适配应用在不同类别的硬件上的差异化资源和功能需求,可有效解决多端一致性问题,给用户带来更好的体验。



而 HarmonyOS 提供的用户程序框架、Ability 框架以及 UI 框架,支持应用开发过程中多终端的业务逻辑和界面逻辑进行复用,能够实现应用的一次开发、多端部署,提升了跨设备应用的开发效率。如今,HarmonyOS 3.0 已经支持 12 种设备,包括手机、平板、PC、智慧屏、音箱、耳机、手表、墨水平板、显示器、打印机、智能眼镜、车机等,在跨设备通话、手机与打印机及车机互联等方面实现能力提升。


在笔者看来,不管是哪种跨端方案,核心都是提升研发效率、降低成本。


尤其是当下,人口红利、流量红利结束,移动互联网从高速成长期步入平缓发展阶段,市场发展成熟,应用竞争非常激烈,降本增效更为开发者和企业所看重。


对开发者来说,应用之间竞争的本质是抢夺有限的用户。工信部数据显示,国内 App 数量高达 230 万款。而 data.ai 的调查报告显示,大约有 1/3 到 1/2 的用户在智能手机上安装了 30 个 App。


如何在竞争中脱颖而出?越来越多的开发者选择直接集成应用服务能力,一方面,可以提升开发效率,另一方面,还能将人工智能等前沿技术能力快速落地应用于移动端,以技术提升产品能力,打造差异化的用户体验。


HMS Core 为例,它是华为终端云服务开放能力合集,面向应用服务、图形、媒体、人工智能和智能终端等 7 大领域能力开放,帮助开发者实现应用高效开发、快速增长、商业变现。某种程度上,它就像一个横跨各类软硬件平台的超级“底座”,开发者可以基于 HMS Core 在图形、媒体等多个领域的开放能力来开发各种品类的 App,并无缝地衔接到不同形态的设备上,进行应用场景的创新。


以电商行业为例,开发者需要海量的流量入口,不论是软硬件级别的入口,还是系统级的,以支持电商应用对各类用户群体的快速覆盖。HarmonyOS 聚合泛终端全场景的流量入口(如服务中心、桌面、扫一扫 / 碰一碰、小艺智慧助手等),服务一次接入,实现全媒体分发,可以提升应用的获客能力,同时 HMS Core 提供的推送服务可以帮助电商平台在这样的多种入口上激活沉默用户,促进用户活跃。而像 AR Engine 各式各样的虚拟现实技术场景和机器学习服务能力能很大程度地丰富电商应用在手机、平板等设备上的用户体验,从而增强用户转化。



不同行业的应用对同设备或不同设备上的开放能力要求也不尽相同。新一代的智能终端操作系统 HarmonyOS,加上为开发者开放各类软硬件服务能力的 HMS Core,两者将共同助力应用创新,提升开发效率,打造一个全场景超级终端下的智慧应用体验。


写在最后


存在即合理,正所谓业务价值决定技术走势。跨端开发的热度之所以飙升,是因为它是研发团队和企业提升开发效率,实现降本增效的有效手段。对企业而言,只有通过各种手段在“冬天”活下来,才有明天。


对开发者来说,跨端开发已经成为必须认真对待的技术方向。无论是企业需求,还是市场前景,跨端开发迟早成为大势所趋。这股趋势给开发者带来的不仅是挑战,也是机遇。只有真正给用户带来综合一致满意的体验,开发者才能在激烈竞争中占据优势。但是,如果想胜出,仅凭单打独斗是不够的,开发者还需要借助外部生态力量,才能赢至终局。


华为开发者联盟已实现覆盖全球超过 170 个国家 / 地区的平台部署,在全球设立 8 大区域中心,15 个数据中心切实保护开发者的产品服务的数据安全。全球站点平台遵循数据本地化原则,实现在全球范围内本地化运营。并且,它还推出了开发者学堂、开发者论坛和生态市场等,拥有全球化渠道优势,开放性和全流程运营等能力,可以更好地服务广大开发者。


想了解国内移动应用发展环境、热门技术创新动态,先人一步知晓影响移动应用发展的技术趋势,洞悉开发者所面临的挑战和机遇,点击下载《2022 年移动应用技术趋势白皮书》


2022-09-30 17:1310224
用户头像
万佳 前InfoQ编辑

发布了 677 篇内容, 共 334.8 次阅读, 收获喜欢 1794 次。

关注

评论

发布
暂无评论
发现更多内容

WEB开发人员应该知道 10 个 Docker 命令

devpoint

Docker 前端开发 docker image Docker 镜像

一个比一个牛皮的5个杨辉三角特性!

风铃架构日知录

Java 程序员 算法 IT 杨辉三角

David Murray 加入 VeraViews 担任需求总监

鳄鱼视界

模块九-设计电商秒杀系统

李某人

架构训练营

2022年终总结:今年学完的付费课程

石云升

学习 知识付费 年终总结 1月月更

【架构设计】你真的理解软件设计中的SOLID原则吗?

小小怪下士

Java 程序员 架构设计

photozoompro2023下载激活教程

茶色酒

PhotoZoom photozoompro

详解ThreadLocal

threedayman

架构训练营-模块三作业

Sam

架构实战营

PowerShell 中运行 maven 参数无法识别

HoneyMoose

Pytorch 基础-tensor 数据结构

嵌入式视觉

Tensor ndarray 张量的基本操作 view函数 reshape

Tapdata 杨庆麟:实时数据如何赋能制造业,实现业务卓越与持续发展?

tapdata

兼容东西,贯通南北:超聚变的“四水归堂”

脑极体

科技 算力 超聚变

Tapdata Cloud 场景通关系列:将数据导入阿里云 Tablestore,获得毫秒级在线查询和检索能力

tapdata

Alluxio 2022技术干货年终大赏

Alluxio

大数据 分布式 案例 Alluxio 数据编排

【Redis实战专题】「性能监控系列」全方位探索Redis的性能监控以及优化指南

洛神灬殇

redis监控 Redis优化 redis性能

GEAR框架: Tractian的敏捷工程文化

俞凡

敏捷 大厂实践

架构训练营第10期模块四作业

Geek_4db2d5

Tapdata Cloud 场景通关系列:数据入湖仓之 MySQL → Doris,极简架构,更实时、更简便

tapdata

2023-01-14:给定一个二维数组map,代表一个餐厅,其中只有0、1两种值 map[i][j] == 0 表示(i,j)位置是空座 map[i][j] == 1 表示(i,j)位置坐了人 根据防

福大大架构师每日一题

算法 rust Solidity 福大大

#46 A003-B端产品经理小A故事-你是在画猫吗?

非典型产品经理笔记

个人成长 产品经理 b端产品经理

总结一下经典机器学习算法

风铃架构日知录

Java 程序人生 算法 后端 IT

【架构设计】你真的理解软件设计中的SOLID原则吗?

JAVA旭阳

Java 架构

天翼云第八代云主机助力企业攻克上云“大象流”加密处理业务难题

Geek_2d6073

PyCharm创建Jupyter Notebook

IT蜗壳-Tango

Python

tinyrpc源码阅读

骑牛上青山

golang 源码 RPC

系统风险处置

agnostic

风险系统 业务风险 操作风险

读懂深度学习,走进“深度学习+”阶段

脑极体

深度学习 百度 #飞桨#

SAP 交货单与HU指派关系数据不一致问题的解决方案

SAP虾客

SAP 公司间STO 外向交货单 HU DEBUG改表

Date & Time组件(上)

攻城狮Wayne

Android Studio DATE类型 time

#45 A002-B端产品经理小A故事-走进客户2

非典型产品经理笔记

个人成长 产品经理 b端产品经理

互联网行业“过冬”,开发者如何借跨端开发突围?_语言 & 开发_万佳_InfoQ精选文章