使用 IBM MobileFirst(正式名称为 Worklight)已有一年多的时间,并发布了一个适用于 Android 和 iOS 平台的混合应用程序。我使用了 jQuery Mobile UI Library 来构建我的用户界面 (UI)。最近,我在学习 Angular JS,并正在了解 Ionic 框架。通过了解这两个框架,发现它们比 jQuery Mobile 要好得多。于是进行了更深入地学习,并想利用这些框架提供的功能在 MobileFirst Platform 中构建一个混合应用程序。在这篇文章中,将会向您介绍配置 MFP 项目以便在 Ionic 框架中运行它所需的步骤。如果您不想做任何配置,您可以下载 AngularIonicStarterProject.zip 查看详细信息。在 MFP 项目中,所有一切都已预先配置。所以让我们开始吧。
回页首
回页首
AngularJS 是一个针对动态 Web 应用程序的结构框架。它允许您使用 HTML 作为您的模板语言,还允许您扩展 HTML 的语法来简单明了地表达您的应用程序组件。Angular 的数据绑定和依赖关系注入 (dependency injection) 消除了您必须编写的许多代码。这一切都发生在浏览器中,这使得 Angular 成为了与任何服务器技术结合使用的理想合作伙伴。要了解关于 AngularJS 的更多信息,可以访问 此 网站,该网站上有许多针对 AngularJS 的很好的教程。在安装方面,AngularJS 将作为 Ionic Framework Dependency 的一部分进行安装,所以您现在不必担心。
回页首
回页首
一旦将 Node.js 安装在系统中,就可以按照以下步骤获得 Ionic 和 Angular 框架文件。
回页首
1. 创建一个新的 MFP 项目,并在该项目中创建一个新的混合应用程序。
2. 从 <Drive>:/AngularJS/ionicproject/www/lib/ 复制 ionic 文件夹,并将该文件夹复制到 MFP 的 Hybrid App 文件夹的常见文件夹中。
3. 在 MFP 的 Hybrid App 文件夹中创建一个名为 "pages" 的新文件夹。
4. 下一步是修改的 index.html,使之包含 Ionic 和 Angular 的依赖关系。
5. 打开 index.html 文件,使用包含附带的 zip 文件的 index.html 文件的内容替换其内容。
6.Ionic 项目提供了一个名为 ionic.bundle.js 的便利软件包来帮助您加载基本的 Ionic 环境。您还可以单独加载这些文件,而不是加载 ionic.bundle.js,这可能让管理复杂应用程序变得更容易。在我们的示例中,我已经加载了包含的打包文件:
ionic.js
ionic-angular.js
angular/angular.js
angular/angular-animate.js
angular/angular-sanitize.js
angular/angular-ui-router.js
7. 现在,我们已在应用程序中包含了 Ionic 框架及其依赖关系,我们需要启动它。因为 Ionic 是一组 AngularJS 扩展,所以加载模式与加载 AngularJS 的模式相同,这就是所谓的 引导 AngularJS。但是,在引导 AngularJS 之前,需要让 IBM MobileFirst Platform (MFP) 完成它自己的加载,您可以通过指示 MFP 在 AngularJS 准备就绪时引导它来实现此操作。为此,请编辑 js/main.js 文件并调整 wlCommonInit() 函数,如下所示:
function wlCommonInit() {
// Pre-existing wlCommonInit() content here
// New lines to bootstrap AngularJS
angular.element(document).ready(function() {
angular.bootstrap(document, ['app-main']);
});
}
这段代码告诉 AngularJS 使用一个名为 App 的基本模块来引导您的应用程序。
8. 每个 AngularJS 应用程序都需要一个应用程序模块。在我们的示例中,我们在引导 AngularJS 时引用了一个名为 app-main 的模块。现在,在 common/js/app-main.js 中创建该模块,并将以下这行代码放入其中:
angular.module('app-main', ['ionic']);
这行代码定义了一个 app-main 模块,它包含一个单独的依赖关系:ionic。因为我们已经将 app-main 定义为我们的应用程序模块,所以 ionic 会自动加载为该模块的一个依赖关系。我们需要通过调整 index.html 并在其中包含以下代码行来正确加载该模块:
<script src="js/app-main.js"/>
9. 您还需要修改 MFP 的默认样式表,以便让 Ionic 正常工作。编辑 common/css/main.css 并添加以下规则:
body { position: initial; }
如果您没有在提及的 CSS 文件中添加此行,应用程序中可能会出现意外的结果。您可以从 此处 阅读有关该问题的更多信息。
10. 现在,将 html 文件从附带的 zip 文件的 pages 目录复制到您的项目的 pages 目录。
11. 在完成此操作后,您需要定义导航路径。打开 app-main.js 文件,并在其中添加下面几行代码:
angular.module('app-main', ['ionic'])
.config(function($stateProvider, $urlRouterProvider) {
// Define our views
$stateProvider.state('home', { url: "/home", templateUrl: 'pages/home.html' });
$stateProvider.state('angular', { url: "/angular", templateUrl: 'pages/angular.html' });
$stateProvider.state('ionic', { url: '/ionic', templateUrl: 'pages/ionic.html' });
// Default view to show
$urlRouterProvider.otherwise('/home');
});
12. 构建、运行和部署应用程序。
回页首
在这篇文章中,您已经成功地通过使用 Angular JS 和 Ionic Framework 在 IBM MobileFirst Platform 中创建了一个混合应用程序。您可以轻松地使用附带的项目作为基本项目,开始使用 Ionic 和 Angular 为客户构建令人兴奋的应用程序吧。