1.现在app开发方类型有几种?
混合app,原生app: android-java ios-objective-c:swift
WebApp:就是在浏览器中运行的web应用(比如用angular做的单页应用就叫做webapp,页面功能复杂了,不再是纯粹的展示文字,图片)
NativeApp:用java(android)或Object-C(ios),C# 开发window phone(软件太少)等原生语言开发的应用
HybridApp:就是外面是原生的壳,里面是webapp应用,兼具2者的优势
2.1.移动端开发有哪些框架呢?
Ionic –, // 重装系统 。
Html5+
AppCan
Framework7
Jquery Mobile //
React Native
- 用js写出原生的app。
weex 阿里出的
2.2HTML5+
2.2.1首先要认识Html5+联盟是什么?
HTML5中国产业联盟,简称“HTML5+联盟”,是为了更好的推进HTML5的商用、更好的为HTML5开发者服务而由产 业链主流厂商共同组成的一个联盟。
联盟致力于整合产业链资源,建立围绕HTML5开发者的生态系统,通过产业链共同为HTMLl5开发者服务。
W3C中国是联盟的指导单位。
CSDN 和 DCloud 是联盟的秘书处单位。
2.2.2.Dcloud官网
- 官网地址
- Emmet语法
- Dclout4个核心产品

- HBuilder:是一款web开发工具。它能大幅提升开发效率,对程序员也设计了更人文关怀的UI,它包括最全面的语法库和浏览器兼容性数据。到现在 已经有两年的时间了,到现在大概有几十万的开发者在使用。
- 5+Runtime:是一个H5的增强引擎。这是一个可以去调用H5的能力和原生操作系统的产 品。
- MUI框架:是高性能的前端框架,可用开发高性能App,也是目前最接近原生App效果的框架,可以有效解决HTML5原生开发中遇到的部分问题,同 时体积也小。
- 流应用:会让用户感觉一点开就可以用,这也是颠覆现有的应用方式的主要因素,给最终用户去使用应用有更好的体验。
- 如果手机上安装用360手机市场的话,html5+开发的移动扫一下二维码,只需要一点点流量就能够使用了。
2.2.3.Html5+的优点
- 提供了一个自定制的IDE工具,支持非常好,轻量级,甚至不需要安装直接解压缩就可以使用
- 开发出来的app的性能很好,用户体验很高
- 丰富的api支持,号称有40万+
2.2.4.Html5+的缺点
- 打包比较麻烦,需要上传源码,有些公司可以不希望公开源码
- 从新学习样式
是国产的(爱国)
2.2.5.现在那些公司在用Html5+?
2.3.Ionic介绍
2.3.1.官网地址
2.3.2.首先要认识Ionic框架?
IONIC 是目前最有潜力的一款 HTML5 手机应用开发框架。通过 SASS 构建应用程序,它提供了很多 UI 组件来帮助开发者开发强大的应用。 它使用 JavaScript MVVM 框架和 AngularJS 来增强应用。提供数据的双向绑定,使用它成为 Web 和移动开发者的共同选择。Ionic是一个专注于用WEB开发技术,基于HTML5创建类似于手机平台原生应用的一个开发框架。Ionic框架的目的是从 web的角度开发手机应用,基于PhoneGap的编译平台,可以实现编译成各个平台的应用程序。
2.3.3.ionic框架构成
- CSS框架 - 提供原生 App 质感的 CSS 样式模拟。 ionic 这部分的实现使用了 ionicons 图标样式库。
- JavaScript框架 - 提供移动 Web 应用开发框架。ionic 基于 AngularJS 基础框架开发,遵循 AngularJS 的框架约束;此外 ionic 使用 AngularJS UI Router 实现前端路由。
- 命令行/CLI - 命令行工具集用来简化应用的开发、构造和仿真运行。ionic 命令行工具使用了 Cordova,依赖于平台 SDK(Android & iOS)实现将移动 Web 项目打包成原生 App。
2.3.4Ionic特点
- 基于Angular语法,简单易学。
- 是一个轻量级框架。性能优越,运行速度快。
- 完美的融合下一代移动框架,支持 Angularjs 的特性, MVC ,代码易维护。
- 提供了漂亮的设计,通过SASS构建应用程序,它提供了很多UI组件来帮助开发者开发强大的应用。
- 专注原生,让你看不出混合应用和原生的区别
- 提供了强大的命令行工具。
2.3.5.ionic开发注意点有哪些?
由于 ionic 使用了 HTML5 和 CSS3 的一些新规范,所以要求 iOS7+ / Android4.1+。
在低于这些版本的手机上使用 ionic 开发的应用,有时会发生莫名其妙的问题。
2.3.6.现在那些公司再用ionic开发?
- 查看ionic开发的app的地址
3.4 React Native 介绍
2.4.1 官网地址
2.4.2.React native原理图
2.4.3.React Native核心实现是什么?
React Native里面没有webview,这货不是Hybrid app,里面执行JS是用的 JavascriptCore。
把Native code十来个最基本核心的类(RCTDeviceEventEmitter、RCTRenderingPerf等)、或组件(RCTView、RCTTextField、RCTTextView、RCTModalFullscreenView等)封装成二十来个基本组件(Popover、Listview等)
实现了一套类似css的子集,用来解决样式问题,相当复杂和强大,靠这个才能将Native的核心组件组成JS层的基本组件再组成业务端的业务组件
在React Native中,写JS的工程师解决的是「将基本组件拼装成可用的React组件」的问题,写Native Code的工程师解决的是「提供核心组件,提供足够的扩展性、灵活性和性能」的问题。
2.4.4.React Native的优点有哪些?
- 不用Webview,彻底摆脱了Webview让人不爽的交互和性能问题。
- 有较强的扩展性,这是因为Native端提供的是基本控件,JS可以自由组合使用。
- 可以直接使用Native原生的「牛逼」动画。
- 可以通过更新远端JS,直接更新app。
2.4.5.现在那些公司在用React Native
2.5.Jquery Mobile介绍
2.5.1.官网地址
- 官网地址 http://jquerymobile.com/
- 中文网地址 http://jquerymobile.weebly.com/jquerymobile3245220214.html
- APi学习地址 http://www.w3school.com.cn/jquerymobile/index.asp
2.5.2.Jquery Mobile是做什么的?
- jQuery Mobile 是一个为触控优化的web框架,用于创建移动 web 应用程序。
- jQuery 适用于所有流行的智能手机和平板电脑
- jQuery Mobile 构建于 jQuery 库之上,这使其更易学习,如果您通晓 jQuery 的话。
- 它使用 HTML5、CSS3、JavaScript 和 AJAX 通过尽可能少的代码来完成对页面的布局。
2.6.AppCan介绍(国产)
2.6.1官网地址
2.6.2.首先来认识AppCan是什么?
AppCan.cn开发平台是基于HTML5技术的跨平台移动应用快速开发一体化解决方案。开发者利用HTML5+CSS3+JavaScript技术可 以快速地开发与本地应用体验相媲美的移动应用。AppCan.cn平台提供了UI快速开发框架、本地功能调用API接口、应用打包系统、IDE集成开发环 境和本地应用调试模拟器,预置数百套界面模板和数十种应用插件,提供多套应用模板。完善的框架接口,人性化的开发环境,丰富的开发资源,强大的服务支持, 使开发者可以快速迈入移动开发领域。
2.6.3.谁在用AppCan?
3.ionic框架主要技术介绍
3.1.Cordova介绍
3.1.1官网地址
3.1.2.Cordova是什么?
Cordova提供了一组设备相关的API,通过这组API,移动应用能够以JavaScript访问原生的设备功能,如摄像头、麦克风等。
Cordova支持如下移动操作系统:iOS, Android,ubuntu phone os, Blackberry, Windows Phone, Palm WebOS, Bada 和 Symbian。
3.1.3和phonegap的关系?
- Cordova是贡献给Apache后的开源项目,是从PhoneGap中抽出的核心代码,目前(PhoneGap和Apache Cordova之间的)唯一区别是下载的包的名字,这会持续一段时间。
3.2.Ng-cordova介绍
3.2.1.官网地址
3.2.2.Ng-cordova是什么?
- ngCordova是在Cordova Api基础上封装的一系列开源的AngularJs服务和指令扩展,让开发者可以方便的在HybridApp开发中调用设备能力,即可以在AngularJs代码中访问设备能力Api。
- 在cordova插件的sucess和error js回调方法中,是无法使用 angularjs的$scope对象和注入的方法的,只能访问全局的方法和变量,这样会导致很多麻烦,必须使用传统的js方法写很多难看的代码。使用 ngCordova可以解决这个问题。
3.3.Angular介绍
- 此处省略100字
3.3.4.Angular适用于哪些场景?
1、单页面应用程序
2、Angular更适合于CRUD的管理系统开发。
3、也非常适合模块化,分层化,数据绑定
4、hybrid开发神器
3.3.5.Angular不适用于哪些场景?
1、内容网站,需要SEO的。(SEO目前也有了prerender解决方案)
2、交互频繁的,如游戏之类交互体验网站。(单页面应用程序)
3、太过于简单的页面。(因为要考虑mvc,注入等,就会笨重)
3.4.Angular 2
组件化,移动化
3.5.ES6介绍
3.5.1.ES6历史
1996年11月,JavaScript的创造者Netscape公司,决定将JavaScript提交给国际标准化组织ECMA,希望这种语言能够成 为国际标准。次年,ECMA发布262号标准文件(ECMA-262)的第一版,规定了浏览器脚本语言的标准,并将这种语言称为ECMAScript。这个版本就是ECMAScript 1.0版。
3.5.2.ES6是什么?
- ECMA-262 的第六次变更,所有以前按照惯例称为es6,ES2015
- ECMAScript和JavaScript的关系是,前者是后者的规格,后者是前者的一种实现。在日常场合,这两个词是可以互换的。
- 2015年6月,ECMAScript 6正式通过,成为国际标准。
- Node.js是JavaScript语言的服务器运行环境。它们对ES6的支持度,比浏览器更高。通过它们,可以体验更多ES6的特性。
- 这个标准的牛逼之处就在于会逐步统一前端,因为新增加的module,异步编程,Generator函数这些东西在angular中和node中都有很好的实现了。
3.5.3.ES6学习地址
http://services.gradle.org/distributions
[TOC]


