V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Biwood
V2EX  ›  程序员

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

  •  1
     
  •   Biwood ·
    oodzchen · 14 天前 · 5888 次点击

    macOS UI macOS UI2

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

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

    35 条回复    2022-05-21 19:28:21 +08:00
    murmur
        1
    murmur  
       14 天前
    用 web 放广告或者公告灵活性比原生界面太多了
    ppbaozi
        2
    ppbaozi  
       14 天前
    webview 不是什么新鲜玩意
    CivAx
        3
    CivAx  
       14 天前
    这个老帖了,上个月有人发过一次。

    主要是这个选项页的东西确实用 webView 加载会更方便,比如推送促销信息、获取订阅信息、更新容量(配额)等。
    codehz
        4
    codehz  
       14 天前 via Android
    想起隔壁 win10 更新界面是用 xaml 加载的(
    murmur
        5
    murmur  
       14 天前   ❤️ 4
    应该这么理解
    ×webview 不是新鲜玩意
    √苹果作为世界前几名的科技企业为 webview 站台

    这针对的就是 flutter ,没错!
    Biwood
        6
    Biwood  
    OP
       14 天前
    @codehz Linux 上的 KDE 和 GNOME 好像都很早就用 JavaScript 来写了,所以真的是能用 JS 写的最终都会用 JS 写吗,似乎是靠近用户体验层面的东西都能比较适合 WEB 技术来做
    codehz
        7
    codehz  
       14 天前 via Android
    @Biwood Xaml 不是 html ,虽然结构上都有 xml 的影子。。
    我是说这种需要定制显示效果的地方也不是非得 html 不可
    cpf
        8
    cpf  
       14 天前   ❤️ 3
    大致的原话:能用 JS 写的最终都会用 JS 写,优点是 JS 什么都能写,缺点是,你真的用 JS 写了😅
    orancho
        9
    orancho  
       14 天前   ❤️ 3
    建议搜索一下 Active Desktop
    ericgui
        10
    ericgui  
       14 天前   ❤️ 1
    还是很惊奇的,不过也算是高兴吧,JavaScript 作为一个语言能侵入这么多领域,好事啊
    TWorldIsNButThis
        11
    TWorldIsNButThis  
       14 天前 via iPhone
    暴论:react 大举入侵桌面 gui ,意味着传统的依赖继承的 oop 全面溃败
    zhouyg
        12
    zhouyg  
       14 天前
    有没有可能是最终肉眼所见的都会是 js 写的
    joesonw
        13
    joesonw  
       14 天前 via iPhone
    lujiaosama
        14
    lujiaosama  
       14 天前   ❤️ 1
    桌面跨端应用越来越多的 electron 应用了, 有些时候有些桌面应用一看 ui, 结合体积和性能, 一查果然是 electron. 好处是半吊子 js 工程师也能介入桌面开发领域, 坏的是应用质量下降了.
    cpstar
        15
    cpstar  
       14 天前   ❤️ 1
    webOS 内牛满面
    Atsushi
        16
    Atsushi  
       14 天前
    @orancho 同想到 Active Desktop 。
    不过这个界面应该是 iCloud 相关的原因才是 JS 的吧,别的页面不一定是 JS
    不过这个页面也是极其慢
    还是不喜欢 JS 的东西
    CommandZi
        17
    CommandZi  
       14 天前
    @lujiaosama 楼主的就一个 webview 控件显示这一小块内容吧
    fayetitus
        18
    fayetitus  
       14 天前   ❤️ 1
    Web 目前可能是最好的 UI 解决方案,性能除外。
    d5
        19
    d5  
       14 天前
    Palm/HP: WebOS WebOS !
    SimonOne
        20
    SimonOne  
       14 天前
    所以离线情况下这块会怎么样?
    ciaoly
        21
    ciaoly  
       14 天前 via Android   ❤️ 2
    大量 Web 前端工程师操着 electron 进军桌面:

    应用质量下降了✅
    桌面应用更好看了✅✅
    ciaoly
        22
    ciaoly  
       14 天前 via Android
    话说为啥 Web 技术栈写图形应用就简单啊😯?
    为什么其它图形应用技术栈不能做到像 Web 开发那样简单呢?
    marczhao
        23
    marczhao  
       14 天前
    虽然但是,可以仔细看一下那个“setup.icloud.com”。
    只有 Apple ID 里面 姓名、密码、付款、iCloud 管理 这几个界面点出来了右键菜单,里面还都是真正的网页,例如 gsa.apple.com
    Alan1978
        24
    Alan1978  
       14 天前 via Android
    Gnome 不早就全部 js 了吗
    dingwen07
        25
    dingwen07  
       14 天前 via iPhone
    苹果的操作系统里一堆这种
    jones2000
        26
    jones2000  
       14 天前
    @ciaoly 不就是几个 DOM 堆下,那有什么图形应用。其他语言的也一样啊,拖几个控件就完成事了。基本就是体力活,刚毕业的都可以做。图形应用不应该是 2D 或 3D 的绘图吗,这些前端也没几个人去学的,都是调用第 3 方库。
    hawei
        27
    hawei  
       14 天前 via iPhone
    @ciaoly 我觉得是生态。Web 本身的积累就是面向用户界面的描述。而不同平台的原生对 UI 实现差异太大。而 Web 被大众接受,以及经过时间检验的开发模式。
    agagega
        28
    agagega  
       14 天前
    @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
        29
    7gugu  
       14 天前 via iPhone
    @agagega 其实渐进式的体验并不是特别好,还是会有很多坑,属于是性能不够原生来凑的地步,不得不用原生了,才会考虑原生组件。不然维护 webview 和原生组件两者就会是个恶梦。
    SakataToushirou
        30
    SakataToushirou  
       13 天前 via Android
    设置的 iCloud 账户页面一直都是 html 点击动画和原生不一样。很生硬
    SakataToushirou
        31
    SakataToushirou  
       13 天前 via Android
    iOS 的 iCloud 页面也是用的 webview
    lujiaosama
        32
    lujiaosama  
       13 天前
    @CommandZi lz 这个肯定不是 electron, 只是联想到. 最近用的 electron 应用有点多了.
    Suzutan
        33
    Suzutan  
       13 天前 via iPhone
    用什么写无所谓,性能好就行,win11 的资源管理器性能是真的已经到了恶心的地步
    tedding
        34
    tedding  
       13 天前 via iPhone
    OS X 上面的 dashboard 界面见过吗,那上面的自带的 widget 小组件,以及以前允许个人开发的小组件,全都是 html+javascript……整个 dashboard 就是一个浏览器窗口 挂了很多 笑组件
    istomyang
        35
    istomyang  
       6 天前 via Android
    JS 作为一个垃圾,真他妈下头。不要跟我提 electron ,我头疼。
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1366 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 70ms · UTC 18:31 · PVG 02:31 · LAX 11:31 · JFK 14:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.