写点什么

对移动端技术发展的一些思考

  • 2020-02-14
  • 本文字数:2295 字

    阅读完需:约 8 分钟

对移动端技术发展的一些思考

这篇文字,希望通过回顾客户端技术的发展历程,尝试对移动端技术的未来发展,来作出一些分析判断。


客户端的职责


如果不考虑单机版的工具类应用,对于客户端来说,无论是 PC 电脑也好,还是移动设备也好,从业务的场景来看,都是一种终端设备,属于整个业务信息流的末端。因此对于大部分客户端来说,其核心的工作内容,就是从服务端获取加工完毕的数据,然后以一种用户友好的方式展现出来。因此,客户端的所有技术,所有的开发工具链条,都应该是为了这个目的而服务,去追求最大的开发效率和最小的开发和实施成本。


移动的兴起和 PC 的衰退


从 2007 年 1 月苹果发布第一台 iphone 开始,移动设备领域有了翻天覆地的变化。随之而来的,移动端的应用场景也如火如荼的发展了起来,对传统的 PC 客户端造成了很大的冲击,许多原来的 PC 应用都纷纷转战到了移动端。从 2007 年到 2017 年,这十年间,客户端计算经历了从 PC 时代向移动设备时代的迁移。


移动端的兴起,随之而来的移动端相关的开发技术也慢慢的从初显头角到今天的风起云涌,百花起放。而反观 PC 端的开发技术则仿佛被打入了冷宫,如今已经少有人问津了,甚至连 PC 端的主场—游戏领域,如今也被手游占据了大半的江山。


PC 端技术的发展演变


回顾 PC 端技术的发展历史,有一个非常明显的脉络,就是 PC 端经历了一个从 C/S 模式向 B/S 模式演变的过程。当时的 C/S 模式已经非常成熟,但是相比较 B/S 模式的一次部署,到处运行的特点来说,C/S 模式的部署和维护成本非常的高昂。因此,当浏览器技术趋于稳定和成熟之后,基于浏览器的 B/S 模式就很快发展起来,取代了 C/S 模式的地位。


在 C/S 和 B/S 模式争锋的那个年代,C/S 模式的拥护者曾认为,C/S 模式能够利用 PC 端强大的本地计算能力,提供更复杂的交互和展现能力,并能够为服务端分担一定的业务逻辑处理,减轻服务器的压力。由此而引出了著名的胖客户端和瘦客户端理念的争论。


但是,从现在再回头看过去,历史早已做出了选择。B/S 模式的兴起,一方面是由于 B/S 天生所具有的客户端零部署免维护的优势,另一方面,也证明了瘦客户端理念在这一场交锋中的胜利。也正是从这个时期开始,业务逻辑的处理更多的下沉到了服务端,客户端从此更专注于数据的展现。而随着硬件的更新换代,浏览器技术的迅速发展,浏览器的各方面能力也得到了极大的加强,很多当时认为无法在浏览器上做到的事情,现在也都在浏览器上一一的实现。


移动端技术的发展演变


1505804323698088584.png


移动端从 2007 年的兴起,到今天也已经经历了十年的发展。虽然到今天,Native App 的开发方式依然是主流,但是混合式的开发模式(Hybrid App)也占据了应有的一席之地。现在移动端的整个生态环境,虽然是繁花似锦,但在背后也隐藏着很多的问题。


首先,由于 iOS 和 Android 两大阵营的割裂,导致了每一款 App 都需要维护两支单独的研发队伍。为了解决这个问题,微软提供了 Xamarin 技术,Facebook 提供了 React Native 技术,两者一方面可以帮助有经验的后台/前端开发人员迅速平滑的利用现有的知识切入到移动端的开发工作中,另一方面也在一定程度上解决跨平台的问题。但是,两家的技术方案依然存在很多的瑕疵和各自本身的限制,从整体上来看,跨平台是移动端目前很难以圆满解决的一大问题。


其次,从本质来看 Native App 开发模式,与 PC 时代的 C/S 开发模式非常类似,同样也存在着部署和维护成本高昂的问题。当下的一些混合了 H5 页面/框架的混合式(Hybrid)编程,也只能说是一种过渡方案,可以解决一部分的问题。而面对 App 的大版本更迭变动,依然要解决发布新版和通知用户更新的的问题。


对未来的思考,WebView App?


对于移动端来说,对比同样是客户端的 PC 端来看,我们是否会有以下的这些问题浮现而出:


移动端的未来是否也会向着基于浏览器的技术体系迁移?目前 Native App 模式所面对的问题和所存在的缺陷,不正如当初 PC 客户端一样吗?而 Native App 的模式是否也会因此被淘汰?


资治通鉴说,以史为鉴,可以知兴衰。历史也总是惊人的相似,从我个人的角度来说,我认为最终基于浏览器内核的 App 开发方式会成为移动端开发模式的主流(为了方便称呼,对于这种模式,且暂称之为 WebView App),而这其中,混合模式(Hybrid App),恰好是一个非常好的过渡。


那么未来的移动端会成为什么样子,WebView App 的开发模式会是什么样子?结合当前的技术趋势,让我来做一些大胆的猜想:


1.网速的不断提升,硬件机能的不断提升,浏览器真正成为系统核心的一部分。


2.一个 APP 就是一个网络资源(URI)的入口,Hybrid 模式宣告消亡。


3.APP 的分发机制,会从传统的提交 APP 文件到应用商店,变成到应用商店注册 APP 的 URI 地址。


4.Native App 的方式依然会存在,但使用场景仅限于一些有着特殊要求的应用之中(游戏,本地工具等)。


5.JavaScript 将成为打通前端,移动端,后端的强势语言,依托类似 TypeScript 这样的强大工具,开发工具链条无缝衔接在一起。


6.客户端开发者的核心工具将会以 HTML/CSS/JS 为主


7.OC/Swift 这一类平台相关性较强的语言将慢慢式微,最终可能消亡。


8.跨平台可以成为现实,移动端的研发团队也不再需要区分 Android 和 iOS。


所欠缺的只是时间


以上的猜想,只是我个人的一点思考。可能有幸言中,也可能差之千里。未来是未知的,有着无数种可能,而变化总是在不知不觉中一点点的发生,希望这篇小文章,对于热爱移动端开发的朋友们有所帮助。


而对于未来的变化和发展,只有不断的学习,不断的充实自己,才能够更好的面对。也许三年,也许五年,一定会有新的技术浪潮到来,所欠缺的,只是时间。


本文转载自宜信技术学院网站。


原文链接:http://college.creditease.cn/detail/142


2020-02-14 18:472271

评论 1 条评论

发布
用户头像
Your idea is too ideal
2021-07-05 17:12
回复
没有更多了
发现更多内容

新思科技点拨DevSecOps安全“左移”的9大要点

InfoQ_434670063458

DevSecOps 软件安全 安全左移

无锡正规等级测评公司有几家?分别叫什么?

行云管家

等保 堡垒机 网路安全 等级保护 无锡

ToB软件遇上ChatGPT,没有天翻地覆

ToB行业头条

DAPP智能合约开发链上技术

薇電13242772558

智能合约

低代码开发平台 让数据应用不再复杂

力软低代码开发平台

MQTT X 1.9.1发布:资源消耗降低80%,稳定性大幅提升

EMQ映云科技

物联网 IoT mqtt 版本发布 企业号 2 月 PK 榜

GPT发展史

鼎道智联

openai

前端开发如何选择培训机构

小谷哥

直播预告 | 对谈谷歌云 DORA 布道师:聊聊最关键的四个 DevOps 表现指标

思码逸研发效能

DevOps

​网易游戏实时 HTAP 计费风控平台建设

PingCAP

TiDB

2023年中国数字化活动行业专题报告

易观分析

数字经济 产业数字化

全栈角度看分页处理

京东科技开发者

数据库 前端 Web 开发 框架

提高IT运维效率,深度解读京东云AIOps落地实践(异常检测篇(二))

京东科技开发者

人工智能 运维 AIOPS 时间序列 企业号 2 月 PK 榜

MASA Stack 1.0 发布会讲稿——生态篇

MASA技术团队

.net 开源 MASA MASA Stack

flutter系列之:使用SliverList和SliverGird

程序那些事

flutter 架构 大前端 程序那些事

提速还能不掉点!深度解析 MegEngine 4 bits 量化开源实现

MegEngineBot

深度学习 开源 MegEngine CUDA int4

java技术培训机构哪里好

小谷哥

盘点导致sql执行速度慢的几种情况,都是生产环境踩过的坑

程序员拾山

MySQL

业务流程将因生成式AI变革,ChatGPT引领的AIGC正在改变组织运营

王吉伟频道

人工智能 业务流程优化 AIGC ChatGPT 生成式AI

促进关键软件高层次人才培养:平凯星辰与华东师范大学签订联合博士培养合作协议

PingCAP

教育

一图读懂 | 2023年中国产业数字化十大趋势

易观分析

数字经济 产业数字化

Apifox 自动化测试新增流程控制条件,复杂测试场景不再是问题!

Apifox

测试 测试工具 程序员‘ 测试管理工具

前端培训机构怎么选择

小谷哥

线下java培训机构哪个比较好

小谷哥

你知道2023年堡垒机报价是多少吗?谁能回答!

行云管家

网络安全 等保 堡垒机 等级保护

实现订单到期未支付自动关闭不会写?这6种方案任你挑选

程序员拾山

Java 技术方案 关闭订单

GaussDB(DWS)迁移:一种执行高效的TereData的marco迁移方案

华为云开发者联盟

数据库 后端 华为云 企业号 2 月 PK 榜 华为云开发者联盟

led显示屏升级这些技术才能更节能

Dylan

广告 LED LED显示屏

在中国程序员工作是青春饭吗?

小小怪下士

Java 程序员 面试

StarRocks技术内幕 | 资源隔离原理解析

StarRocks

数据库 开源 资源隔离

【漏洞真实影响分析】Apache Kafka Connect 模块JNDI注入(CVE-2023-25194)

墨菲安全

SCA 代码安全检测 软件供应安全

对移动端技术发展的一些思考_文化 & 方法_无线研发部_InfoQ精选文章