1 Ionic和Hybird应用介绍
1.Ionic是什么,它和Angular、Cordova有什么关系?
Ionic通过整合各种技术和功能使构建Hybird应用更加快速、容易和美观。Ionic生态系统基于Angular和Cordova,前者是web应用框架,后者是构建和打包原生应用的工具。
2.为移动设备开发应用有哪三种类型?各自的优缺点都有什么?
(1)原生移动应用
要创建原生移动应用,开发者需要使用移动平台默认的语言,对于IOS来说是Objective-C或者Swift,对于Android来说是Java。写完之后需要编译应用并把它安装到设备上。开发者可以使用平台的软件开发套件(SDK)来和平台API通信,从而可以访问设备中的数据或者使用HTTP请求从外部服务器加载数据。
优点:a.可以使用原生API,这和平台的交流最紧密;
b.原生应用性能最好;
c.原生应用使用原生的API写成,对于其他原生开发者来说很容易理解。
缺点:a.原生应用要求开发者掌握平台对应的语言并且知道如何使用平台提供的API;
b.不支持跨平台,每个平台都要单独开发;
c.需要做很多构建工作,费时费力,增加成本。
(2)移动端网站(Web应用)
移动端网站或者说Web应用很适合移动设备使用,可以在手机浏览器中访问。Web应用就是在手机浏览器中访问的网站,它们专门被设计成适合手机屏幕尺寸。
优点:a.移动端网站更容易更新和维护;
b.网站在互联网中,不需要安装到移动设备中;
c.跨平台,所有移动设备都有浏览器,都可以访问你的应用。
缺点:a.不具备原生访问能力,不能访问原生API,只能访问浏览器提供的API;
b.需要使用键盘,用户必须在浏览器中输入网址来寻找或者使用移动端网站,这比单击一个图标要困难;
c.受限的用户界面,很难创建对触摸友好的应用,尤其要同时兼容桌面版时;
d.移动端访问量下降,用户在移动设备上访问网站的时间不断减少,使用应用的时间越来越多。
(3)Hybird应用
Hybird应用指的是包含独立浏览器实例的移动应用,这个实例通常被称作Web-View,可以在原生应用中运行Web应用。Hybird应用会使用原生应用封装器来实现WebView和原生设备平台的通信。这意味着Web应用可以运行在移动设备上,并且可以访问设备的功能,比如照相机和GPS。
优点:a.跨平台,只开发一次,部署到多个平台,最小化开发成本;
b.和web开发公用技术,可以使用开发网站和web应用的技术来开发移动应用;
c.设备访问能力好,因为WebView被封装在原生应用中,使应用可以像原生应用一样访问所有的设备功能;
d.简化开发,开发流程简单快捷,不需要为了预览重复构建。也可以继续使用构建网站的那一套开发工具。
缺点:a.WebView限制,应用智能运行在WebView实例中,这意味着应用的性能取决于浏览器;
b.通过插件访问原生功能,由于你需要的原生API现在可能还没有插件实现,可能需要一些额外的开发工作来进行桥接;
c.没有原生用户界面控件,如果没有Ionic这样的工具,开发者需要创建所有的用户界面元素。
3.为什么选择Ionic?
Ionic可以为Hybird应用提供看起来和用起来都很像原生应用的体验。Ionic的优点:
a.在Web平台上开发应用,可以使用HTML、CSS、和JavaScript开发类似原生应用的Hybird应用;
b.使用Angular开发,你可以使用Angular的全部功能以及所有第三方模块。Angular的目标是开发主流应用,Ionic把Angular扩展到了移动领域;
c.使用现代技术,如CSS3的新特性动画等,移动端浏览器对Web平台新规范支持的很好,所以你可以使用这些新特性;
d.有社区支持和开源精神;
e.有强大的CLI工具,你可以快速管理开发任务,如在浏览器中预览应用、模拟运行应用或者把应用部署到连接的设备中;
f.Ionic提供了很多辅助开发的服务;
g.Ionic有专职团队进行开发和支持;
h.使用Ionic可以创建类似原生应用的体验;
i.Ionic的性能不比原生应用差;
j.用户界面组件美观,可以根据需求针对应用进行自定义。
缺点:
a.Ionic目前只支持IOS和Android平台;
b.Ionic只保证支持IOS7+和Android4+;
c.不等于原生应用,原生设备API必须在Cordova支持之后才能使用;
d.不能应付大量图像,因为运行在浏览器中,Hybird应用天生就有这个限制。
1 Ionic和Hybird应用介绍的更多相关文章
- Cordova+ionic 开发hybird App --- 开发环境搭建
Cordova 开发hybird App 开发环境搭建 一.一些基础概念: Ant : 简单说来可以这么理解,如果你用记事本写JAVA程序,然后在cmd里输入javac命令编译它,但是有一天你发现每次 ...
- Web App, Native APP,Hybird App 介绍
一.Web App 这个主要是采用统一的标准的 HTML,JavaScript.CSS 等 web 技术开发. 用户无需下载,通过不同平台 的浏览器访问来实现跨平台, 同时可以通过浏览器支持充分使用 ...
- ionic 接触的第一个Hybrid项目
最近需要维护一个Hybird项目,使用的是ionic,由于是第一个Hybrid项目,在这里记录下基本的知识. 先看一下ionic的最基本介绍: http://my.oschina.net/u/2275 ...
- ionic之$ionicGesture手势(大坑)
鄙人来本公司前未用过ionic框架,但由于ionic是基于angularjs封装的,正好我用过angularjs,很荣幸的面试就过了,然后通过该网站http://www.ionic.wang(后面简称 ...
- APP应用的发展趋势
PhoneGap 是什么 PhoneGap 是一个用基于HTML,CSS 和JavaScript 的,创建移动跨平台移动应用程序的快速开发框架.它使开发者能够利用iPhone,Android,Palm ...
- Web前端开发推荐阅读书籍、学习课程下载
转自http://www.xuanfengge.com/fe-books.html 前言 学校里没有前端的课程,那如何学习JavaScript,又如何使自己成为一个合格的前端工程师呢? 除了在项目中学 ...
- 22、(转载)jQueryMobile 知识点总结
本文转自:http://www.cnblogs.com/jxyedu HTML5技术生态介绍 H5的现状与未来 HTML5是用于取代1999年所制定的 HTML 4.01 和 XHTML 1.0 标准 ...
- 01.html5+phonegap跨平台移动应用开发
一.html5+PhoneGap基础知识 (1)html5介绍 HTML5是用于取代1999年所制定的 HTML 4.01 和 XHTML 1.0 标准的 HTML 标准版本,现在仍处于发展阶段,但大 ...
- 小强的HTML5移动开发之路(21)—— PhoneGap
一.PhoneGap是什么 PhoneGap 是一个用基于 HTML,CSS 和 JavaScript 的,创建移动跨平台移动应用程序的快速开发框架.它使开发者能够利用 iPhone,Android, ...
随机推荐
- android 弹出的软键盘遮挡住EditText文本框的解决方案
1.android 弹出的软键盘遮挡住EditText文本框的解决方案: 把Activit对应的布局文件filename.xml文件里的控件用比重设置布局.(例如:android:layout_wei ...
- iOS开发——OC基础-ARC、BLOCK、协议
一.ARC ARC 是一种编译器特性!而不是IOS运行时特性,和JAVA中得垃圾回收机制完全不一样ARC是自iOS 5之后增加的新特性,完全消除了手动管理内存的烦琐,编译器会自动在适当的地方插入适当的 ...
- jquery版瀑布流
一个月前用jquery实现了瀑布流效果,看着当时的代码有点难过……今天抽时间稍微修改了一下.额,现在看起来不是那么难受了,就来和大家分享一下.废话不多说,开始正题~ 一.演示效果 二.html代码 & ...
- cvGet2D的用法
CvScalar s;s = cvGet2D(src, j,i);//获取src图像中坐标为(i,j)的像素点的值s.val[0] 代表src图像BGR中的B通道的值~int nXY = cvGet2 ...
- linux u-boot跟踪方法总结
拿到一块板子,其中很重要的一项就是看电路图还有Datasheet. 这个真的很重要,首先你要知道cpu的架构是什么,armv7?arvmv5?还是其他的,哪个公司的芯片?是freescale 还是TI ...
- Python自动化之select、greenlet和gevent和事件驱动模型初探
进程.线程和协程的区别 进程拥有自己独立的堆和栈,既不共享堆,亦不共享栈,进程由操作系统调度. 线程拥有自己独立的栈和共享的堆,共享堆,不共享栈,线程亦由操作系统调度(标准线程是的). 协程和线程一样 ...
- NDK学习三: 纯手工编译Hello World
1.配置环境变量 添加make工具path环境变量: E:\Android\android-ndk-r10b\prebuilt\windows-x86_64\bin 2.编写Hello W ...
- 【函数】plsql 函数的默认值
1.创建函数 CREATE OR REPLACE FUNCTION fk_url_format(url VARCHAR2,charset VARCHAR2 :='UTF-8')RETURN VARCH ...
- CentOS 7 运行级别切换
CentOS 7 之前的版本是通过 /etc/inittab 文件来定义系统运行级别: [sywu@wusuyuan ~]$ cat /etc/centos-release CentOS releas ...
- FileUpload1上传控件
<asp:FileUpload ID="FileUpload1" runat="server" /> string fn = System.IO.P ...