我在想,创建一个本质上只是一个带有 Web 视图的界面的 Cocoa 应用程序是否可行?或者在做这样的事情时是否有一些严重的限制?
如果它是“可行的”,那是否也意味着您可以对 Windows 应用程序做同样的事情?
我在想,创建一个本质上只是一个带有 Web 视图的界面的 Cocoa 应用程序是否可行?或者在做这样的事情时是否有一些严重的限制?
如果它是“可行的”,那是否也意味着您可以对 Windows 应用程序做同样的事情?
当然可以创建一个只是一个 Cocoa 窗口的应用程序,里面有一个 web 视图,当然。这是否可以有意义地称为“可可应用程序”是值得商榷的。显然,像应用程序菜单这样的东西需要一些 Cocoa 胶水代码,所以是的,你可以在 HTML 和 JS 中做多少事情是有限制的。
您还必须仔细考虑如何处理本地化(为每种语言复制整个 HTML 和 JS 源代码是不可取的),并且有许多界面结构比它们更难创建将使用 Cocoa,和/或对于习惯于 OS X 外观和感觉的人来说不会感到原生。并且您将通过使用解释性语言放弃一些性能,这对您的应用程序可能很重要,也可能无关紧要。
有一些 OS X 应用程序就是这样构建的,它们通常感觉像是坏端口;如果您的目标是制作一些感觉像真正的 Mac 应用程序的东西,那么这可能不是一个好方法。
当然。PandoraBoy就是这样。它是一个带有 Javascript 桥的现有 Flash 应用程序的薄包装器。我曾在其他 UI 上工作,这些 UI 是使用直接 DOM 操作以编程方式控制的 WebView 以获得非常好的效果(从未给人一种“网络应用程序”的感觉)。您可以使用 ObjC/Javascript 桥让 Javascript 调用 ObjC,而 WebKit 使从 ObjC 运行 Javascript 变得简单。
相关但相反的方向是Cappuccino,它是 Javascript 中的一个类似 Cocoa 的框架。
我不清楚您所说的“对 Windows 应用程序做同样的事情”是什么意思。
Titanium可以为您提供很多帮助,它基本上是一个带有 WebView(您正在寻找的东西)的 Cocoa 窗口,但是(好的部分)与 JavaScript 绑定到本机内容,例如访问文件系统、菜单栏、Dock 图标(即徽章) 、声音等。此外,它将在 Mac、Linux、Windows、iPhone 和 Android 上运行!
是的,有很多应用程序可以做到这一点。我认为他们通常存储 html 文件并使用 jquery 来获取更新的数据。它主要只是为用户提供了稍微快一点的体验,因为您只是检索数据而不是大部分 HTML。
这些限制主要是由于您无法访问所有 iPhone 控件和库。MapKit、邮件等
当然有可能。会有相当大的限制。这样的应用程序不能做任何网页不能做的事情。因此,例如,除非您编写支持 Cocoa 代码,否则使用标准的系统范围的文档处理支持将不可用。
不是你要问的,但是...
mProjector 是 Flash 的操作系统包装器。它就像 Flash 投影仪的扩展版本,带有系统 API,可让您访问 Mac/Win OS 功能。
这将使您能够使用 Web 技能来构建跨平台桌面应用程序。它比其他主要选择锌更便宜、更好。
Electron 是一个将 html、css、js 转换为可可应用程序的框架。
WKWebView 是 Safari Web Browser 中使用的 Web 浏览器。
如果您选择 WKWebView,请确保将您的 html 应用程序放在网页中,因为人们可以进入应用程序资源
Titanium 将自己标榜为开源软件,但开发人员必须注册一个帐户并保持与专有服务器软件的互联网连接才能使用该平台。