Ionic是一种流行的移动应用程序框架,可帮助您使用HTML,CSS和JavaScript快速构建混合移动应用程序。 在本系列中,您将学习如何通过一起创建功能齐全的移动应用程序来使用Ionic设置和构建自己的移动应用程序。 我们从对Ionic的介绍开始,并学习如何开始使用该工具。
在本教程中,我们涵盖:
- 离子是什么及其各种成分
- 为什么您会选择使用Ionic
- 如何设置机器以构建Ionic混合应用程序
- 从开始到部署应用程序的开发工作流程
1.离子堆:Cordova,Angular,Ionic
离子技术是紧密结合在一起并管理在一起的几种技术。 我喜欢将Ionic视为几个框架的堆栈。 这些技术之间的相互作用最终创建了最终的应用程序,并提供了良好的开发人员和用户体验。
Cordova:混合应用程序框架
作为基础,Ionic使用Cordova作为混合应用程序框架。 本质上,它允许将Web应用程序捆绑到可以安装在设备上的本机应用程序中。 它嵌入一个Web视图,该视图是运行Web应用程序的隔离浏览器实例。
它还提供了一个API,您可以使用该API与设备本身进行通信,例如,请求GPS坐标或访问相机。 这些额外的硬件功能中有许多是通过Cordova插件系统启用的,因此您只需安装和使用所需的功能即可。 我将在以后的教程中向您介绍更多的Cordova。
Angular:Web应用程序框架
Angular是用于构建Web应用程序的著名JavaScript框架,而Ionic则基于Angular构建。 Angular提供了用于构建实际应用程序的Web应用程序逻辑。
如果您已经熟悉它,那么您将能够快速使用Ionic功能。 如果您不熟悉Angular,可以继续阅读,然后开始学习一些基本的Angular。
我不会详细介绍Angular,因此建议您花一些时间阅读Angular文档来学习基础知识。
Ionic:用户界面框架
Ionic的主要销售功能是为移动设备设计的一组干净的用户界面组件。 在构建本机应用程序时,会有本机SDK为您提供界面组件,例如选项卡和对话框。
Ionic提供了一组类似的界面组件,供混合应用程序使用。 Ionic喜欢声称它是混合应用程序缺少的SDK,并且很好地填补了这一角色。 此外,Ionic还具有许多其他重要功能,这使其成为非常有吸引力的选择。
2.为什么选择离子
Ionic不仅是一组用户界面组件,还是一组开发人员工具和一个用于快速构建混合移动应用程序的生态系统。 我想说明为什么混合应用最适合Web开发人员,有关Ionic平台和工具的详细信息,以及何时Ionic可能不合适。
为什么混合使用本机或移动Web
关于构建应用程序的不同方法的质量存在古老的争论。 几个月前,我写了一篇有关这三种移动体验的详细文章。 如果不确定现代设备上这些不同方法的优缺点,我建议您对其进行回顾。
混合应用程序是使Web开发人员能够使用他们已经掌握的技能来构建外观和感觉像本机应用程序的移动应用程序的最佳选择。
出色的工具和离子平台
几乎没有可用的移动框架具有与Ionic的工具质量相称的工具。 我们将仔细研究本教程其余部分中提供的主要工具,但是我想介绍一些您可能会发现它们随时间有用的功能。
离子CLI
Ionic的CLI工具是一流的,并提供了许多功能来帮助您启动项目,预览项目并最终构建它。
离子平台
Ionic提供了许多功能,其中一些是免费的,而另一些则是付费的,这些功能对于专业开发非常有用,例如应用程序分析,推送通知和部署工具。
离子市场
Ionic提供了许多免费的付费插件,可以轻松地集成到您的应用程序中。 有主题,独特的组件和其他插件。
离子限制
Ionic并非适用于所有移动应用程序。 请考虑以下几种情况,以确定Ionic是否适合您的项目。
- Ionic并不支持所有平台。 完全支持iOS和Android,但Ionic可以在某种程度上与他人合作。 它还适用于更现代的版本。 支持较旧的设备或较旧的操作系统可能会导致性能下降,这通常是由于浏览器实施不佳所致。
- Ionic没有提供真正的本机应用程序。 如果您的应用需要与本机平台进行大量集成,例如密集的图形,则Ionic可能无法提供所需的全部功能。 这是由于需要从Web应用程序通过Cordova来连接硬件,这可能会增加一些滞后。
换句话说,如果您不是为旧设备开发应用程序,并且不需要在硬件级别进行大量编程,那么Ionic不仅可以为用户提供优质的应用程序体验,还可以为您提供优质的应用程序体验。
3.安装Ionic和Cordova
Ionic带有出色的CLI(命令行界面),可帮助启动,构建和部署应用程序。 在开发期间,您将大量使用CLI。 Ionic还依赖Cordova,因此您将间接使用它。
您必须先安装Node.js。 如果没有,请花一些时间在系统上安装它。 我在本教程中使用Node.js 5.6,建议使用最新的稳定版本。
安装Ionic和Cordova就像安装两个全局节点模块一样简单。 如果您之前已经做过,那么这看起来应该很熟悉。 打开您的终端并运行以下命令:
npm install -g ionic@1.7.14 cordova@6.0.0
这可能需要一些时间,但是您应该会收到一条成功消息,说明它们都已安装。 您可以通过运行以下命令查看版本号输出来验证这一点。
ionic -v && cordova -v
它应该输出Ionic和Cordova的版本。 出于本教程的目的,我使用的是Ionic的1.7.14版和Cordova的6.0.0版。
Ionic CLI中有很多功能,您可以通过运行ionic help
随时获得快速参考。 如果需要,您还可以在线查看文档以获取更多支持。
其他安装
Ionic并未捆绑构建应用程序所需的所有工具,而是依靠Apple和/或Google提供的一些其他SDK和软件。 最好阅读并遵循Cordova提供的平台指南,为要使用的每个平台进行设置。
您可以稍后再执行此操作,但是您需要设置平台工具,然后才能在模拟器或设备上预览或仿真应用程序。
4.离子发展流程
在开发Ionic应用程序时,您将遵循一系列常规步骤。 这些步骤具有相应的CLI命令来帮助您。 让我们看一下代表构建Ionic应用程序的典型开发流程的主要命令。
步骤1:开始专案
假设您已经基本计划要构建什么,第一步就是创建一个新项目。 离子项目基于Cordova,并且需要一些脚手架来使Cordova以后了解您的项目。 Ionic有几个预构建的模板,可用于生成入门项目,但也可以提供自己的模板。
要启动项目,请运行ionic start sample
命令。 它根据您提供的名称(即sample )在当前目录中生成一个新文件夹。 命令运行时,它将从GitHub下载项目所需的文件,并为您初始化项目。 它使用默认项目,该项目具有一个带有基本选项卡界面的基本应用程序。
运行cd sample
导航到新目录。 检查目录时,您会注意到一些文件和目录。 现在,不要对每个文件都太在意。 最初需要处理以下几件事。
- cordova.xml :此文件包含Cordova的配置。
- ionic.project :此文件包含Ionic的配置。
- / plugins :此目录包含所有已安装的Cordova插件。 最初,此工具装有Ionic为您预安装的几个默认插件。
- / platforms :此目录包含您为应用定位的任何平台的资产,例如Android和iOS。 Ionic可能会默认为您安装一个平台。
- / scss :此目录包含应用程序的SASS样式的源文件。 您可以对其进行自定义,稍后将进行查找。
- / www :此目录保存由Cordova加载的Web应用程序文件。 您的所有JavaScript,HTML和CSS文件都应位于此目录中。
在本教程的其余部分中,我们将使用刚刚生成的项目,并查看如何开发和预览该应用程序。
步骤2:开发和预览应用
您已经开始了一个项目,现在想开始开发。 在最初的开发过程中,您可能会在浏览器中预览工作。 毕竟,Ionic应用程序实际上只是一个Web应用程序。 Ionic附带了一个本地开发服务器,该服务器可以构建和服务您的应用程序。
要启动开发服务器,请运行ionic serve
。 一旦运行,它将在您的默认浏览器中打开应用程序的预览。 此时,您可以使用浏览器的开发人员工具来检查应用程序,观察错误以及构建Web应用程序时通常要执行的其他任务。
服务器继续在后台运行,并监视项目中的文件更改。 当它检测到您已编辑并保存文件时,它将自动为您重新加载浏览器。

