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

Quark Shell:用 HTML + JS 编写 Mac Menubar App

  •  3
     
  •   xhacker ·
    xhacker · 2015-04-30 10:30:22 +08:00 · 4036 次点击
    这是一个创建于 3527 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Quark Shell 可以让你用 HTML 和 JavaScript 编写 Mac menubar app,有点像 Electron(原 Atom Shell)和 MacGap,但专注于 menubar app。

    https://github.com/HackPlan/quark-shell-mac

    Screenshot

    Quark Shell 通过一套非常简洁的 JavaScript API 提供系统功能,比如通知、修改 menubar 图标、设置自动启动。Quark Shell 还提供了一个原生的偏好设置面板,甚至可以添加 native 的快捷键录制组件。

    API 大概长这样:

    quark.setLabel("03:14 AM")
    quark.setLaunchAtLogin(true)
    
    quark.notify({
      title: "Test",
      content: "I am completely operational",
      time: "2038-01-19T03:14:07Z",
      popupOnClick: true
    })
    

    这个项目是一年前为了 Pomotodo for Mac 而开发的。当时 Pomotodo 只有我一个 Cocoa 开发者,但大多数人都会写 JavaScript。我自觉精力有限,于是就受到 MacGap 的启发开发了 Menubar WebKit,这样就可以直接把 Mac 版丢给其他人了😅。之后 orzFly 基于相同的 API 和 Atom Shell 做出了 Windows 版,于是我们就改名叫 Quark Shell 了。

    如果你想看看 Quark Shell 的实际效果,可以下载 Pomotodo for Mac 或者 Windows 体验。相信大多数人看不出来这不是 native 的。:)

    12 条回复    2015-06-15 06:21:04 +08:00
    nashsu
        1
    nashsu  
       2015-04-30 11:41:46 +08:00
    赞一个,应该用的是 javascript bridge 吧
    xhacker
        2
    xhacker  
    OP
       2015-04-30 15:22:35 +08:00
    @nashsu: 其实是用的老的 WebScriptObject 那一套……
    Numbcoder
        3
    Numbcoder  
       2015-04-30 15:50:30 +08:00
    Pomotodo for Mac CPU 占 略高啊,放在那不用也很占 CPU,希望能改进
    sobigfish
        4
    sobigfish  
       2015-05-01 17:49:43 +08:00
    xhacker
        5
    xhacker  
    OP
       2015-05-01 23:28:34 +08:00
    @sobigfish: 我这个更 specific 一些,比如有原生的偏好设置页面、快捷键录制组件。另外就是用的 WebView 所以 binary 小很多。
    xhacker
        6
    xhacker  
    OP
       2015-05-01 23:28:57 +08:00
    @Numbcoder: 好像确实长期 1-2% 诶……
    Numbcoder
        7
    Numbcoder  
       2015-05-02 13:48:02 +08:00
    @xhacker 在我这长期 4% 左右,感觉好像有个后台任务在跑
    w88975
        8
    w88975  
       2015-05-14 17:34:54 +08:00
    @xhacker 只能通过cocoapod安装吗 我cocoapod装不了
    w88975
        9
    w88975  
       2015-05-14 18:09:51 +08:00
    @xhacker 不支持nodejs是一大痛啊
    w88975
        10
    w88975  
       2015-05-14 18:31:17 +08:00
    准确的说 io操作比较蛋疼 配置文件只能通过websql来
    我比较希望的是 支持IO操作 比如创建删除文件 文件夹 运行bash命令等等
    xhacker
        11
    xhacker  
    OP
       2015-06-15 06:20:44 +08:00
    @w88975: 为啥 CocoaPods 装不了?
    xhacker
        12
    xhacker  
    OP
       2015-06-15 06:21:04 +08:00
    @w88975: 配置可以通过 WebSQL 或者 local storage……
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3038 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 14:27 · PVG 22:27 · LAX 06:27 · JFK 09:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.