写点什么

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

  • 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:1311425
用户头像
万佳 前InfoQ编辑

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

关注

评论

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

上海移动基于亚信科技AntDB完成核心账务数据库的国产化替换

亚信AntDB数据库

AntDB 国产数据库 aisware antdb

顶礼膜拜!阿里内部出品,全网首发Spring Security项目实战搭建

冉然学Java

编程 spring security springboot Spring 框架漏洞

面试被问到 HashMap 底层原理?我有点慌.

程序员啊叶

Java 编程 程序员 架构 java面试

重磅来袭!豆瓣评分9.9,万人血书的多线程与高并发v2.0版本

冉然学Java

编程 源码 高并发 线程池 多线程并发

NFTScan 与 PANews 联合发布多链 NFT 数据分析报告

NFT Research

区块链 以太坊 NFT

版本更新 | 极狐GitLab 15.2 发布飞书通知机器人、多层史诗调整至专业版、实时 Wiki 图表预览和全新设计的合并请求报告

极狐GitLab

git DevOps 敏捷开发 CI/CD 极狐GitLab

SQL 开始日期、结束日期查询

孙永潮

在 Spring Boot 中使用 Dataway 配置数据查询接口

程序员啊叶

Java 编程 程序员 架构 java面试

闭关三月:整理出了这份对标阿里p7的java秋招面试必备指南。

程序员啊叶

Java 编程 程序员 架构 java面试

浅谈智能家居应用及传输方式

家和万事兴

物联网,

SpringBoot 遗忘后的简单快速回忆之环境搭建与常见注解

程序员啊叶

Java 编程 程序员 架构 java面试

2022年最全大厂面试真题解析:java集合+spring+并发编程+MyBatis

程序员啊叶

Java 编程 程序员 架构 java面试

传统渲染农场和云渲染农场选择哪个好?

Finovy Cloud

云渲染 GPU服务器

2022最新首发!全网最全Spring Boot学习宝典(附实战项目教程)

了不起的程序猿

java程序员 Spring Boot CLI SP【ring

金九银十喜提offer!秋招蚂蚁金服Java研发岗四面

程序员啊叶

Java 编程 程序员 架构 java面试

如何写好设计文档

观测云

微信公众号借助小程序云函数实现支付功能

Geek_24ed5f

签约计划第三季

这88道阿里高级岗面试题,刷掉了80%以上的Java程序员

程序员啊叶

Java 编程 程序员 架构 java面试

面试官:小伙子你来说说MySQL底层架构设计

程序员小毕

Java MySQL 数据库 程序员 面试

详解异步任务 | 看 Serverless Task 如何解决任务调度&可观测性中的问题

Serverless Devs

云原生

Jenkins 如何玩转接口自动化测试?

Liam

测试 jenkins 自动化测试 API 测试框架

直播实录 | 37 手游如何用 StarRocks 实现用户画像分析

StarRocks

数据库 大数据

第三届云原生编程挑战赛正式启动,Serverless 赛道邀你参加!

Serverless Devs

Rust P2P网络应用实战-1 P2P网络核心概念及Ping程序

李明

rust 网络 Libp2p

面试官:MySQL如何根据执行计划调优SQL语句?

程序员小毕

Java MySQL 数据库 程序员 面试

要卖课、要带货,知识付费系统帮你一步搞定!

CRMEB

腾讯开源摘星计划培养开源贡献者的实践思考

腾源会

开源 腾源会

算力顶天地,存力纳乾坤:国家超级计算济南中心的一体两面

脑极体

专访亚信科技张桦:AntDB面向企业核心业务支撑的数据库产品

亚信AntDB数据库

AntDB 国产数据库 aisware antdb

KubeMeet 报名 | 「边缘原生」线上技术沙龙完整议程公布!

阿里巴巴云原生

阿里云 容器 云原生 边缘计算

SR-TE的功能架构概述

穿过生命散发芬芳

7月月更 SR-TE

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