macOS 桌面也用到了 JavaScript + HTML + CSS 来实现

2022-05-13 09:54:41 +08:00
 Biwood

而且还是用 React.js 来写的,看来用 Web 技术写桌面 UI 是一大趋势了。

原文: https://blog.jim-nielsen.com/2022/inspecting-web-views-in-macos/

7599 次点击
所在节点    程序员
35 条回复
ciaoly
2022-05-13 20:06:17 +08:00
大量 Web 前端工程师操着 electron 进军桌面:

应用质量下降了✅
桌面应用更好看了✅✅
ciaoly
2022-05-13 20:07:31 +08:00
话说为啥 Web 技术栈写图形应用就简单啊😯?
为什么其它图形应用技术栈不能做到像 Web 开发那样简单呢?
marczhao
2022-05-13 21:46:08 +08:00
虽然但是,可以仔细看一下那个“setup.icloud.com”。
只有 Apple ID 里面 姓名、密码、付款、iCloud 管理 这几个界面点出来了右键菜单,里面还都是真正的网页,例如 gsa.apple.com
Alan1978
2022-05-13 21:53:12 +08:00
Gnome 不早就全部 js 了吗
dingwen07
2022-05-13 22:05:13 +08:00
苹果的操作系统里一堆这种
jones2000
2022-05-13 22:27:59 +08:00
@ciaoly 不就是几个 DOM 堆下,那有什么图形应用。其他语言的也一样啊,拖几个控件就完成事了。基本就是体力活,刚毕业的都可以做。图形应用不应该是 2D 或 3D 的绘图吗,这些前端也没几个人去学的,都是调用第 3 方库。
hawei
2022-05-13 22:55:50 +08:00
@ciaoly 我觉得是生态。Web 本身的积累就是面向用户界面的描述。而不同平台的原生对 UI 实现差异太大。而 Web 被大众接受,以及经过时间检验的开发模式。
agagega
2022-05-13 23:16:32 +08:00
@ciaoly
理论上是可以的,但:

- 原生平台的描述性技术,都是对上一代面向对象甚至面向过程 API 的封装(比如 SwiftUI 和 AppKit/UIKit 的关系)。这就导致你用这些技术稍深入一点,就难免要回过去学旧 API 是怎么回事

- 而 Web 从头到位是个完整的抽象层,99.9%的时候你都不需要纠结 Web 引擎到底是怎么绘图的。即使用 Canvas ,也是因为真的要画一个图,而不是有什么界面 HTML+CSS 写不出来

- 原生平台的技术不跨平台,跨平台的( Java 、Flutter 、Xamarin 、Qt )在单个平台又容易有坑

- 网页套壳很容易实现「我做了一个客户端,同时又自动有了一个网页版」

- Web 技术是开放的,所以任何严重影响开发者体验的事都可以很快被社区力量改进。第一方平台的反例参考 Xcode

- (私货,玻璃心请轻喷)相当一部分中低层前端虽然看起来经常在学新技术,但实际上非常不愿意走出 JS 主导生态的舒适区,瞧不起传统后端语言(这两年 Go 起来之后,Node 吹少很多了,不知道有没有联系),瞧不起 Native UI. 而前端现在是门槛最低,(也许)需求最大,供应也最大的领域,so……

---

BTW ,如果能用系统 WebView+一些更标准的原生接口(我也不知道还缺哪些),现在大家吐槽的 Electron 毛病都能少一些。更理想的是有一种能把 Web 和原生 UI 无缝融合的技术,允许渐进式地把关键组件切换到原生实现,不知道现在成熟了没
7gugu
2022-05-14 00:04:52 +08:00
@agagega 其实渐进式的体验并不是特别好,还是会有很多坑,属于是性能不够原生来凑的地步,不得不用原生了,才会考虑原生组件。不然维护 webview 和原生组件两者就会是个恶梦。
SakataToushirou
2022-05-14 04:05:07 +08:00
设置的 iCloud 账户页面一直都是 html 点击动画和原生不一样。很生硬
SakataToushirou
2022-05-14 04:05:48 +08:00
iOS 的 iCloud 页面也是用的 webview
lujiaosama
2022-05-14 09:02:10 +08:00
@CommandZi lz 这个肯定不是 electron, 只是联想到. 最近用的 electron 应用有点多了.
Suzutan
2022-05-14 09:30:22 +08:00
用什么写无所谓,性能好就行,win11 的资源管理器性能是真的已经到了恶心的地步
tedding
2022-05-14 11:09:01 +08:00
OS X 上面的 dashboard 界面见过吗,那上面的自带的 widget 小组件,以及以前允许个人开发的小组件,全都是 html+javascript……整个 dashboard 就是一个浏览器窗口 挂了很多 笑组件
istomyang
2022-05-21 19:28:21 +08:00
JS 作为一个垃圾,真他妈下头。不要跟我提 electron ,我头疼。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/852564

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX