Web框架和跨平台应用未来

大学老师在一个课上说过一个事情,大致表述为:

Web已死,Internet永生 --> App已死,Web永生

当时没什么概念,什么web,什么app,死了生了的。但随之知识的深入,逐渐有了深刻的理解。
前一句是《连线》杂志的话,有一点时代性了。后者我觉得就是,用web技术来构建gui,天然是跨平台的。Web的UI框架拥有强大的复用性,相较于用传统的GUI开发工具开发不同平台的应用,web框架支持跨平台的话,就可以实现 “Write Once Run Anywhere”。😎

  • 原生客户端开发工具:功能最强大,最兼容,但是要同时招聘三个客户端(桌面,网页,移动)开发人员,或者更多(平台细分,iOS,Android)。

  • WEB:功能弱,但只需要招聘一个web开发人员,然后不同的build工具就好了。

之所以用web的UI做各种客户端,只是为了满足降低开发成本,另一方各种框架也正在成熟发展。

技术是种子,市场是土壤,资本是化肥和农药。巨硬搞过很多超前概念的产品,不是说技术不够,是市场不适合,不给你发力的机会。比如Web Assembly,可能很有前景,但目前还不行。

跨全平台可以说是一个程序员的终极梦想,但是目前基于web框架构建的跨平台应用,各种移动app本质就是套壳浏览器,内部使用webView,这好像是绕弯子行为,但它的低门槛和低成本就是存在的必然性。

而如今,谷歌的flutter,苹果随后紧接着出了swiftui,然后kotlin的compose,java依托graal升级javafx
Web大抵是老了,各种想要支持原生的跨平台UI框架正在预热。自绘引擎时代已经有雏形了。

我制作了一个表格,简单的描述一下当下的跨平台框架

Web桌面端iOSAndroidLinux语言备注
Flutter✔️✔️✔️✔️✔️Dart主要还是跨移动端
Electron✔️✔️✔️✔️✔️JS最适合web和桌面端
MAUI✔️✔️✔️✔️C#设计基于安卓,其他平台向其靠拢
Blazor✔️✔️C#前后端集成
Unity/Mono✔️✔️✔️✔️✔️C#
Qt✔️✔️✔️✔️✔️C++主要桌面跨平台
Tauri✔️✔️✔️✔️✔️Rust

Java、Python和JS,天生就是跨平台的语言,所以他们也不存在怎么样的“跨平台框架”,简要写一下JS相关的几个热门框架。

JS模板语法案例备注
React-nativeReact抖音,美团,京东,爱奇艺不支持小程序
uniappvue大众点评,小米商城多webview模式,支持小程序
IonicAngularNHS,bobcat单webview模式,支持小程序,Vue,

来自overflow developer 2023的数据,排名第一是.NET没截到。

请添加图片描述
请添加图片描述

结语

我觉得无论如何,最后都会向wasm概念靠拢,大一统才是趋势啊。没有任何人想对不同操作系统开发不同的适配应用,成本和风险都太高,不过目前仍然还是web占据跨平台的赛道,比如election,react-native还是主流。

虽然现在让我选我还是选自由的web,个人兴趣在此,也偏向桌面开发,但如果我有移动端需求,我可能会选flutter了。
Web死而复生,生而又死,虽是调侃,但也是否定之否定之理啊🤣

文章来源于我的个人博客:Web框架和跨平台应用未来

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值