什么是ionic


  • ionic从哪儿来?
  • 什么是Ionic?
  • 什么是Cordova?
  • 什么是AngularJS ?
  • 我们为什么选ionic

ionic从哪儿来?

纵观互联网的历史,我们不难发现。计算机程序程序的发展都是一下几个规律和特点的。第一,都是由最初的CS结构和BS程序构成。但是,随着互联网的发展。BS结构的程序普及率和市场比重越来越大。这也是发展趋势,这也得益于网络、硬件的飞速发展。以前从拨号上网到现在的家用百M带宽和4G甚至是将来的5G……第二,BS结构的程序对客户端要求相对较少,而cs的客户端随着操作系统的淘汰,中间件的淘汰等等等等,在长期项目上BS明显比BS更经济,可维护性也更好。这样的用户体验也确实更好……

现在我们处于正在爆发期的移动互联网时代,移动终端、智能手机的飞速发展,也同样有以上几个特点和规律,目前手机平台(IOS 、Android 、Windows Phone 等等)都是各有千秋,我们常常为了适配各种平台,投入的开发成本是多重的,为了灵活方便、节约成本,手机上各种类似于BS结构的技术不断涌现!早起的WAP、现在的HTML5 、CSS3 、Jquery Mobile等等用户体验越来越好。

由于手机的硬件、网络等资源的限制,web应用的性能与原生APP的用户体验还是有点点差距。不过,这个差距一直在越来越小。越来越多的技术在努力缩小这种体验的差距,期中就有一个特别突出的“ionic”框架!

什么是 ionic?

IONIC 是目前最有潜力的一款 HTML5 手机应用开发框架。通过 SASS 构建应用程序,它提供了很多 UI 组件来帮助开发者开发强大的应用。 它使用 JavaScript MVVM 框架和 AngularJS 来增强应用。提供数据的双向绑定,使用它成为 Web 和移动开发者的共同选择。Ionic是一个专注于用WEB开发技术,基于HTML5创建类似于手机平台原生应用的一个开发框架。Ionic框架的目的是从web的角度开发手机应用,基于PhoneGap的编译平台,可以实现编译成各个平台的应用程序。
Ionic在最新的移动设备中表现非常卓越,运行非常流畅。 操作最少的 DOM,非 jQuery,和硬件加速过渡,用户体验体验不错,尤其是IOS平台,可媲美原生APP。

什么是 Cordova?

Cordova是一款开放源代码的App开发框架,旨在让开发者使用HTML、Javascript、CSS等Web APIs开发跨平台的移动平台应用程序,其原名称之为 PhoneGap,Adobe 收购Nitobi 公司后,PhoneGap 商标保留,代码贡献给了 Apache 基金会,而Apache 将其命名为 Apache Callback,其后发布新版本时,定名为 Apache Cordova。

Cordova是一个行动设备的API接口集,利用JavaScript存取这些接口可以调用诸如摄影机、罗盘等硬件系统资源。配合上一些基于HTML5、CSS3技术的UI框架,如jQuery Mobile、Dojo Mobile或Sencha Touch,开发者得以快速地开发跨平台App而不需要编写任何的原生代码。注意到因为Cordova本身仍是一个原生程式,为App打包时依然需要用到这些系统平台的SDK。

什么是 AngularJs?

AngularJs(后面就简称ng了)是一个用于设计动态web应用的结构框架。首先,它是一个框架,不是类库,是像backbone一样提供一整套方案用于设计web应用。它不仅仅是一个javascript框架,因为它的核心其实是对HTML标签的增强,有图有真相,请看官网描述:何为HTML标签增强?其实就是使你能够用标签完成一部分页面逻辑,具体方式就是通过自定义标签、自定义属性等,这些HTML原生没有的标签/属性在ng中有一个名字:指令(directive)。后面会详细介绍。那么,什么又是动态web应用呢?与传统web系统相区别,web应用能为用户提供丰富的操作,能够随用户操作不断更新视图而不进行url跳转。ng官方也声明它更适用于开发CRUD应用,即数据操作比较多的应用,而非是游戏或图像处理类应用。
为了实现这些,ng引入了一些非常棒的特性,包括模板机制、数据绑定、模块、指令、依赖注入、路由。通过数据与模板的绑定,能够让我们摆脱繁琐的DOM操作,而将注意力集中在业务逻辑上。
Angular遵循软件工程的MVC模式,并鼓励展现,数据,和逻辑组件之间的松耦合。通过 依赖注入(dependency injection) ,Angular为客户端的Web应用带来了传统服务端的服务,例如独立于视图的控制。因此,后端减少了许多负担,产生了更轻的Web应用!

我们为什么选ionic

什么是Hybrid App?

混合应用(Hybrid App)相当于是利用Web开发技术编写的原生应用,如HTML5、CSS、JavaScript都是进入原生容器(Native Container)的比较常用的语言,原生应用包含了一个链接到HTML文件的WebView隐藏浏览器。而使用Cordova、PhoneGap或其他类似的解决方案,不但使整合HTML和原生代码成为可能,甚至不费吹灰之力便能做到,也让在应用商店中部署App更加容易。
目前这种混合应用,开发者可以创建一个HTML5应用,然后以原生的方式运行。而Corodva,PhoneGap等解决方案也能够让混合应用像Native App那样访问照相机、加速计、位置和通讯录等设备功能。
此外,混合应用开发还有很多好处。其中一个便是别出心裁的跨平台优势,既省钱又省时间。不仅如此,开发混合应用还是创意付诸实践的最佳捷径,所以优势之二是:Web开发者不论水平如何,只需经过短期培训就能成为合格的混合应用开发者。一方面公司的成本可以降低,另一方面学习难度也低于Objective-C、Swift、Java及其他原生语言。虽然从性能上讲,混合应用还稍逊Native App,但几经发展,混合应用也在不断提升的过程中。
目前比较关注度和排名比较高的Ionic、Famo.us、F7、OnsenUI以及Angular Material Design,选择最合适的Hybrid App UI框架。
那让我们好好那对比一下这几个框架:
1. Ionic Framework

整合了AngularJS的Ionic框架发布并不长,却已在混合&移动开发圈子里备受追捧。该框架的Git repo累计超过20,000星,几乎每天都在更新,而且Ionic论坛(Ionic Forum)也相当活跃,甚至比StackOverflow更能帮助开发者解决技术上的难题。Ionic越来越流畅。Ionic团队也在努力提高框架的效率和性能,尽可能实现原生质感。

  • Ionic的优劣势对比:
优势 劣势
完美融合AngularJS  
全套UI组件(下拉刷新、无限加载、标签等) 变换&动画效果不够流畅
社区活跃、框架适用范围广  

- Ionic 评分:

评分标准 得分
文档 8.0
快速入门 10.0
性能 5.0
社区 7.0
学习曲线 7.0

- Famo.us+ AngularJS的优劣势对比:

优势 劣势
60 fps的动画效果让应用更加生动,拥有着更好的用户体验 不提供菜单、标签、基本应用结构/布局等基础架构
整合AngularJS 发展尚未成熟,可供参考的范例有限
提供初学者工具包 文档中缺少“入门指南”

- Famo.us 评分:

评分标准 得分
文档 6.0
快速入门 4.0
性能 10.0
社区 4.0
学习曲线 4.0

FrameWork 7 还算比较流行,但是只是支持IOS,这个不能作为我们对比的对象

综合看来,Ionic 的框架更适合去做跨平台的 Hybrid APP!


您可自由转发此文, 但请保留出处:Ionic在线学习网站  http://www.ioniconline.com


你可能感兴趣的:(Ionic-背景介绍篇)