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应用介绍的更多相关文章

  1. Cordova+ionic 开发hybird App --- 开发环境搭建

    Cordova 开发hybird App 开发环境搭建 一.一些基础概念: Ant : 简单说来可以这么理解,如果你用记事本写JAVA程序,然后在cmd里输入javac命令编译它,但是有一天你发现每次 ...

  2. Web App, Native APP,Hybird App 介绍

    一.Web App 这个主要是采用统一的标准的 HTML,JavaScript.CSS 等 web 技术开发. 用户无需下载,通过不同平台 的浏览器访问来实现跨平台, 同时可以通过浏览器支持充分使用 ...

  3. ionic 接触的第一个Hybrid项目

    最近需要维护一个Hybird项目,使用的是ionic,由于是第一个Hybrid项目,在这里记录下基本的知识. 先看一下ionic的最基本介绍: http://my.oschina.net/u/2275 ...

  4. ionic之$ionicGesture手势(大坑)

    鄙人来本公司前未用过ionic框架,但由于ionic是基于angularjs封装的,正好我用过angularjs,很荣幸的面试就过了,然后通过该网站http://www.ionic.wang(后面简称 ...

  5. APP应用的发展趋势

    PhoneGap 是什么 PhoneGap 是一个用基于HTML,CSS 和JavaScript 的,创建移动跨平台移动应用程序的快速开发框架.它使开发者能够利用iPhone,Android,Palm ...

  6. Web前端开发推荐阅读书籍、学习课程下载

    转自http://www.xuanfengge.com/fe-books.html 前言 学校里没有前端的课程,那如何学习JavaScript,又如何使自己成为一个合格的前端工程师呢? 除了在项目中学 ...

  7. 22、(转载)jQueryMobile 知识点总结

    本文转自:http://www.cnblogs.com/jxyedu HTML5技术生态介绍 H5的现状与未来 HTML5是用于取代1999年所制定的 HTML 4.01 和 XHTML 1.0 标准 ...

  8. 01.html5+phonegap跨平台移动应用开发

    一.html5+PhoneGap基础知识 (1)html5介绍 HTML5是用于取代1999年所制定的 HTML 4.01 和 XHTML 1.0 标准的 HTML 标准版本,现在仍处于发展阶段,但大 ...

  9. 小强的HTML5移动开发之路(21)—— PhoneGap

    一.PhoneGap是什么 PhoneGap 是一个用基于 HTML,CSS 和 JavaScript 的,创建移动跨平台移动应用程序的快速开发框架.它使开发者能够利用 iPhone,Android, ...

随机推荐

  1. Moment.js 超棒Javascript日期处理类库

    Moment.js 不容错过的超棒Javascript日期处理类库 主要特性: 3.2kb超轻量级 独立类库,意味这你不需要倒入一堆js 日期处理支持UNIX 时间戳,String,指定格式的Date ...

  2. jQuery中的checkbox问题

    一开始的代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...

  3. Delphi结构体的扩展,可以自动初始化,反初始化,自定义拷贝函数.

    转载:http://www.raysoftware.cn/?p=518&utm_source=tuicool 恭贺Delphi XE7诞生,Delphi XE7在编译器内部集成了我之前所实现的 ...

  4. 5.1---二进制数插入(CC150)

    public class Solution { public static int binInsert(int n, int m, int i, int j) { // write code here ...

  5. 【函数】plsql 函数的默认值

    1.创建函数 CREATE OR REPLACE FUNCTION fk_url_format(url VARCHAR2,charset VARCHAR2 :='UTF-8')RETURN VARCH ...

  6. 如何区分SNAT和DNAT

    从定义来讲它们一个是源地址转换,一个是目标地址转换.都是地址转换的功能,将私有地址转换为公网地址.要区分这两个功能可以简单的由连接发起者是谁来区分:       内部地址要访问公网上的服务时(如web ...

  7. 【云计算】docker三剑客如何支持分布式部署?

    This blog will explain how to create multi-container application deployed on multiple hosts using Do ...

  8. ios The App Life Cycle

    先推荐ios 必读文章 App Programming Guide for iOS ,请在苹果官网搜索,并仔细阅读所有内容 State Description Not running The app ...

  9. MySQL(MariaDB)的 SSL 加密复制

    背景: 在默认的主从复制过程或远程连接到MySQL/MariaDB所有的链接通信中的数据都是明文的,在局域网内连接倒问题不大:要是在外网里访问数据或则复制,则安全隐患会被放大很多.由于项目要求需要直接 ...

  10. Django函数——url()

    The url() function is passed four arguments, two required: regex and view, and two optional: kwargs, ...