apache cordova可以与目标c混合使用吗?

时间:2014-12-25 05:52:08

标签: ios cordova

apache cordova是否意味着将原生语言替换为所需的运行时功能,还是要与它们一起使用?例如,如果我在目标c中编写的名为iTime的iOS应用程序可以使用NSTimer运行秒表,那么我可以在Cordova中编写一些代码来启动现有iTime应用程序中的cordova iOS相机插件功能?或者只能使用带有cordova代码的Cordova。我是apache Cordova的新手。我的问题是:apache cordova能否与目标c混合使用或仅代替它。

2 个答案:

答案 0 :(得分:1)

Apache cordova是一个可以帮助开发混合应用程序的框架。 是的,为了避免在本机代码上实现,应用程序是在hybrid中开发的。但这并不意味着本机代码被完全忽略或删除... Apache绑定了本机特定代码作为插件包含的方式在安装时,这些代码被添加到应用程序结构中,并与基于Web的语言的功能一起执行,这些语言可以在本机webkit框架上执行功能

正如示例所说,你有一个原生应用程序,并使用cordova添加一个功能..问题是,因为它是一个常见的功能,为什么从那里去寻找混合代码?...毕竟什么是cordova去做的是添加可用于此类功能的样板代码,以添加到代码中并与混合代码互连。

Hybrid是一种从头开始开发的全新方式,因此多平台可以支持相同的代码库。但是某些功能的本机实现是不可避免的,因此它们将是或者必须使用本机代码运行

插件是这些应用程序的主要功能支持者,在开发插件时,您实际上是在编写本机代码,并提供从混合端到本机的调用执行要求并返回[回调] JS代码。

工作原理

原生网络工具包[UIWebview] =>在cordova的帮助下显示/运行JS作为应用程序 如果你需要一个不能通过原生webkit [本机浏览器] / js [hybrid]无法调用的功能=== Cordova提供整数逻辑来调用本机代码作为插件===>调用本机代码= >执行=>将运行控制权交还给混合。

这是它的工作原理。希望你理解

浏览文档...查看一些示例...当然,请尝试编码以便更好地理解。

没有人想在原生应用中使用混合代码......它总是在混合应用中使用本机代码。

顺便说一下:我在3个环境中工作过:iOS,Android和cordova

答案 1 :(得分:1)

你可以做任何你想做的事,你可以用原生代码创建应用程序(完全原生代),你可以使用html,css和javascript(完整的cordova)创建它们,你可以混合它们嵌入cordova webview进入你的本土项目(真正的混合)

http://cordova.apache.org/docs/en/4.0.0/guide_platforms_ios_webview.md.html