Native.js入门:东华医院信息平台的JavaScript交互
需积分: 12 123 浏览量
更新于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有一定的了解,以便知道如何调用和转换相应的原生功能。
2017-05-17 上传
2021-10-24 上传
2021-10-24 上传
2021-04-22 上传
sun海涛
- 粉丝: 36
- 资源: 3840
最新资源
- T5:简单易用的配置文件读取库-开源
- trello-bookmarklets
- pause-methode
- school_back:回到学校的服务器
- monad-[removed]JavaScript中的Monad
- Simple Way to Usenet:Usenet Report Engine受到了已终止的newzbin的极大启发-开源
- C++14语言特性和标准库-第一部
- RCON-Bot:连接到SourceDS服务器并在指定通道中镜像控制台的discord Bot
- CAJ文件阅读器安装包
- login-lecture:登录讲座
- register-login-api:注册和登录功能的相关中间件使用
- 基于ASP.NET超市管理系统毕业设计成品源码讲解
- 你好,世界
- 基于python+django+NLP的评论可视化系统
- 货币换算增强版-crx插件
- ybubby:我的GitHub个人资料的配置文件