写点什么

跨平台移动端开发框架 NativeScript 发布正式版本

  • 2015-05-12
  • 本文字数:1611 字

    阅读完需:约 5 分钟

“一次编码,处处运行”一直是应用程序开发人员的梦想。在传统的桌面应用开发中,Java 等虚拟技术已经在梦想实现的路上迈出了很大一步。随着移动应用的强势崛起,多平台开发再次成为程序设计人员所必须解决的问题。利用 HTML 和 JavaScript,Hybrid App 作为一种有效的解决方案已经取得了一定的成功。但是,对流媒体处理速度慢的缺陷使得该方案越来越难满足用户需求。在这种情况下,开发人员迫切需要一种新的跨平台开发的解决方案来应对挑战。NativeScript 就是一款由 Telerik 公司提出的跨平台原生移动应用的开发框架。该项目的目的是利用单一代码库构建面向多平台的原生移动应用程序,支持 iOS、Android、Windows Phone 等主流的移动操作系统平台。NativeScript 为开发人员提供便捷之处在于利用 Javascript 和 CSS 就可以进行原生用户体验的移动应用开发。而且,Nativescript 的源代码直接托管在 GitHub 上,真正实现了零门槛约束。

JavasScript 因为易学易用的语言特点,早已被广大程序开发人员所掌握。而随着主流移动平台推出强劲的 JavaScript 处理引擎(iOS 7 及以后版本的 JavaScriptCoew、Android 自带的 V8 JavaScript Engine),使用这些引擎来进行跨平台开发也成为高效的解决方案。据 Teletrik 公司的开发大使 TJ VanToll 透露,NativeScript 的基本运行原理如下:用户首先用 JavaScript 语言编写应用程序,然后利用各平台的处理引擎对应用进行解释。之后,NativeScript 运行时环境找到原生的目标 API,将 JS 数据类型转化为相应的原生类型,从而运行平台的原生代码。采用这种方式使得 NativeScript 可以配合最新的平台 API 以及各种第三方库,方便应用程序更新。此外,NativeScript 借助一套类似 node 的包管理系统,用 modules 对这些不同平台的代码进行了统一的封装。对于 UI 的处理,NativeScript 选择了使用类似 Android 的 XML 的方式进行布局,然后用 CSS 来控制控件的样式。

NativeScript 的第一个公开版本在两个月前一经发布便受到了广泛关注。很多开发人员积极反馈对于 NativeScript 的意见以及建议。近期, NativeScript 进一步推出了正式版本——NativeScript 1.0.0。在新版本中,开发人员特别加入了一些新的特性来满足用户的需求。例如,NatvieScript 提供了一些应用程序样例,帮助开发人员进行更好的了解该工具的使用。样例中包含了 TelerikNEXT 会议的官方应用软件和一款名为 Friends 的软件。这两个软件的源代码都已经放在了 GitHub 中 NativeScript 目录下,供用户下载和研究。此外,对于不同分辨率的设备,NativeScript 实现了不同的视图,并提供不同分辨率的图片,来提升用户体验。AngularJS 2.0 也已经初步集成在了 NativeScript 中,供网页开发人员使用。而且,NativeScript 还加强了对于调试方面的支持。这包括支持“—print-app-output”来记录软件控制台的所有输出以及在仿真器上进行调试等。最后,该版本的 NativeScript 还特别改善了 Android 设备上应用程序的加载时间。

其实,NativeScript 所代表的解决思路就是使用已经被广大前端开发者所掌握的工具链和语言来进行移动应用程序开发。其一经推出必然会收到很多前端开发者的欢迎,但是使用 JavaScript 所面临的 UI 问题仍然存在。此外,跨平台开发框架面临的应用程序尺寸的问题以及复杂应用程序开发中的调试问题也是 NativeScript 发展所遇到的挑战。通过正式版发布时所更新的特性,读者可以看出 NativeScript 有信心应对这些挑战。据 Teletrik 公司官方博客表示,未来 NativeScript 的发展将会关注 iOS 系统中第三方静态库的支持、NativeScript 插件的支持,Android 系统编译时间的优化以及应用程序内部的错误报告支持等方面。


感谢崔康对本文的审校。

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

2015-05-12 06:204459
用户头像

发布了 268 篇内容, 共 130.6 次阅读, 收获喜欢 24 次。

关注

评论

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

c++笔记——类

菜鸟小sailor 🐕

c++

MySQL-技术专题-解决死锁问题

码界西柚

MySQL-技术专题-存储引擎详解

码界西柚

Minds Factory 2020 HUAWEI HiCar 创新活动

Jessie

物联网 创新 智能 汽车 大赛

DB-Engines 10月数据库排名:“三大王”无人能敌,PostgreSQL紧随其后

华章IT

数据库 postgresql Clickhouse MySQ

解密360容器云平台的Harbor高可用方案

博文视点Broadview

容器 高可用 云原生 k8s Harbor

违规内容屡屡曝光下,企业如何自救

Geek_e670ab

技术分享丨华为鲲鹏架构Redis知识二三事

华为云开发者联盟

redis 鲲鹏

英特尔为北京2022年冬奥会打造智慧新体验

E科讯

程序员的美丽假期(并不)

Learun

程序员 敏捷开发 软件设计

看这里!带你快速体验MindSpore V1.0(For ubuntu 18.04)

华为云开发者联盟

华为 AI 技术

伯克利:serverless是下一代计算范式

华为云开发者联盟

云计算 服务

水滴石穿之Java学习之路

价投小邱

Java 学习 后端

对象的实例化内存布局与访问定位

朱华

Java 对象初始化

Java 未捕获异常处理

朱华

Java Exception

字节跳动总结的这份《Java设计模式(实战+源码)》PDF突然火了,完整版免费开放下载!

Java架构之路

Java 程序员 字节跳动 编程语言 设计模式

Github资源在线加速下载

xcbeyond

GitHub 工具类网站

链表反转的两种实现方法,后一种击败了100%的用户

小Q

Java 程序员 数据结构 算法 开发

滴滴导航若干关键功能的技术突破与实践

滴滴技术

人工智能 滴滴技术 滴滴导航

不走寻常路

滴滴技术

招聘 滴滴技术 地图与公交事业群分享月

MySQL-技术专题-事务实现原理

码界西柚

LeetCode题解:83. 删除排序链表中的重复元素,HashMap,JavaScript,详细注释

Lee Chen

大前端 LeetCode

《谛听说智能》迎来圆满落幕,企业降本增效新指南

Geek_e670ab

使用 Flutter 快速实现聊天应用

LeanCloud

flutter 后端 聊天

链表反转的两种实现方法,后一种击败了100%的用户!

王磊

Java 数据结构 算法

Spring Cloud 微服务实践(8) - 部署

xiaoboey

Docker zookeeper 微服务 Spring Cloud actuator

关于GO语言,这篇文章讲的很明白

华为云开发者联盟

编程语言 语言 Go 语言

Aspose.pdf破解全程记录

janux

四面阿里成功定级P6,想和Java程序员谈一谈

Java架构之路

Java 程序员 面试 编程语言

九面成功定级阿里资深架构师,拿到180W年薪+15000股,学习一下大神的成长之路!

Java架构追梦

Java 学习 架构 面试 微服务

两年Java开发经验四面阿里成功拿下P6offer,总结大厂面试的心酸血泪史

Java架构之路

Java 程序员 面试 算法 编程语言

跨平台移动端开发框架NativeScript 发布正式版本_语言 & 开发_张天雷_InfoQ精选文章