首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
V2EX  ›  分享创造

用 react 和 yue 编写桌面应用

  •  
  •   oyyd · 49 天前 · 1145 次点击
    这是一个创建于 49 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Yue@zcbenz编写的,用于编写跨平台桌面应用的 GUI 库。Yue 支持用 Lua 和 Nodejs 进行调用,熟悉 javascript 的开发者可以比较快速地上手,也因此 yue 常被用来与 electron 对比。之前 @zcbenz 也在 V2EX 上推荐过一次

    我自己原本也有编写桌面应用的需求。使用 Electron 可以带来各种各样的好处,但对于一些相对简单的场景而言,electron 需要打包进一个 node 和一个 webkit,最终应用的体积小不下来;并且 web 的 UI 风格总会显得与其他原生的应用有些“与众不同”。虽然 Node 上也有一些库在做同样的事情,但是从文档和实际应用的情况来看,基本上都不太靠谱。虽然 yue 同样也还不是那么成熟,但整体 api 上的设计和文档支持让人满意,zcbenz 老师本身作为作者对我而言也是加分项。

    也正是因为 api 设计上的合理,yue 让我方便的利用react-reconciler实现了react-yue这个代码库,从而可以在 yue 的基础上编写 react 桌面应用。我编写了一个简单的 do space 的client,截图如下:

    对于熟悉 react 开发的同学而言,学习成本和代码的维护成本应该会降低不少。并且我们可以直接利用 react 社区中不涉及到 DOM 的项目,比如 redux。在上面的例子中我就直接用了 redux。

    在这基础之上,也不难做出个 hot-loader,这对于目前 yue 在 view 这一层没有特别好的 debug 工具的情况下,应该会对提高开发效率比较有帮助。

    所以对于在自己的项目中有同样需求的同学,或许你们可以尝试一下 yue 和 react-yue。

    相关项目地址:

    PS: 原生开发者和 py 的用户,我知道你们有更成熟的选择,就不用来争了:)

    6 回复  |  直到 2018-06-05 18:52:14 +08:00
        1
    123s   49 天前
    yue 也是基于 electron 吗?
        2
    123s   49 天前
    我前几天打包了一个 hello world,50 多 M。然后就没有然后了
        3
    tinytin   48 天前
    @123s 不是,不过是一个作者写的
        4
    oyyd   48 天前
    @123s 但是 yue 最终打包也需要打包一份 node,文件大小可以参照 https://github.com/yue/wey/releases
        5
    che3vinci   48 天前
    这不是用 html 和 js、css 来开发程序吧?
        6
    oyyd   47 天前 via iPhone
    @che3vinci 不是。可以过一下 yue 的文档。但是 yue 可以渲染系统支持的 webview。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   鸣谢   ·   实用小工具   ·   3738 人在线   最高记录 3749   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.1 · 19ms · UTC 06:09 · PVG 14:09 · LAX 23:09 · JFK 02:09
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1