NativeScript —— 初级入门(跨平台的手机APP应用)《一》
NativeScript简介
- NativeScript是一个相当新的开源开发系统,几乎完全用JavaScript创建跨平台移动应用程序,带有一些可选的CSS和XML来简化显示布局的开发。您可以在https://github.com/NativeScript 找到构成NativeScript的每个主要项目的位置。即使它是市场上的新手,它已经完全兼容Apple的iOS和谷歌的Android。 此外,还有微软的Windows Mobile。 NativeScript 使用Android上的V8引擎(由GoogleChrome和node.js使用)和iOS设备上的Apple的JavaScriptCore引擎。
现在,还有其他几种用于移动设备的JavaScript开发系统。 其中一些竞争对手已经建立了一段时间。其他开发系统可能有大公司在开发它们。 但这些都不会使任何其他工具成为最佳选择。NativeScript从众多其他JavaScript环境中脱颖而出的原因在于其独特的设计。其他每个JavaScript环境都需要一个特殊的桥接器或某种类型的编译扩展,它基本上将主机操作系统的一些本机功能暴露给您的JavaScript代码。其中很多实际上只是包含在应用程序shell中的Web浏览器,因此您所做的所有工作实际上都在浏览器中。如果您决定在其他产品中使用iOS手机上的蓝牙,则必须找到使用其他非JavaScript语言制作iOS蓝牙桥接器或扩展模块的人。在很多情况下,您甚至必须编译模块,然后该模块才具有您需要的所有功能。
1 例如,要找出文件是否存在,我们可以在JavaScript中调用原生Android方法:
2 var javaFile = new java.io.File('/some/file/name.ext');
3 var exists = javaFile.exists();
4
5 或者JavaScript中的原生iOS Objective C代码:
6 var fileManager = NSFileManager.defaultManager();
7 var exists = fileManager.fileExistsAtPath('/some/file/name.ext');- 由于NativeScript允许您从JavaScript代码访问完整的操作系统库和第三方库,因此您无需等待其他人创建包装器或桥接器来与iOS或Android的API任何部分进行通信。 您现在可以完全使用任何API作为一等公民,甚至可以使用任何在首次发布的新API。
现在,在您担心必须掌握iOS和Android来制作应用程序之前,NativeScript已经替你解决了这一点。 为简化起见,NativeScript已经拥有大量组件或模块,这些组件或模块包含了开发人员需要的最常见的东西,NativeScript称为通用核心模块。 因此,您不必像上面那样编写Android或iOS特定代码来查看文件是否存在,您只需编写以下代码即可:
1 var fs = require('file-system');
2 var exists = fs.File.exists(path);NativeScript文件系统模块包含了每个本机平台的API,因此您只需要写入通用接口即可。 但是,当您需要在内置模块和组件之外执行某些操作时,NativeScript是唯一允许您通过JavaScript轻松完全访问设备提供的所有内容的环境。
- NativeScript 命令行,实用程序,通用模块和组件都是用TypeScript编写的。 然后将TypeScript转换为JavaScript,然后分发给所有开发人员以供下载,安装和使用。 因此,除非您实际从NativeScript存储库中提取开源代码,否则您将看到的所有代码都是JavaScript。
- 创建通用模块是为了解决JavaScript文件使用变量和函数污染全局命名空间的问题,而另一个JavaScript文件可能会意外的覆盖。 JavaScript允许您随心所欲地重新声明或修改您的功能,这是使其如此强大的一部分。 然而,有了这么大的功能,能够很容易地也误伤自己。 然后,出现各种无头无脑的错误。 为了解决一个文件功能或变量被另一个文件覆盖的问题,开发人员提出了几种技术,这些技术演变成我们今天的通用模块格式。 您可以使用三种标准:CommonJSmodule格式,即node.js推广的格式; AMDmodule格式,专为在浏览器环境中异步解析JavaScript文件而设计; 以及全新的ECMAscript 6模块格式,在最终发布时,应该成为事实上的模块格式。 它们都包装了源代码,因此默认情况下模块中的所有代码都不会干扰全局命名空间。 NativeScript遵循CommonJSmodule格式,您可以在其中使用exports和module.export来告诉您希望向外部各方公开的模块中的代码部分。 当您看到var coolModule = require('cool-module');时,这是CommonJSmodule格式用于加载模块的语法。
安装NativeScript
- 要开始使用NativeScript,我们首先必须安装多个工具。 几乎所有内容的主要工具是nativescript命令,或者您也可以使用较短的tns别名(Telerik NativeScript的缩写)。
- 要安装nativescript命令并使其工作,必须首先安装node.js,可以从 https://nodejs. org/ 下载和安装。nativescript命令也是用TypeScript编写的,在你下载它之前已经预转换为JavaScript。 它使用node.js和其他几个常用模块来执行其所有工作。
- 一旦你安装了node.js,你只需要在终端做一个简单的npm install -g nativescript 命令,(或者在Windows上称为命令提示符窗口)。 然后npm将下载并安装所需的NativeScript代码和命令行工具。 它将全局安装它,以便可以从您正在处理的任何项目中使用它。
- 更多安装细节请移步:https://docs.nativescript.org/start/quick-setup
- 这里不在过多废话。。。这里不在过多废话。。。
NativeScript —— 初级入门(跨平台的手机APP应用)《一》的更多相关文章
- eclipse使用CXF3.1.*创建webservice服务端客户端以及客户端手机APP(二)
eclipse使用CXF3.1.*创建webservice服务端客户端以及客户端手机APP(二) 接上篇博客,本篇博客主要包含两个内容: 4.使用Android studio创建webservice客 ...
- NativeScript —— 初级入门(跨平台的手机APP应用)《二》
NativeScript项目结构 根文件夹 package.json —— 这是适用于整个应用程序的NativeScript主项目配置文件. 它基本概述了项目的基本信息和所有平台要求. 当您添加和删除 ...
- NativeScript - JS 构建跨平台的原生 APP
使用 NativeScript,你可以用现有的 JavaScript 和 CSS 技术来编写 iOS.Android 和 Windows Phone 原生移动应用程序.由原生平台的呈现引擎呈现界面而不 ...
- Python爬虫入门教程 29-100 手机APP数据抓取 pyspider
1. 手机APP数据----写在前面 继续练习pyspider的使用,最近搜索了一些这个框架的一些使用技巧,发现文档竟然挺难理解的,不过使用起来暂时没有障碍,估摸着,要在写个5篇左右关于这个框架的教程 ...
- eclipse使用CXF3.1.*创建webservice服务端客户端以及客户端手机APP(一)
eclipse使用CXF3.1.*创建webservice服务端客户端以及客户端手机APP(一) 本篇博客主要包含五个内容: 1.CXF换将搭建以及eclipse配置CXF. 2.eclipse创建w ...
- [转帖]H5 手机 App 开发入门:技术篇
H5 手机 App 开发入门:技术篇 http://www.ruanyifeng.com/blog/2019/12/mobile-app-technology-stack.html 阮一峰老师的文 ...
- 【转帖】H5 手机 App 开发入门:概念篇
H5 手机 App 开发入门:概念篇 http://www.ruanyifeng.com/blog/2019/12/hybrid-app-concepts.html 作者: 阮一峰 日期: 2019年 ...
- HTML5手机APP开发入门(2)
HTML5手机APP开发入门(2) 课程内容 使用IonicFramework v2 + angular 2 完成一个简单的联系人列表的操作,有三个页面: ListPage,DetailPage,Ad ...
- HTML5手机APP开发入门(1)
HTML5手机APP开发入门(1) 开发框架 Ionicframework V2 + Angular 2 具体内容可以参考一下网站 http://ionicframework.net/ http:// ...
随机推荐
- js-xlsx
XLSX.read(data, {type: type}); type主要取值如下: base64: 以base64方式读取: binary: BinaryString格式(byte n is dat ...
- php----处理从mysql查询返回的数据
使用php的mysql,向mysql查询,返回的是一个资源,有4个函数可以进行处理. 1.mysql_fetch_row() 2.mysql_fetch_assoc() 3.mysql_fetch_a ...
- Pro JavaScript List.11-11
//为实现各种现代浏览器的requestAnimationFrame()方法,创建一段简单的跨浏览器保障代码(polyfill),以实现流畅.高效的动画.由保罗•艾里什(Paul Irish)编写,网 ...
- oracle数据ORA-03113:通信通道的文件到达结尾的简单处理方式
<ORA-03113:通信通道的文件结尾>错误处理: 出现的主要原因是由于归档日志空间不够了. 解决办法: --以sysdba方式登录 sqlplus / as sysdba --关闭数据 ...
- 利用Oracle定时任务重置序列
业务需求是:二元化编号规则:RYH+年月+001(开始),按月计算,每月1号重置为001 数据库中已有序列和函数如下: 解决方法:采用Oracle定时任务,每月1号重置该序列从1开始增长,SQL如下: ...
- 使用robotframework做接口测试5——一个用例中调多个接口
凡是涉及一点点有接口关联的,都可能下一个接口需要上一个接口的某个返回值作为入参,最直接的例子,就是登录依赖.用接口做业务性的测试,也绝对离不开接口依赖的,业务都是一系列接口串联的结果,有时候一个接口操 ...
- Day04:异常处理(二) / 多线程基础
多线程 线程是什么? 一个线程是线程一个顺序执行流. 同类的多个线程共享一块内存空间和一组系统资源,线程本身有一个供程序执行时的栈堆.线程在切换时负荷小,因此,线程也被称为轻负荷进程.一个进程中可以包 ...
- python3 速查参考- python基础 9 -> MySQL基础概念、数据库create、alter、insert、update、delete、select等基础命令
前置步骤: 下载一个绿色版的mysql数据库客户端连接工具 :http://wosn.net/821.html mysql平台为win7(以后会有CentOS上的) 学习目的: 掌握数据库的基本概念, ...
- python-Web-数据库-mysql
概念: 服务器->数据库管理系统(软件)->数据库(文件夹)->表(文件) 关系型 安装与配置: >>>下载-安装-环境变量 >>>启动 mysq ...
- 直方图均衡化与直方图规定化的MATLAB实现
目录 1.直方图均衡化 2.直方图规定化 @ 1.直方图均衡化 对图像进行非线性拉伸,重新分配图像像元值,使一定灰度范围内像元值的数量大致相等就是直方图的均衡化.原来直方图中间的峰顶部分对比度得到增强 ...