使用Electron构建Mac应用程序有哪些限制?

Cha*_*ris 2 javascript macos mac-app-store swift electron

我发现使用像Ionic这样的框架来构建移动应用程序的局限性.这些主要与访问设备特定功能有关.所以有两个问题:

  1. 使用Electron构建Mac应用程序有任何类似的限制吗?

  2. 使用swift构建本机应用程序有什么好处?

Vad*_*ick 6

Electron中提供了一些本机功能,例如在Dock菜单中添加条目或显示菜单栏图标.其他功能已经由第三方加入,像这一个,它插入系统偏好设置.除此之外,还有一个JS-to-Obj C桥,用于调用Objective-C代码.

另一个重要因素是使用一次编写一次运行的框架制作的应用程序通常具有奇怪的用户体验,并且不适合平台约定.当您使用Cocoa和Swift/Objective-C构建真正的本机应用程序时,可以免费获得此功能.

例如,当窗口失去焦点时,工具栏的外观应该会改变.您可以通过打开(比方说)Safari首选项然后切换到另一个窗口或应用程序来自行查看.电子应用程序不这样做.

作为另一个示例,如果打开右键单击菜单,则用户应该能够按"C"将选择移动到"复制".电子再次不这样做.

这导致应用程序看起来和感觉奇怪和第二层.如果优先考虑本机质量的用户体验,请在Cocoa中构建应用程序.

如果您没有资源来构建单独的Mac和Windows应用程序(比如说你是一个两人创业公司或慈善机构),但仍然想要一个比网络应用程序更好的用户体验,那么请考虑使用Electron.

参考:让网络应用程序感觉原生,然后与Ben Gotow进行电子邮件讨论,Ben Gotow是发表该演讲的工程师.