javascript开发 ios和android app的简单介绍
先看几个名词解释:
nodejs
ionic,Cordova,phoneGap,anjularjs
react-native,reactjs
nodeJs 的介绍参见这里,写的很好http://www.ibm.com/developerworks/cn/opensource/os-nodejs/index.html
总结一下,它是一个V8引擎的封装,V8引擎就是Chrom用来处理javascript的模块,自然,它的作用就是解析并执行javascript。以前这个工作就是游览器的工作,现在不是了,用nodejs就可以了。既然是一个封装,自然又添加了一些内部方法,所以即使会了javascript也需要学习一下才能使用。
phoneGap 的介绍参见 http://www.tricedesigns.com/2012/02/14/what-is-phonegap-other-common-questions/,简单地说,就是一个中间件工具,通过使用它提供的api,能让js具备读取手机信息功能,比如说相机,gps,联系人等。用phonegap写出的手机程序,就是一个运行在Webview中的网页程序。
Cordova是贡献给Apache后的开源项目,是从PhoneGap中抽出的核心代码,是驱动PhoneGap的核心引擎。
ionic
ionic是一个强大的_混合式/hybrid_HTML5移动开发框架,特点是使用标准的HTML、 CSS和JavaScript,开发跨平台(目前支持:Android、iOS,计划支持:Windows Phone、Firefox OS) 的原生App应用:

