【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

NativeScript 2.4 版本发布,支持 Web Workers 规范

  • 2016-12-01
  • 本文字数:1619 字

    阅读完需:约 5 分钟

NativeScript 2.4 版本发布,该版本将支持 Angular 2.2、Node 6、ES6 和 ES7,同时附带了默认的 CSS 主题。

在 NativeScript 2.4 版本的发布声明中,来自Telerik 的Valio Stoychev 声称:“这是我们有史以来最重量级的一次发布。在过去的两个月里我们增加了很多新的功能,并且对原有功能进行了优化和改进。NativeScript 的插件社区已经拥有超过360 种插件可供开发者使用,插件社区所贡献的代码数量已经远超NativeScript 核心开发团队,这对任何一个开源项目来说,都是一个巨大的里程碑。”

NativeScript 2.4 版本中有一个备受关注的改进,Stoychev 是这样描述它的:“有了这个改进,我们可以在后台线程中执行代码,这样做可以大大减少 UI 线程的压力”。该特性曾在 NativeScript 的 2.2版本中被提到,根据 NativeScript 核心文档对多线程模型的描述,使用 Web Workers 规范的主要目的在于“解决 UI 刷新速度慢的问题,因为 UI 的响应速度和性能是十分重要的”。

开发人员可以使用 NativeScript 提供的解决方案来实现多线程开发——即使用多个工作线程。工作线程是一种在后台线程上运行的脚本,这些脚本运行在一个完全独立的环境中。一些可能花费较长时间来运行的任务应该被放置到工作线程中运行。

下面的图片中展示了 workers/image-processor.js 文件的代码内容

复制代码
require('globals'); // 我们需要在新的线程上来导入这个模块
onmessage = function(msg) {
var request = msg.data;
var src = request.src;
var mode = request.mode || 'noop'
var options = request.options;
var result = processImage(src, mode, options);
var msg = result !== undefined ? { success: true, src: result } : { }
postMessage(msg);
}
function processImage(src, mode, options) {
console.log(options); // 如果在这行语句调用之前,`globals`模块没有被导入,此处则会抛出一个异常
// 图像处理逻辑
// 存储图像,获得图像位置
// 返回处理过的图像地址
return updatedImgSrc;
}
// 这里不使用`onerror`来处理错误
// 这些错误则会直接传播到主线程的 Worker 实例

为了帮助开发人员在设计应用程序时更有效率,NativeScript 的代码示例项目现在已经有超过30 个代码示例,这些示例专门为常见的移动设备屏幕和功能而设计。NativeScript 现在默认附带了自己的CSS 主题。Stoychev 说,由于这些CSS 主题使用SASS 作为CSS 预编译器,开发人员可以通过改变SASS 变量来更换他们应用程序的主题颜色。

NativeScript 默认携带的主题有各种各样的 CSS 类可供开发人员直接使用,包括:标题、文本、字体、填充和边距、分隔线、工具、上下文颜色、滑块、开关、Tabviews 类等等,这里列出这些类和它们的详细描述。

NativeScript2.4 做到了开箱即用,该版本支持使用 ES6 和 ES7 语法来编写 NativeScript 应用程序,同时也支持 Angular 2.2 和 Node.js v6 LTS,这意味着最新发布的 Angular 开发工具可以得到 Angular SDK 的完美支持。

NativeScript 最新发行版在 JavaScript 社区有着十分高的活跃度。用户 dangoor 在 Reddit 上这样评论道:

我不是 Angular 的粉丝,但我喜欢 NativeScript 这种桥接的方法。 他绑定了平台的整个 API 层,使得这些 API 可以直接用于 JS,所以你基本上不必深入到 Java 或 Objective-C/Swift 语言的内部。虽然我认为这样做会降低应用程序的性能,但我仍然觉得这是一个很好的模型。

NativeScript 是开源的,并遵循 Apache 2.0 许可协议发布。 要升级到最新版本,开发人员可以访问 http://docs.nativescript.org/releases/upgrade-instructions

查看英文原文 NativeScript 2.4 Brings Web Workers Specification


感谢薛命灯对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2016-12-01 18:001848

评论

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

业务并发度不够,数仓的CN可以来帮忙

华为云开发者联盟

并发 执行计划 DWS CN 业务并发度

博文推荐|Apache Pulsar 轻装上阵:迈向轻 ZooKeeper 时代

Apache Pulsar

zookeeper 开源 云原生 pip Apache Pulsar

互联网裁员风暴的一些思考

慕枫技术笔记

3月月更

源声|听听赛博堡垒的锻造之路,以及云安全那些事儿

OpenTEKr

网络安全 软件开发 开源技术

社区动态|Apache Doris 社区喜迎新晋 PPMC & Committer

ApacheDoris

大数据 OLAP MPP apache doris apache 社区

【OH干货】给OpenHarmony 开发板配置网络

拓维信息

开源 OpenHarmony

数字资产管理系统解决方案

低代码小观

数字化 资产管理 企业管理系统 数字化经济 企业管理软件

Linux环境,C/C++语言手写代码实现线程池

Linux服务器开发

c++ 线程池 Linux后台开发 服务端开发 线程池源码

数据产品经理实战-如何做方案

第519区

数据产品经理 解决方案

【多云管理】多云管理如何化繁为简提高效率?

行云管家

云计算 企业上云 多云管理 多云

Android 中Scheme协议的使用详解

CRMEB

大数据培训-Spark深入理解RDD和关键角色

@零度

spark 大数据开发

2022年中国智能支付终端市场专题分析

易观分析

数字人民币 智能支付终端

Redis(一)原理与基本使用

神农写代码

破解数据库内核人才困局:PingCAP 的思考与尝试丨Talent Plan 专访

PingCAP

Kubernetes官方java客户端之二:序列化和反序列化问题

程序员欣宸

Kubernetes java client

被Altair圈粉了!这款Python数据可视化库真香!

博文视点Broadview

Kube-OVN:大型银行技术团队推荐的金融级云原生网络方案

York

容器 云原生 金融科技 两地三中心 云原生网络

企业级项目协作工具 ,原来跨项目协作这么简单

阿里云云效

云计算 阿里云 项目管理 项目协作 项目协作工具

NVIDIA 英伟达发布H100 GPU,水冷服务器适配在路上

蓝海大脑GPU

全方位讲解 Nebula Graph 索引原理和使用

NebulaGraph

索引 知识图谱 #数据库

《假如你身处被“科技制裁”的俄罗斯》之数据库专家访谈 | 墨天轮专访

墨天轮

数据库 oracle 开源 国产数据库 MySQL 数据库

汇聚创新力量 企业智能化转型开源社区“星策”正式成立

第四范式开发者社区

程序员 金融 开源社区 企业转型 企业数据化转型

最新太原市五家正规等保测评机构名单看这里!

行云管家

网络安全 等保 等保测评 太原 等保测评机构

一文简述:如何进行数据库选型及扩展

穿过生命散发芬芳

3月月更

与吴恩达创办Coursera后,她一头扎进数字生物学

OneFlow

人工智能 机器学习 深度学习 吴恩达 生物医药

java培训基础知识-抽象类和接口

@零度

Java 接口 抽象类

OpenHarmony v3.1 Release版本发布

OpenHarmony开发者

OpenHarmony

企业知识管理常见的误区及解决方案

小炮

企业知识管理

架构训练营-模块一

哈喽

「架构实战营」

打通源码!高效定位代码问题|云效工程师指北

阿里云云效

阿里云 源码 云原生 代码 代码管理

NativeScript 2.4版本发布,支持Web Workers规范_JavaScript_James Chesters_InfoQ精选文章