阿里云「飞天发布时刻」2024来啦!新产品、新特性、新能力、新方案,等你来探~ 了解详情
写点什么

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:314396
用户头像

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

关注

评论

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

双非二本程序员,年近30,5年间在大厂中横跳,工资翻了三番

程序知音

Java java面试 后端技术 秋招 Java面试八股文

存储资源盘活系统,“盘活”物联网架构难题(上)

天翼云开发者社区

认识 ESP-IDF-v4.3+工程结构(ESP32-C3应用调整示例)

矜辰所致

ESP32-C3 9月月更 ESP-IDF

软件测试 | 测试开发 | Golang死信队列的使用

测吧(北京)科技有限公司

测试

元年洞察|数字化转型进程中的创新技术菜谱

元年技术洞察

数据中台 数字化转型 趋势研究

AntDB数据库与鼎甲科技完成产品互认证,共筑数据安全防线

亚信AntDB数据库

AntDB AntDB数据库

仅靠一文便火爆全网!开源阿里绝密800页JDK源码笔记:霸榜GitHub

Geek_0c76c3

Java 数据库 程序员 架构 开发

医疗卫生机构应该多久进行一次等保测评?

行云管家

网络安全 信息安全 等保测评 等级测评

软件测试 | 测试开发 | 一种能有效缓解环境噪声对音频质量干扰的方案

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | Shell 进程通过 ContentProvider 实现跨进程通信

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | InfluxDB 2.0 原理与应用实践

测吧(北京)科技有限公司

测试

计算机网络——媒体接入控制的基本概念

StackOverflow

编程 计算机网络 9月月更

软件测试 | 测试开发 | 利用 rpush 和 blpop 实现 Redis 消息队列

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | gitlab 服务端 hook, 拦截糟糕的提交到仓库

测吧(北京)科技有限公司

测试

架构实战营模块1作业

乖乖IvyShine

软件测试 | 测试开发 | Pytorch GPU 训练环境搭建

测吧(北京)科技有限公司

测试

MySQL查询数据库表记录数

源字节1号

数据中台打造企业数据能力组件中心

元年技术洞察

数据中台 SaaS服务应用 PaaS平台化能力

leetcode 572. Subtree of Another Tree 另一棵树的子树 (简单)

okokabcd

LeetCode 数据结构与算法

软件测试 | 测试开发 | Spring boot 之 RestTemplate访问

测吧(北京)科技有限公司

测试

计算机网络——媒体接入控制——静态划分信道

StackOverflow

编程 计算机网络 9月月更

一文读懂“云游戏”

Finovy Cloud

人工智能 云渲染 云游戏

边缘计算在视频直播场景的应用与实践

火山引擎边缘云

边缘计算 视频直播 火山引擎边缘计算

AntDB入选《爱分析:2022数据智能厂商全景报告》

亚信AntDB数据库

AntDB AntDB数据库

Forrester发布中国数据治理生态报告,亚信科技AntDB数据库等四款数智产品入选

亚信AntDB数据库

AntDB AntDB数据库

计算机网络——点对点协议PPP

StackOverflow

编程 计算机网络 9月月更

软件测试 | 测试开发 | 自定义form表单验证

测吧(北京)科技有限公司

测试

运维学网络安全还是云计算好?哪个更有前景?

行云管家

云计算 运维 网络安全

用 nodejs 搭建脚手架

coder2028

node.js

javascript 高级编程 之 Array 用法总结

hellocoder2029

Vue

led显示屏的合理亮度很有必要

Dylan

LED显示屏 全彩LED显示屏 led显示屏厂家

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