ionic主要包括三个部分:
- CSS框架 - 提供原生_App质感的CSS样式模拟_。ionic这部分的实现使用了ionicons图标样式库。
- JavaScript框架 - ionic基于AngularJS基础框架开发,遵循AngularJS的框架约束;主要提供了适应移动端UI的 AngularJS的扩展,主要包括指令和服务。此外,ionic使用AngularUI Router来实现前端路由。
- 命令行/CLI - 命令行工具集用来简化应用的开发、构造和仿真运行。ionic命令行工具使用了 Cordova,依赖于平台SDK(Android & iOS)实现将移动web项目打包成原生app。
总结一下,就是ionic是一个成熟的使用了Cordova核心的框架。
react-native: Facebook公布了即将开源的React Native,它基于开源框架React.js,并可用来开发iOS和Android原生应用.
React Native基于React.js实现,而React.js是Facebook推出并开源的一个用来构建用户界面的JavaScript库,其已经应用于构建Instagram网站及Facebook部分网站。React.js 同AngularJS、MeteorJS和Polymer类似,它们都属于Model-Driven Views结构的框架,但是React.js又与他们有不同之处,即React.js使用JavaScript而非HTML来构建用户界面。
React.js ,其实也是一个js库,单独使用时,引入react.js和JSXTransformer.js(如果想用JSX语法的话)这两个js文件,就可以了。
使用React Native开发原生应用的原理是:在JavaScript中用React.js抽象操作系统的原生UI组件,继而代替DOM元素来渲染,比如使用<View>取代<div>,使用<Image>替代<img>等。在后台,React Native运行在主线程之外,而在另一个专门的后台线程里运行JavaScript引擎,两个线程之间通过异步消息协议来通信(有个专门的插件)。
JSX:用Reactjs时,不可避免的要调用个中React的函数,去创建对应的页面元素(比如下面这个a标签,在ios中,最后会被变成一个UIView,不是真正的a标签了)代码写起来很多,就有人发明了这个JSX。JSX 是一種在 Javascript 中使用的 XML 語法,目的是用來轉換成原生的 Javascript。
因为 JSX 最终是输出成 JS 代码来表达的,所以我们可以直接用 React 提供的这些 DOM 构建方法来写模板,比如一个 JSX 写的一个链接:
<a href="http://facebook.github.io/react/">Hello!</a>
用 JS 代码来写就成这样了:
React.createElement('a', {href: 'http://facebook.github.io/react/'}, 'Hello!')
javascript开发 ios和android app的简单介绍的更多相关文章
- qt-qml移动开发之在ios上开发和部署app流程简单介绍
qt5.3已经全面支持移动开发,除了mac,windows,linux.还支持ios,android,wp,meego等移动平台,本教程是作者依据自己的经验,从头讲怎么样在ios上公布自己的app.因 ...
- iOS开发UI篇—UITableview控件简单介绍
iOS开发UI篇—UITableview控件简单介绍 一.基本介绍 在众多移动应⽤用中,能看到各式各样的表格数据 . 在iOS中,要实现表格数据展示,最常用的做法就是使用UITableView,UIT ...
- android.app.Activity 的介绍
发现当前Android的资料不是非常多,并且对于Activity的介绍也非常少.所以把官方文档的android.app.Activity的介绍翻译了一下,增加了一些自己的理解.各位假设认为我自己理解的 ...
- 基于MUI框架+HTML5PLUS 开发 iOS和Android 应用程序(APP)
目录 事前准备 创建项目 利用MUI写一个简单的页面 关于文件打包 事前准备 # 软件 HBuilder X Web开发IDE 下载地址:https://www.dcloud.io/hbuilderx ...
- 【Android开发】如何设计开发一款Android App
本文从开发工具选择,UI界面.图片模块.网络模块.数据库产品选择.性能.安全性等几个方面讲述了如果开发一个Android应用.现在整理出来分享给广大的Android程序员. 开发工具的选择 开发工具我 ...
- Livecoding.tv 现正举行iOS及Android App设计比赛
近日,Livecoding.tv, 一个为世界各地的程序员提供在线实时交流的平台,在其网站上发布了一篇通知, 宣布从4月15日至5月15日,会为iOS和Android的开发者举办一场本地移动app设计 ...
- iOS开发Swift篇—(一)简单介绍
iOS开发Swift篇—简单介绍 一.简介 Swift是苹果于2014年WWDC(苹果开发者大会)发布的全新编程语言 Swift在天朝译为“雨燕”,是它的LOGO 是一只燕子,跟Objective-C ...
- VS2015下的Android开发系列02——用VS开发第一个Android APP
配置Android模拟器 这算是第一篇漏下说的,配置好VS的各参数,新建Android项目后,会发现菜单下的工具栏会多出Android相关的工具栏,红色圈出的就是AVD. 打开AVD后可以从模版处选一 ...
- Xamarin.Forms 开发IOS、Android、UWP应用
C#语言特点,简单.快速.高效.本次我们通过C#以及Xaml来做移动开发. 1.开发工具visual studio 2015或visual studio 2017.当然visual studio 20 ...
随机推荐
- C/C++/Java/C#语言的基本类型
C语言的基本类型有:char, short ,int ,long ,float ,double 一共6种基本类型. C++语言有:bool, char ,wchar_t, short, int , l ...
- JCarouselLite--帮助文档
jcarousellite是一款jquery插件,可以控制文档元素滚动,丰富的参数设置可以控制滚动的更多细节,是一款不可多得的滚动插件. ------------------ 官网地址:http:// ...
- AlwaysOn可用组基础知识
AlwaysOn可用组概念 AlwaysOn作为SQL Server2012新功能,其目的主要为了替代镜像功能. AlwaysOn拥有镜像的同步和异地容灾功能,并能在镜像的基础上实现一对多的镜像副本同 ...
- [C++基础]关于对象的创建及内存分配
测试: #include <stdio.h>#include <QDebug> class KPoint{public: KPoint(int x, int y){ nx = ...
- Android 实现简单音乐播放器(一)
今天掐指一算,学习Android长达近两个月了,今天开始,对过去一段时间的学习收获以及遇到的疑难杂症做一些总结. 简单音乐播放器是我自己完成的第一个功能较为完整的APP,可以说是我的Android学习 ...
- nodejs,node原生服务器搭建实例
nodejs,node原生服务器搭建实例
- Android工程文件下assets文件夹与res文件夹的区别
1.assets:不会在R.java文件下生成相应的标记,assets文件夹可以自己创建文件夹,必须使用AssetsManager类进行访问,存放到这里的资源在运行打包的时候都会打入程序安装包中, 2 ...
- iOS开发——UI进阶篇(八)pickerView简单使用,通过storyboard加载控制器,注册界面,通过xib创建控制器,控制器的view创建,导航控制器的基本使用
一.pickerView简单使用 1.UIPickerViewDataSource 这两个方法必须实现 // 返回有多少列 - (NSInteger)numberOfComponentsInPicke ...
- linux下使用rdp
简单的说就是在linux下如何远程终端连接一台windows的服务器. 在windwos下我们直接可以mstsc开启远程终端的连接.而linux下呢.就需要安装一款工具了. 命令:sudo apt-g ...
- 跟着百度学PHP[4]OOP面对对象编程-10-静态关键字static
使用static关键字可以将类中的成员标识为静态的,既可以用来标识成员属性,也可以用来标识成员方法. 以Person类为例,如果在person类中有一个“$country=’china’”的成员属性, ...