我建议使用Chrome作为浏览器,因为它具有出色的开发人员工具。 一项特别有用的功能是能够模拟设备尺寸,这使得可以轻松查看应用程序在特定设备上的外观。 它不是一个像真实设备一样执行应用程序的真正的模拟器,它只是模仿应用程序的尺寸。
步骤3:添加平台
科尔多瓦支持许多不同类型的移动设备,称为平台。 您必须在应用程序中注册想要定位的平台,并安装适当的项目文件。 幸运的是,这主要是通过Ionic CLI进行管理的。 Ionic完全支持iOS和Android平台。
要添加平台,请运行ionic platform add android
。 用ios
替换android
来添加iOS。 添加后,您将在项目的platforms目录中看到一个新文件夹。 此文件夹包含平台特定的文件。 通常,您需要避免对该目录中的文件进行太多更改。
如果有任何问题,可以删除平台并再次添加。 要删除平台,请运行ionic platform remove android
。
步骤4:模拟应用
在某个时候,您将要开始在真实的模拟器中预览应用程序。 仿真器本质上是真实设备的软件版本。 这对于快速测试应用程序在真实设备上的行为非常有用。 请注意,仿真器并不是物理设备的所有功能,因为它们只是软件仿真设备。
例如,如果您希望使用设备的联系人列表,则某些代码可能无法正常工作。 通常,只有与硬件集成的功能可能无法按预期运行,但对于大多数情况而言,它应该可以正常工作。
设置仿真器可能只是一件小事,具体取决于您使用的计算机类型和测试对象。 模拟iPhone只能在运行OS X的计算机上完成,而Android可以在任何操作系统上进行模拟。 要设置仿真器,请参阅我先前链接的平台指南。
完成此操作后,可以使用ionic emulate android -c -l
进行ionic emulate android -c -l
。 与以前一样,如果您要定位iOS,请用ios
替换android
。 这将在模拟器中构建,安装和启动该应用程序。 这可能会花费一些时间,因此您可能想要使用一些有用的实时重新加载功能,就像您之前在浏览器中所做的一样。
您可以使用可选的-l
标志在模拟器中重新加载应用程序(无需重建和重新安装)。 只要您不更改与应用程序的构建方式有关的任何内容(例如Cordova设置),这就很好。 您还可以使用可选的-c
标志将任何控制台消息转发到终端日志。 我几乎每次都使用它们。
步骤5:将应用程序部署到设备
预览应用程序的最佳方法是在设备上实际安装和运行它。 这就要求您已经建立了平台并将设备连接到计算机。 为此,需要进行一些配置,具体取决于您拥有的设备的类型。 您可以参考上面的平台指南来连接设备。
连接设备后,从命令行在其上运行应用程序非常简单。 使用ionic run android -c -l
和Ionic构建,部署和启动您的应用程序。 同样,您可以将ios
替换为android
。 就像emulate命令一样,您可以使用可选的-l
和-c
标志来启用实时重载和控制台到终端的日志记录。
将应用程序安装到设备上后,您可以将其断开连接,并且该应用程序将保持安装在设备上。 如果您想在一段时间内使用该应用程序以测试其行为,或者仅向他人展示该应用程序,这将很有帮助。
5.关于离子2
我经常被问到有关Ionic 2的信息,以及人们是否应该使用它。 在撰写本文时(2016年初),还没有一个简单的答案。 我已经使用它并构建了一些原型,并且我知道有一些人已经用它构建了生产应用程序,但是它还没有准备好。
好消息是,今天学习Ionic 1意味着学习Ionic 2将非常简单。 您将在本系列中学习的大多数特定于离子的东西在各个版本之间保持相当一致。 最大的变化将发生在Ionic 2建立在Angular 2上。
因此,尽管您今天可以构建Ionic 2应用程序,但尚未正式发布。 您现在不会浪费任何时间来学习Ionic 1。 Ionic 2正式发布后,升级应该相对简单。
摘要
在本教程中,我们讨论了很多有关Ionic的内容。
- 您了解了Ionic的优缺点。
- 您设置了用于构建Ionic应用程序的计算机。
- 您创建了第一个项目,并在浏览器中对其进行了预览。
- 您设置了模拟器和/或连接的设备来预览您的应用程序。
在本系列的下一部分中,您将开始使用本教程中概述的技术来构建一个真正的功能性应用程序。
创建一个离子模板并赢得$ 1000
如果您已经对Ionic框架感到满意,那么您可能要考虑参加Envato的Ionic模板的“最想要的竞赛” 。 怎么样? 创建一个唯一的Ionic模板,并在2016年4月27日之前将其提交给Envato Market。
最好的五个模板将获得$ 1000。 有兴趣吗 在竞赛网站上了解更多有关竞赛要求和指南的详细信息。
翻译自: https://code.tutsplus.com/tutorials/getting-started-with-ionic-introduction--cms-25919