小编说:只需掌握Web技术就能开发移动应用是不是很爽?Ionic就可以做到!Ionic是近几年很火的一项跨平台开发技术,有了它之后,用我们熟知的HTML、CSS和JavaScript技术就可以同时开发iOS和Android应用。让我们来初步了解下Ionic吧!
1
Ionic是什么
Ionic 通过整合各种技术和功能使构建Hybrid 应用更加快速、容易和美观。Ionic 的生态系统基于Angular 和Cordova,前者是Web 应用框架,后者是构建和打包原生应用的工具。
下图展示了整个技术栈的概况
技术栈的起点是用户在设备上打开应用。假设是一台运行iOS 的iPhone 或者一台运行Android 的Nexus 10。下面是各个部分的介绍。
Ionic 将上述这些技术整合起来,成为一个非常强大的移动端应用开发平台。现在你对Ionic 及其相关技术有了初步了解,下面我们来对比一下三种主流的移动应用,同时介绍Ionic 的优势。
2
移动开发类型
为移动设备开发应用有好几种方法,有必要知道每种方法的优点和缺点。一共有三种基础类型:原生应用、移动端网站和Hybrid 应用,我们会详细介绍它们的区别。
在下图中,你可以看到三种类型在设计和架构上的对比。图中还展示了应用如何通过访问数据库或者Web 服务API 来加载数据。
2.1
原生移动应用
要创建原生应用,开发者需要使用移动平台默认的语言,对iOS 来说是Objective-C或者Swift,对Android 来说是Java。写完之后需要编译应用并把它安装到设备上。开发者可以使用平台的软件开发套件(SDK)来和平台API 通信,从而可以访问设备中的数据或者使用HTTP 请求从外部服务器加载数据。
iOS 和Android 都提供了一系列预先定义好的API,可帮助开发者在可控的范围内使用平台特性。有许多官方或者非官方出品的工具可以辅助开发原生应用。对开发者来说,在原生应用中使用框架来简化开发是很常见的。
原生应用的好处
比起Hybrid 应用和移动端网站,原生应用有很多好处,主要得益于和设备平台紧密结合:
原生应用的缺点
原生应用的缺点主要是开发和维护难度大。
如果(老板要求)你不得不使用Java 和Objective-C 或者团队有大量资源并且真的需要原生应用带来的好处,那最好的选择就是原生应用。除此之外,你最好考虑其他类型的应用。
2.2
移动端网站(Web 应用)
移动端网站或者说Web 应用很适合移动设备使用,可以在手机浏览器中访问。Web 应用就是在手机浏览器中访问的网站,它们专门被设计成适合手机屏幕尺寸。
有些网站的设计者会专门为移动设备开发一个版本。你在移动设备上访问网站的时候可能会被重定向到另一个功能有限的版本。比如访问eBay,你会被重定向到http://m.ebay.com 子域名。而访问其他一些网站,比如www.bostonglobe.com 时,你会发现网站的设计会根据设备的类型和屏幕尺寸进行调整。这用到了被称为响应式设计的技术。网站的内容会根据浏览器窗口尺寸自动调整大小,有些内容甚至会被隐藏起来。
移动端网站的优点
移动端网站有很多优点,主要体现在效率和设备兼容性上。
和原生应用相比,移动端网站也有很多缺点。
移动端网站的缺点
移动端网站运行在手机浏览器中,因此有很多限制和缺点。
不同的产品和服务需求不同,即使你已经有了移动端应用,可能还是需要一个移动端网站。不过总体来说,移动端网站的重要性不断下降,研究表明用户使用应用的时间更多。
2.3
Hybrid 应用
Hybrid 应用指的是包含独立浏览器实例的移动应用,这个实例通常被称作Web-View,可以在原生应用中运行Web 应用。Hybrid 应用会使用原生应用封装器来实现WebView 和原生设备平台的通信。这意味着Web 应用可以运行在移动设备上,并且可以访问设备的功能,比如照相机和GPS。
有很多工具可以实现WebView 和原生平台之间的通信,从而让Hybrid 应用成为可能。发布这些工具的并不是iOS 或者Android 官方平台,而是第三方,比如Apache Cordova。编译Hybrid 应用时,你的Web 应用会被转换成一个原生应用。
Hybrid 应用的优点
相比移动端网站和原生应用,Hybrid 应用有一些优点,这也是它成为有力竞争者的原因。
Hybrid 应用允许使用Web 平台的技术开发移动应用,你可以像开发网站一样开发应用的绝大部分功能。当需要使用原生API 时,Hybrid 应用框架会把API 桥接到JavaScript 中。你的应用可以像检测单击和键盘事件一样检测扫动和捏合手势。不过,如你所料,Hybrid 应用也有一些缺点。
Hybrid 应用的缺点
因为身处WebView 中,受到原生集成的限制,Hybrid 应用有如下一些缺点。
有了Ionic,你可以使用Web 开发者已经熟悉的知识和技能来构建Hybrid 应用。
本文分享自 博文视点Broadview 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!