【发布时间】:2016-03-01 04:08:07
【问题描述】:
我发现使用 Ionic 等框架构建移动应用程序存在局限性。这些主要与访问设备特定功能有关。所以两个问题:
使用 Electron 构建 Mac 应用程序是否有类似的限制?
使用 swift 构建原生应用有哪些优势?
【问题讨论】:
标签: javascript swift macos mac-app-store electron
我发现使用 Ionic 等框架构建移动应用程序存在局限性。这些主要与访问设备特定功能有关。所以两个问题:
使用 Electron 构建 Mac 应用程序是否有类似的限制?
使用 swift 构建原生应用有哪些优势?
【问题讨论】:
标签: javascript swift macos mac-app-store electron
Electron 中提供了一些本机功能,例如向 Dock 菜单添加条目或显示菜单栏图标。第三方添加了其他功能,例如插入系统偏好设置的this one。如果不出意外,有一个 JS-to-Obj C bridge,可以调用 Objective-C 代码。
另一个重要因素是,使用一次写入随处运行的框架制作的应用程序通常具有奇怪的用户体验,并且不符合平台约定。当您使用 Cocoa 和 Swift / Objective-C 构建真正的原生应用程序时,您可以免费获得此功能。
例如,当窗口失去焦点时,工具栏的外观应该发生变化。您可以通过打开(例如)Safari 偏好设置然后切换到另一个窗口或应用程序来亲自查看这一点。 Electron 应用程序不这样做。
作为另一个示例,如果右键单击菜单打开,用户应该能够按“C”将选择移动到“复制”。 Electron 又不这样做了。
这会导致应用看起来和感觉很奇怪和第二层。如果优先考虑原生质量的用户体验,请在 Cocoa 中构建您的应用。
如果您没有资源来构建单独的 Mac 和 Windows 应用程序(假设您是一家两人创业公司或慈善机构),但仍想要比网络应用程序更好的用户体验,那么请考虑使用 Electron。
参考:Making a web app feel native,随后与进行该演讲的工程师 Ben Gotow 进行了电子邮件讨论。
【讨论】:
目前我只是在学习如何使用电子,但我觉得电子非常好用,你可以从图灵学校的老师那里看到这个套牌 https://speakerdeck.com/stevekinney/building-desktop-applications-with-node-and-electron
【讨论】: