2026-06-22 12:00:29
NativeScript 简介
NativeScript是一个与React专利完全无关的开源库,专注于原生应用的开发。以下是关于NativeScript的详细介绍:
开源协议与背景:
NativeScript采用了Apache 2.0协议,这是一个干净且不含专利纠纷的开源协议。Apache基金会最初就提醒了广大社区关于Facebook的专利风险,因此可以相信Apache协议与附带专利的协议是不兼容的。
NativeScript的开发者是Progress公司,这是一家专注于开发工具领域三十多年的公司,并在纳斯达克上市。Progress公司虽然在中国默默无闻,但在开发工具领域有着深厚的积累。
核心功能与特点:
原生应用开发:NativeScript用于开发iOS和Android(甚至即将支持Windows Phone)上的原生应用。它自研了一个Native引擎,能够直接访问原生API,而不用借助插件,这使得实现一些简单的功能可以完全用JavaScript来编写。
与ReactNative的对比:NativeScript的Native引擎与应用引擎是分开的,与ReactNative相似但工作原理更具创新性。NativeScript不仅提供了Angular版本的应用引擎,还提供了一个原生JavaScript版本,为开发者提供了更多的选择。
架构分离:NativeScript的Native引擎与应用引擎在Github上是两个不同的Repository,这种架构上的分离使得NativeScript更加灵活和可扩展。
开源信誉与社区:
NativeScript会绝对遵守开源信誉,因为它靠向开发人员卖开发工具类的产品和服务维生。得罪开发人员对NativeScript来说等于自杀,因此真诚对待开发者对它来说是生命线。
尽管NativeScript受到的关注度相对较小(在Github上有11.1k的star),但相信随着Facebook专利风波的爆出,NativeScript的生态圈将迎来利好消息。
著名应用与案例:
最著名的使用NativeScript开发的应用之一是SAP的企业应用建模器(Enterprise App Modeler)。SAP在博客中详细介绍了他们使用NativeScript的经验。
NativeScript的官方网站上还列举了50多个基于NativeScript开发的著名产品,感兴趣的开发者可以下载体验。
开发体验与示例:
以使用Angular引擎的应用为例,NativeScript的代码与普通的Angular程序非常相似,只是模板部分有所不同。NativeScript支持使用Angular的组件、模板和指令等特性。
NativeScript的后续版本将直接支持angular-cli的ng g c等命令来自动生成组件,这将进一步提升开发者的开发体验。
缺点与挑战:
尽管NativeScript简化了原生应用的开发过程,但它仍然是Native技术而不是Web技术。因此,开发者需要具备一定的Native基本概念和知识。
与ReactNative相比,NativeScript的社区资源相对较小。但随着其关注度的提升和生态系统的完善,这一问题有望得到解决。
参与与贡献:
开发者可以通过多种方式参与NativeScript的社区建设,包括翻译文档、写组件、写插件、写工具、提Feature Request、提Issue、提Pull Request以及帮忙宣传等。
NativeScript开发组已经放出了一本免费的英文书和专业组件,为开发者提供了更多的学习资源和支持。
综上所述,NativeScript是一个具有创新性和灵活性的原生应用开发框架。它采用Apache 2.0协议,与React专利完全无关,为开发者提供了更多的选择和机会。尽管目前其社区资源相对较小,但随着其关注度的提升和生态系统的完善,NativeScript有望成为原生应用开发领域的一股重要力量。