如何用JS调用几十万原生API

JavaScript05

如何用JS调用几十万原生API,第1张

NativeScript的工作原理:用JavaScript调用原生API实现跨平台

NativeScript是最近推出的一个跨平台解决方案,可以让你可以用JavaScript来直接写Android、iOS本地应用程序,未来还即将扩展到Windows平台。是最近比较受关注的项目。它与 nw (原名node-webkit ,用Web写winodw/linux桌面应用)和 phonegap内嵌webview写APP的实现方式有着本质的不同,它直接用JavaScript调用系统原生API,因而有一些原生应用的特点。

NativeScript是一个运行环境,可以让你使用通用的JavaScript代码,打造原生的iOS,Android和Windows(即将推出)应用程序。 NativeScript有很多很酷的功能,比如支持JavaScript对象双向绑定到原生UI组件,以及用CSS为原生应用程序写样式。但我最喜欢的功能是NativeScript可以让您直接访问本地平台的原生API。

注* 可以理解为NativeScript是一个JavaScript V8运行环境的命令转发代理,将JavaScript调用转发给不同平台上的原生API如Android、iOS,以及即将支持的Windows。

例如,看看这个NativeScript写的Android应用程序的代码:

1

2

3

var time = new android.text.format.Time()

time.set( 1, 0, 2015 )

console.log( time.format( "%D" ) )

你只需要一两分钟来分析一下就明白了,这段JavaScript代码实例化一个Java android.text.format.Time()对象,调用其set()方法,然后打印format后的返回值,是字符串“01/01/15”。

我知道你已经很激动了,先不要慌,让我们再来看看iOS的代码:

1

2

3

4

var alert = new UIAlertView()

alert.message = "Hello world!"

alert.addButtonWithTitle( "OK" )

alert.show()

这段JavaScript代码实例化一个Objective-C UIAlertView类,设置它的信息属性,然后调用它的addButtonWithTitle()和show()方法。当您运行这段代码,你会看到hello word的警告框。

如果你已经熟悉了npm的使用,NativeScript模块非常容易编写,分发和使用。就个人而言,作为一个Web开发人员,原生的iOS和Android代码让我害怕,尤其是当Java / Objective-C的API文档扔在一起的功能,它降低了我们跨平台开发的障碍。

还有HBuilder 也可以调用api

在我简单的理解就是。API是提供给不同语言的一个接口,也就是对应的函数里面提供了相应的方法。我们只要用js的语法去调用想要的功能就可以。例如js里面的BOM有screen的方法,他就是浏览器提供给我们的接口,能够对浏览器进行操作。您可以去百度JS的api有很多的功能,我们要记住他们是很难的,只要知道有这样的东西,到时候直接去网上找调用的方法就可以了,例如有百度地图的API。调用的话就可以实现地图功能。而不是我们自己去写一个地图的功能。