【问题标题】:Can I write iOS (Cocoa) apps in JavaScript?我可以用 JavaScript 编写 iOS (Cocoa) 应用程序吗?
【发布时间】:2011-01-13 00:07:47
【问题描述】:

PhoneGap 为使用 HTML5 和 JavaScript 编写跨平台应用程序提供了一个很好的解决方案。

但我想为 UI 使用 Interface Builder,并且只用 Javascript 而不是 Objective-C 编写所有控制器代码(当然可以选择混合和匹配,特别是调用我所使用的任何 Objective-C 库)可能需要)。

有这个框架吗?类似于 CamelBones 为 Perl 所做的事情。

想要这样做的原因是非 UI 代码可以理想地用 JavaScript 编写,以便在 Web 版本、未来可能的 Android PhoneGap 版本和服务器端 (node.js) 中重复使用。

【问题讨论】:

  • 您可以尝试CappuccinoSproutCore,尽管这实际上是针对使用类似可可技术的网络构建。我的建议是接受它并使用Objective-C。这并不是那么糟糕;)
  • 巧合的是,O'Reilly 有一本名为 Learning the iOS SDK for JavaScript Programmers 的 O'Reilly 书,oreilly.com/catalog/0636920010265 但它与 用 JavaScript 以及与跳转到 Obj-C 相关的一切;)
  • 那我就不买那本书了……
  • 并且 O'Reilly 的那本书读起来不太好,恕我直言 - 它非常冗长,没有足够的示例代码。我最终停止阅读它,只是观看了 youtube 教程来掌握 Objective-c

标签: javascript cocoa-touch ios


【解决方案1】:

您可以尝试使用 Appcelerator 的 Titanium 产品。它可以让你用 HTML+Javascript 编写原生 iPhone 应用程序。

查看here。我没用过,不过好像是你想要的。

【讨论】:

  • 这看起来确实可以利用原生 UI 组件。不过,没有提到 Interface Builder,它似乎仍然在 WebView 中运行。我想如果 HTML/CSS 有足够好的抽象,所以我不必接触它,它会起作用(我真的不想编写我的 UI,我想要一个构建器)。
  • 这是 Titanium 和 PhoneGap 之间的比较(即使接受的答案似乎是错误的):stackoverflow.com/questions/1482586/…
  • 显然,他们最近从使用 WebView 切换到更原生的东西,所以它可能非常接近我正在寻找的东西:developer.appcelerator.com/question/71/…
【解决方案2】:

另一种可能性是使用 iOS Javascript Bridge 用 Ja​​vascript 编写应用程序。

https://github.com/coolbloke1324/iOS-JavaScript-Bridge

【讨论】:

  • 看起来很酷。 “您的 JS 包含在 JavaScriptCore 的自定义构建中并在其中执行,因此不会进行私有 API 调用”。太糟糕了,您必须发送您自己的该库的副本。我想知道它有多大。如果 Apple 将其设为公共 API,那就太好了。
【解决方案3】:

你可以试试JSCocoa。它让您可以像桥梁一样使用 JavaScript 编写 Cocoa 应用程序。

它适用于 Mac 和 iPhone。它还可以在您开发时与 Interface Builder 一起使用。

【讨论】:

【解决方案4】:

Here's an article 提到了一些使用 Objective-C 的替代方法

【讨论】:

    【解决方案5】:

    偶然发现了这个(旧)问题,但想通过提及 NibleKit (http://www.nimblekit.com/index.php) 做出贡献,让您只使用 HTML 和 Javascript 构建原生 iOS 应用程序。

    【讨论】:

    • 我找到了相同的链接,但在当前日期(2014 年 10 月 2 日),它有以下通知:“NimbleKit 已被 Sencha Inc 收购,停止销售许可证,直至另行通知”。
    猜你喜欢
    • 2021-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-08
    • 1970-01-01
    • 1970-01-01
    • 2010-12-03
    • 2021-01-20
    相关资源
    最近更新 更多