2009-06-24 86 views
3

我在想,创建一个基本上只是一个Web视图界面的Cocoa应用程序是否可行?或者在做这样的事情时有一些严重的限制吗?你可以用HTML/CSS和Javascript编写Cocoa应用程序吗?

如果这是“可行”,这是否也意味着您可以为Windows应用程序做同样的事情?

+0

您可能想澄清您是在讨论Mac或iPhone应用程序。 – smorgan 2009-06-24 14:57:09

回答

6

肯定可以创建一个应用程序,它只是一个内部有web视图的Cocoa窗口。是否可以有意义地称为“可可应用程序”是有争议的。显然,应用菜单等内容需要一些Cocoa胶水代码,所以是的,在HTML和JS中可以做多少限制。

你还必须仔细考虑你将如何处理本地化(重复每个语言的整个HTML和JS源代码是不可取的),并且有很多接口构造会更困难创造比他们将要使用Cocoa更好的效果,并且/或者对于习惯OS X外观的人来说不会感到自己的本能。而且,您将通过使用解释型语言放弃某些性能,这对您的应用而言可能并不重要。

OS X的应用程序是以这种方式构建的,并且它们通常感觉像坏端口;如果您的目标是让感觉像一个真正的Mac应用程序,它可能不是一个好的方式去。

+0

Logitech Harmony远程软件曾经以类似的方式完成,很显然它不是原生的可可应用程序,因为它使用起来非常痛苦。 – 2009-06-25 11:21:10

+0

WebKit和JavaScriptCore有许多特定于供应商的CSS和JS特性,它们允许更广泛地访问本机Mac外观和行为,而不是标准HTML/CSS/JS。不幸的是,最后一次检查时,很多关于行为结尾的信息都被记录在案,并要求开发人员进入Cocoa文档以找出可能的结果。如果你正在开发Cocoa目标,那么学习Cocoa可能是一个更好的投资。 – eyelidlessness 2010-10-17 16:25:16

0

是的,有相当多的应用程序可以做到这一点。我认为他们通常存储的HTML文件,并使用jQuery获取更新的数据。它主要是为用户提供更快的体验,因为您只是检索数据而不是HTML的大部分。

这些限制主要是由于您无法访问所有iPhone控件和库。 MapKit,邮件等。

1

当然。 PandoraBoy就是这样。这是一个使用Javascript桥梁的现有Flash应用程序的薄包装。我已经在其他用户界面编程控制WebViews使用直接DOM操作来获得非常好的效果(没有给过任何“Web应用程序”的感觉)。您可以使用ObjC/Javascript桥接让Javascript调用ObjC,而WebKit可以直接从ObjC运行Javascript。

相关,但在相反的方向,有Cappuccino,这是一个Javascript中的类可可框架。

我不清楚你的意思是“对Windows应用程序做同样的事情”。

2

iPhone操作系统拥有极好的设施,可以让网络应用程序充当设备上的一等公民。您可以将Web应用程序图标添加到跳板,就像Cocoa应用程序一样,您可以在本地存储数据以及其他许多非常简洁的内容......查看these examplesADC documentation

0

当然这是可能的。会有很大的局限性。这样的应用程序无法做任何网页无法做到的事情。因此,例如,除非您编写了支持Cocoa代码,否则使用标准的系统范围文档处理支持将不复存在。

1

Titanium可以帮助你很多,它基本上是一个带有WebView的可可窗口(你正在寻找的东西),但是JavaScript的绑定本身的东西,比如访问文件系统,菜单栏,Dock图标即徽章),声音等,加上它可以在Mac,Linux,Windows,iPhone和Android上运行!

-2

作为开源软件的钛账单本身,但开发人员需要注册一个帐户,并保持与专有服务器软件的互联网连接,以利用该平台。

0

你问的不太什么,但...

mProjector是对Flash的操作系统包装。这就像一个带有系统API的Flash投影机的扩展版本,可让您访问Mac/Win OS功能。

这将使您能够利用网络技能构建跨平台桌面应用程序。它比其他主要选项锌更便宜和更好。

相关问题