AICon日程100%就绪,9折倒计时最后一周 了解详情
写点什么

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

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

关注

评论

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

utf8字符集下的比较规则

Simon

MySQL 字符集

并发神器CSP的前世今生

soolaugust

并发编程 并发 Go 语言

Python处理PDF的实用姿势

程一初

Python 自动化 办公

Python处理图像文件的实用姿势

程一初

Python 自动化 办公

代理模式详解

大头星

前端科普系列(3):CommonJS 不是前端却革命了前端

vivo互联网技术

Java 大前端 脚本

Python处理邮件和机器人的实用姿势

程一初

Python 自动化 办公

【程序员自救指南】中关村保洁大叔的一句话竟然帮我转正了

华为云开发者联盟

服务器 数字化 华为云 企业上云 云服务器

Python处理PPT文件的实用姿势

程一初

Python 自动化 办公

Python处理音频文件的实用姿势

程一初

Python 自动化 办公

Python处理视频文件的实用姿势

程一初

Python 自动化 办公

解读 Reference

浮白

ThreadLocal Reference ReferenceQueue Finalizer WeakHashMap

LeetCode1160---拼写单词---Easy

书旅

LeetCode

MySQL从入门到精通

书旅

MySQL 索引

带你全面认识 Linux

简爱W

MacOS 环境下 Python 访问 MySQL

李绍俊

当地铁站都比你更努力

escray

学习 面试

详解责任链模式

大头星

前端科普系列(2):Node.js 换个角度看世界

vivo互联网技术

node.js 大前端

影响音视频延迟的关键因素(三): 传输、渲染

ZEGO即构

buffer API RTC sdk

从《三体》到“中美科技战”,3分钟理解“网络”D丝为什么要迎娶“算力”白富美

华为云开发者联盟

数据 网络 芯片 算力 三体

JavaScript 测试系列实战(一):使用 Jest 和 Enzyme 测试 React 组件

图雀社区

单元测试 自动化测试 Jest

LeetCode680-验证回文字符串 Ⅱ-Easy

书旅

LeetCode

Python处理Word文件的实用姿势

程一初

Python 自动化 办公

业务架构是什么?

周金根

BIZBOK 业务架构 IT帮 周金根

如何与面试官更好的沟通

escray

学习 面试

宿舍晚上温度高,那是你没听“鬼故事”

华为云开发者联盟

人工智能 AI 华为云 modelarts

数据库设计

Jayli

数据库

前端科普系列(4):Babel —— 把 ES6 送上天的通天塔

vivo互联网技术

Java 大前端 ES6

Python1024办公自动化系列

程一初

Python 自动化 办公

Python处理Excel文件的实用姿势

程一初

Python 自动化 办公

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