我是离子和混合发展的新手。试图弄清离子API如何在移动OS上转换。
让我们以下两个API。Ionic2提供以下两个API。
这是一个Ionic2 API,可让您控制键盘。
https://ionicframework.com/docs/api/platform/Keyboard/
这个也是离子2 API,但它们称其为离子本机API。
https://ionicframework.com/docs/native/keyboard/
我的具体问题。
这两者有什么区别?我很感激能够描述这些API中每个API的流程结束的答案。到一端,我的意思是JS堆栈,一些Cordova桥,Web视图和本机功能/Java/obj-c
一般来说,离子API与在Web视图中运行的实际"应用"有关,而离子本机API用于与您的设备交谈。
我认为键盘API是一种特殊情况,我从未注意到有两个"不同"的API。API并不相同,因此我的建议是尝试使用最适合您需求的API(如果两者都可以使用,我将使用离子API https://ionicframework.com/docs/docs/api/platform/keyboard/(。
在混合开发中使用设备的本机功能的方式是使用Cordova插件。这些插件为您提供了用于执行本机Java/Objective-C代码的JavaScript接口。理想情况下,Cordova插件支持iOS和Android,这意味着您不必担心使用该功能时应用程序正在运行的平台。
由于离子是用打字稿构建的,因此它们维护离子本机,以使使用Cordova插件更容易使用。它只是围绕常规Cordova插件的包装纸,并具有一些额外的功能,例如承诺支持和类型。使用Cordova插件时,您不必使用离子本机,但是如果离子本地支持该插件,我强烈建议使用它。
这里的离子API https://ionicframework.com/docs/api/是与您的应用程序行为互动的API。您可以使用它来控制导航,模态,无限 - 滚动等。
您的"端到端流"在很大程度上取决于您要实现的功能。
作为经验法则,我总是会首先在离子API中寻找功能。离子API通常提供大多数人需要的功能。但是,如果您需要与设备的本机功能进行交谈(需要GPS或访问存储等设备数据等(,则必须找到一个可执行您需要的Cordova插件。如果找到一个,请检查是否有离子本机包装器。