Native.js入门:东华医院信息平台的JavaScript交互

需积分: 12 37 下载量 2 浏览量 更新于2024-08-09 收藏 664KB PDF 举报
"本文档是关于DCloud的Native.js(NJS)的入门指南,讲述了如何开始使用NJS来扩展HTML5的能力,实现与手机操作系统原生对象的交互。NJS使得开发者无需原生开发环境,仅用JavaScript就能实现原本需要原生插件或混合应用才能完成的功能,提升了开发效率和Web工程师的角色地位。文档详细介绍了平台判断、类型转换等关键知识点,并提供了示例代码。" 在HTML5+环境中,Native.js(NJS)是一种关键技术,它允许开发者使用JavaScript直接访问和控制手机操作系统的原生功能。NJS的核心价值在于它扩展了HTML5的边界,让开发者可以用纯JS实现原本只能通过原生代码或混合应用(Hybrid App)才能完成的任务,同时减少了开发团队的需求,例如,只需要一个Web工程师就能完成原本需要iOS、Android和Web工程师合作的工作。 要开始使用NJS,首先需要判断当前运行的平台,这是由于Native API通常具有平台依赖性。通过`plus.os.name`属性可以获取设备的操作系统名称,然后使用`switch`语句进行条件判断。例如: ```javascript function judgePlatform() { switch (plus.os.name) { case "Android": // 在Android平台上执行的代码 break; case "iOS": // 在iOS平台上执行的代码 break; default: // 其他平台的处理 break; } } ``` 在NJS中,不同类型的数据在调用Native API或接收返回数据时会自动进行转换。以下是一些主要类型的对应关系: - 基本数据类型:如byte、short、int、long、float、double等在Objective-C、Java和JavaScript中分别对应不同的类型,但它们在NJS中统一为JavaScript的`Number`类型。 - 字符:Objective-C的char和Java的char类型在JavaScript中转换为`String`。 - 字符串:Objective-C的NSString、Java的String和JavaScript的`String`互相兼容。 - 数组:Objective-C的NSArray、Java的数组在JavaScript中表示为数组实例对象(InstanceObject)。 - 类和对象:Objective-C的@interface和Java的ClassObject在JavaScript中映射为`InstanceObject`。 - 空对象:nil、null在JavaScript中统一为`null`。 - 其他类型如Protocol、Interface、Object(JSON)等也有相应的转换规则。 此外,对于Android平台,可以通过`plus.android.runtimeMainActivity()`获取应用的主Activity对象。这个方法适用于那些在代码中没有显式创建,但在应用启动时自动创建的Activity。 NJS的这些特性极大地简化了HTML5应用与原生功能的集成,同时也降低了开发的复杂性和成本。通过HBuilder工具,开发者可以方便地调试和打包应用,无论是否拥有mac和xcode,都可以开发iOS应用。然而,使用NJS需要开发者对Native API有一定的了解,以便知道如何调用和转换相应的原生功能。