我在想,创建一个基本上只是一个带Web视图的界面的Cocoa应用程序是否可行?做这样的事情会有一些严重的限制吗?
如果它“可行”,那是否也意味着你可以为Windows应用程序做同样的事情?
答案 0 :(得分:6)
当然可以创建一个只是一个Cocoa窗口的应用程序,其中包含一个Web视图。这是否可以被称为“可可应用程序”是值得商榷的。显然像应用程序菜单这样的东西需要一些Cocoa粘合代码,所以是的,只有HTML和JS才能做多少。
你还必须仔细考虑如何处理本地化(复制每种语言的整个HTML和JS源是不可取的),并且有很多接口结构会更加困难。创建比他们使用Cocoa,和/或对于习惯OS X外观的人来说不会觉得原生。并且您将通过使用解释性语言放弃一些表现,这对您的应用程序可能或不重要。
OS X的应用程序是以这种方式构建的,它们通常感觉像坏端口;如果你的目标是制作一个真正的Mac应用程序,它可能不是一个好的方法。
答案 1 :(得分:2)
iPhone OS拥有出色的设施,可让网络应用程序成为设备上的一等公民。您可以将您的网络应用程序图标添加到跳板,就像Cocoa应用程序一样,您可以在本地存储数据以及许多其他非常简洁的东西......查看these examples或ADC documentation。
答案 2 :(得分:1)
不确定。 PandoraBoy就是这样。它是一个包含Javascript桥的现有Flash应用程序的薄包装器。我已经使用直接DOM操作编程控制WebViews的其他UI,以获得非常好的效果(没有给人一种“Web应用程序”的感觉)。您可以使用ObjC / Javascript桥接器让Javascript调用ObjC,而WebKit可以直接从ObjC运行Javascript。
相关,但在相反的方向,有Cappuccino,这是Javascript中类似Cocoa的框架。
我不清楚你的意思是“为Windows应用程序做同样的事情。”
答案 3 :(得分:1)
Titanium可以帮到你很多,它基本上是一个带有WebView的Cocoa窗口(你正在寻找的东西),但是(好的部分)JavaScript绑定到本机的东西,如访问文件系统,菜单栏, Dock图标(即徽章),声音等。此外它还可以在Mac,Linux,Windows,iPhone和Android上运行!
答案 4 :(得分:0)
是的,有不少应用程序可以做到这一点。我认为他们通常存储html文件并使用jquery来获取更新的数据。它主要是为用户提供稍微快一点的体验,因为您只检索数据而不是大量的HTML。
这些限制主要是因为您无法访问所有iPhone控件和库。 MapKit,Mail等。
答案 5 :(得分:0)
当然有可能。会有很大的局限性。这样的应用程序无法执行网页无法执行的任何操作。因此,例如,除非您编写支持Cocoa代码,否则使用标准的系统范围文档处理支持将会消失。
答案 6 :(得分:0)
不是你要问的但是......
mProjector是Flash的OS包装器。它就像一个带有系统API的Flash投影机的扩展版本,可让您访问Mac / Win OS功能。
这将使您能够使用网络技能构建跨平台桌面应用。它比其他主要选项Zinc更便宜,更好。
答案 7 :(得分:0)
Electron是一个将html,css,js转换为可可应用程序的框架。
WKWebView是Safari Web浏览器中使用的Web浏览器。
如果选择WKWebView,请确保将html应用程序放在网页中,因为人们可以进入应用程序资源
答案 8 :(得分:-2)
Titanium将自己定位为开源软件,但开发人员需要注册帐户并维护与专有服务器软件的互联网连接才能使用该平台。