写点什么

NativeScript:跨平台原生移动应用开发工具

  • 2015-03-17
  • 本文字数:944 字

    阅读完需:约 3 分钟

NativeScript Telerik 开发的一款从单一代码库构建多平台原生移动应用的开发工具,使开发人员可以使用 JavaScript 和 CSS 为 iOS、Android 和 Windows Phone(很快就会支持)平台编写原生移动应用,并且跨平台共享代码。

Telerik 的副总裁 Todd Anglin告诉InfoWorld ,“NativeScript 将在由iOS(JavaScriptCore)、Android(V8)和Windows(Chakra)提供的原生JavaScript 虚拟机上运行JavaScript”。同时,它提供了“一个JavaScript 代理,将所有底层的原生iOS/Android/Windows API 暴露给这些JavaScript 引擎,从而使JavaScript 可以完全控制本地设备。”

NativeScript 还处理跨平台的原生 UI。它提供了一种标记语言,可以在应用构建时编译成平台相关的 UI 窗口小部件。例如,当开发人员向应用添加了一个按钮,NativeScript 将自动使用 iOS、Android 和 Windows 提供的、恰当的按钮 UI 控件。也就是说,NativeScript 是通过底层的 JavaScript 引擎来控制原生 UI 层。所以,NativeScript 应用的整个用户体验都是原生的,支持与原生应用相同的可访问性模型。

根据 NativeScript GitHub 页面的介绍,Telerik 公司并不想围绕该框架重新创建一个生态系统,而是希望加入现有的 JavaScript 和原生 iOS/Android/Windows 生态系统。因此,NativeScript 不仅支持现有的 JavaScript 库,而且还支持现有的原生 Objective-C、 Java 和.NET 库。不过,开发人员并不用为了重用这些库去了解这些语言,因为所有的 API 都是用 JavaScript 提供的,而且未经修改。也正是因为这个原因,当苹果、谷歌和微软更新他们的移动平台时,开发人员可以使用最新的原生 API 和新增的 UI 组件,而不需要任何官方支持。

Appcelerator Titanium 的目标也是通过 JavaScript 构建原生移动应用,但 Anglin 认为它定制太多。同时,他认为,“不依赖于浏览器 /Web UI 层是 NativeScript 应用与混合应用(如 PhoneGap 和 Sencha)的一个重大区别。它渲染独立于浏览器的原生 UI……”

Telerik 将在本周推出一项 beta 测试计划,并将于 4 月底发布 NativeScript 1.0。


感谢郭蕾对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2015-03-17 00:314847
用户头像

发布了 1008 篇内容, 共 430.4 次阅读, 收获喜欢 346 次。

关注

评论

发布
暂无评论
发现更多内容

不愧是Alibaba技术官,Kafka的精髓全写这本“限量笔记”里,服了

Java 架构 面试 分布式

同样都是使用接口,JAVA和Go差距咋就这么大呢?

面向加薪学习

去中心化的互联网,区块链域名如何对抗在线审查

CECBC

Rust从0到1-自动化测试-如何编写测试

rust 自动化测试 如何编写测试 Automated Tests

融云年中大促 新老用户同享超值优惠

融云 RongCloud

马士兵强推面试前必刷:Alibaba内部Java高级架构师380道面试题

Java架构追梦

Java 阿里巴巴 面试 java架构

一觉醒来,发现自建的数据库被勒索了,好可怕…

华为云数据库小助手

数据库 高可用 安全性 DAS

Kafka 源码解析:Server 端的运行过程

华为云开发者联盟

kafka 网络 Server 端 SocketServer

云小课 | 云硬盘不用了如何处理?

华为云开发者联盟

华为云 云硬盘 退订 删除 回收站

测试开发之网络篇-IP地址

禅道项目管理

IP 协议 IP地址

从网络平台到城市平台——城市数字化的另类思考

CECBC

从五大结构体,带你掌握鸿蒙轻内核动态内存Dynamic Memory

华为云开发者联盟

鸿蒙 内存管理 结构体 动态内存 Dynamic Memory

破局团伙作案风险——图卷积神经网络(GCN)算法

索信达控股

金融科技 数字化转型 数据建模 风险管理 图卷积神经网络

超清音质实时会议系统的背后 ,深入剖析 AliCloudDenoise 语音增强算法

阿里云CloudImagine

阿里云 音视频 语音 视频会议 算法实践

Docker被谁干掉了?

BUG侦探

Docker 云计算 Go 语言

使用 Java 编写 Apache APISIX 插件

API7.ai 技术团队

Java 云原生 后端 插件 网关

如何设计好一个接口

🎄新

架构 设计 接口

构建WEB项目的 25 个HTML建议

devpoint

html 6月日更

原来 spring.xml 配置的 destroy-method 需要用到向虚拟机注册钩子来实现!

小傅哥

Java spring 注册虚拟机钩子 init-method destroy-method

拍乐云 x 美上美学|监管当下,如何回归教育本质,打造品质和体验?

拍乐云Pano

RTC

不知道我写的链表是否能看懂

八点半的Bruce.D

php 数据结构 链表

RS485通信如何设计EMC电路?

不脱发的程序猿

电路设计 通信总线 RS485 EMC设计 通信抗干扰

“区块链指导意见”重磅发布 场景化应用昭示新蓝海

旺链科技

区块链应用 区块链供应链金融落地

EBean ORM 框架介绍-3.实体草稿功能

Barry的异想世界

jpa ORM Ebean

nodejs学习记录

Node

HarmonyOS 实战—服务卡片初体验

爱吃土豆丝的打工人

HarmonyOS 服务卡片 鸿蒙卡片

anyRTC 重磅推出在线实时 K 歌解决方案

anyRTC开发者

音视频 WebRTC 实时通讯 在线KTV

高性能计算对生命科学研究有何帮助?

北鲲云

云计算 高性能计算 生命科学 虚拟筛选

用node写个简单的脚手架!

Node cli

JAVA面向对象(十一)--多态

加百利

Java 6月日更 多态

一进商场就迷路?ThingJS用室内导航拯救路痴!

ThingJS数字孪生引擎

程序员 大前端 可视化 3D可视化 数字孪生

NativeScript:跨平台原生移动应用开发工具_JavaScript_谢丽_InfoQ精选文章