用WijmoJS玩转您的Web应用 —— Ionic

简介:

前言:

在本文中,我们将着重介绍如何将WijmoJS与Ionic一起使用,来创建一款移动端支持优先、快捷高效的应用程序。在之前的文章中,我们已经介绍了使用WijmoJSAngularReactVue三大框架结合搭建您的Web应用程序。这篇将是本系列的最后一篇文章。

什么是Ionic?

Ionic是一个专注于用Web开发技术,基于HTML5创建类似于手机平台原生应用的一个开发框架,它绑定了AngularJS和Sass。这个框架的目的是从web的角度开发手机应用,基于PhoneGap的编译平台,可以实现编译成各个平台的应用程序。
使用Ionic不但可以优化html、css和js的性能,构建高效的应用程序,而且还可以用于构建Sass和AngularJS的优化。对于用以开发混合手机应用的项目来说,ionic是一个值得信赖的框架。

WijmoJS VS Ionic

图片描述

Ionic专注于应用程序的外观和用户界面交互。它基于Angular,并使用Cordova提供对特定设备本地功能的访问,包括传感器,数据,网络状态等。
作为同样流行的前端框架之一, WijmoJS也同样注重更灵活、更智能的用户操作体验。秉承“快如闪电,触控优先”的设计理念,WijmoJS在提供优质服务和产品的同时,不断优化产品架构,与时俱进。凭借其先进的触控设计、全面的 AngularJS 支持、灵活的 API 接口、轻松的操作体验,WijmoJS可全面满足企业开发所需。
那么,我们如何将二者结合,搭建出一款可完美融合全新一代移动框架的Web应用程序呢?本文会给你答案。

在所有框架中创建和维护应用程序的基本步骤都是类似的:

 安装适当的CLI(命令行界面实用程序)以生成,运行,维护和部署应用程序。

 使用CLI创建应用程序。

 使用NPM将WijmoJS添加到应用程序。

 导入您要使用的组件并添加适当的标记。

具体步骤如下:

第1步,创建一个新的Ionic应用程序
按照以下步骤创建一个新的Ionic应用程序,启动并运行:

图片描述

第2步,添加 WijmoJS 模块
打开“src / app / app.module.ts”文件,为网格和图表添加 WijmoJS模块:
 // src/app/app.module.ts import { NgModule, ErrorHandler } from '@angular/core';
 import { BrowserModule } from '@angular/platform-browser';
 import { IonicApp, IonicModule, IonicErrorHandler } from 'ionic-angular';
 import { MyApp } from './app.component';
 import { AboutPage } from '../pages/about/about';
 import { ContactPage } from '../pages/contact/contact';
 import { HomePage } from '../pages/home/home';
 import { TabsPage } from '../pages/tabs/tabs';
 import { StatusBar } from '@ionic-native/status-bar';
 import { SplashScreen } from '@ionic-native/splash-screen';
 
 // import Wijmo modules import { WjGridModule } from 'wijmo/wijmo.angular2.grid';
 import { WjChartModule } from 'wijmo/wijmo.angular2.chart';
 
 // apply Wijmo license key import { setLicenseKey } from 'wijmo/wijmo';
 setLicenseKey('your license goes here');
 
 @NgModule({
 declarations: [
 MyApp,
 AboutPage,
 ContactPage,
 HomePage,
 TabsPage
 ],
 imports: [
 BrowserModule,
 IonicModule.forRoot(MyApp),
 WjGridModule,
 WjChartModule
 ],
 …
 })
 export class AppModule {}

本段代码除了导入我们想要的WijmoJS模块外,还会自动匹配WijmoJS许可证密钥,并从应用程序中删除水印。

第3步,向控件添加数据
首先打开“src / pages / home / home.ts”文件,并给“HomePage”组件一些控件数据:

 // src/pages/home/home.ts import { Component } from '@angular/core';
 import { NavController } from 'ionic-angular';
 
 // import Wijmo components import { CollectionView } from 'wijmo/wijmo';
 
 @Component({
 selector: 'page-home',
 templateUrl: 'home.html'
 })
 export class HomePage {
 constructor(public navCtrl: NavController) {
 }
 data = this.getData();
 getData() {
 var countries = 'US,Germany,UK,Japan,Italy,Greece'.split(','),
 data = [];
 for (var i = 0; i < countries.length; i++) {
 data.push({
 country: countries[i],
 sales: Math.random() * 10000,
 expenses: Math.random() * 5000,
 downloads: Math.round(Math.random() * 20000),
 });
 }
 return new CollectionView(data);
 }
 }

注意getData返回一个CollectionView而不是一个常规数组。 CollectionView类支持排序,筛选,分组,货币和通知。 在这个例子中,我们将它用作网格和图表的数据源。

第4步,将Ionic控件添加到应用程序中
要将表格和图表添加到应用程序,请编辑“src / pages / home / home.html”文件,如下所示:

 <!-- src/pages/page/home.hmtl --> <ion-header> <ion-navbar> <ion-title>Home</ion-title> </ion-navbar> </ion-header> <ion-content padding> <h2>Welcome to Wijmo in Ionic!</h2> <p>
 This starter project comes with simple tabs-based layout for apps
 that are going to primarily use a Tabbed UI.
 </p> <p>
 Take a look at the <code>src/pages/</code> directory …
 </p> <h4>Here are some Wijmo controls to help you get started:</h4> <div class="App-panel"> <wj-flex-grid [itemsSource]="data"> </wj-flex-grid> <wj-flex-chart [itemsSource]="data" [bindingX]="'country'"> <wj-flex-chart-series [binding]="'sales'" [name]="'Sales'"> </wj-flex-chart-series> <wj-flex-chart-series [binding]="'expenses'" [name]="'Expenses'"> </wj-flex-chart-series> <wj-flex-chart-series [binding]="'downloads'" [name]="'Downloads'"> </wj-flex-chart-series> </wj-flex-chart> </div> </ion-content> 

请注意,代码中使用的wj-flex-grid,wj-flex-chart和wj-flex-chart-series指令,是从表格和图表模块导入的。

第5步,更新样式表
首先,我们需要添加包含所有WijmoJS控件的CSS样式文件 - “wijmo.css”。 有几种方法可以将自定义css文件添加到Ionic构建过程中。 在这个例子中,我们将使用最简单的一个:

将“node_modules wijmo styles wijmo.css”文件复制到应用程序的“src / assets / css”文件夹中即可。

打开应用程序的“src / index.html”文件并添加以下行:

 <!-- src/index.hmtl --> <link href="build/main.css" rel="stylesheet"> <link href="assets/css/wijmo.css" rel="stylesheet"> 

除了WijmoJS的标准CSS,我们还可以添加其他样式来使我们的应用程序更美观。 打开“app / app.scss”文件并添加以下代码:

 // app/app.scss // http://ionicframework.com/docs/theming/ // App Global Sass // -------------------------------------------------- // … //
 .App-panel {
 margin: 0 48pt;
 text-align: center;
 .wj-control {
 display: inline-block;
 width: 400px;
 height: 300px;
 vertical-align: top;
 }
 }
 .wj-flexgrid .wj-cell {
 padding: 8px;
 text-align: left;
 }

第6步,在浏览器中运行
按ctrl + S保存所有文件中的更改并切换回浏览器以查看结果:

图片描述

由于表格和图表绑定到同一个CollectionView,因此对表格中的数据所做的任何更改都会自动反映在图表中。 例如,您可以单击列标题对数据进行排序或使用键盘编辑一些值。

总结

  1. 将WijmoJS集成到现代JavaScript应用程序中只需要使用NPM进行安装并从库中导入所需的组件即可。
  2. 使用WijmoJS能够确保在不同的框架中使用完全相同的UI组件,让您轻松地使用两个或多个框架,或者在未来随意切换框架

原文发布时间:2018-06-26
原文作者:葡萄城技术团队
本文来源 掘金如需转载请紧急联系作者
相关文章
|
9天前
|
前端开发 JavaScript 关系型数据库
从前端到后端:构建现代化Web应用的技术探索
在当今互联网时代,Web应用的开发已成为了各行各业不可或缺的一部分。从前端到后端,这篇文章将带你深入探索如何构建现代化的Web应用。我们将介绍多种技术,包括前端开发、后端开发以及各种编程语言(如Java、Python、C、PHP、Go)和数据库,帮助你了解如何利用这些技术构建出高效、安全和可扩展的Web应用。
|
25天前
|
监控 Serverless 测试技术
Serverless 应用引擎常见问题之做的web服务计费如何解决
Serverless 应用引擎(Serverless Application Engine, SAE)是一种完全托管的应用平台,它允许开发者无需管理服务器即可构建和部署应用。以下是Serverless 应用引擎使用过程中的一些常见问题及其答案的汇总:
327 3
|
1月前
|
前端开发 数据库 UED
构建高性能Web应用的关键技术
本文将介绍构建高性能Web应用的关键技术,包括前端优化、后端优化、数据库优化等方面。通过深入讨论各项技术的原理和实践方法,帮助开发者们提升Web应用的响应速度和用户体验。
|
2天前
|
缓存 负载均衡 数据库
优化后端性能:提升Web应用响应速度的关键策略
在当今数字化时代,Web应用的性能对于用户体验至关重要。本文探讨了如何通过优化后端架构和技术手段,提升Web应用的响应速度。从数据库优化、缓存机制到异步处理等多个方面进行了深入分析,并提出了一系列实用的优化策略,以帮助开发者更好地应对日益增长的用户访问量和复杂的业务需求。
8 1
|
2天前
|
缓存 监控 数据库
Flask性能优化:打造高性能Web应用
【4月更文挑战第16天】本文介绍了提升Flask应用性能的七大策略:优化代码逻辑,减少数据库查询,使用WSGI服务器(如Gunicorn、uWSGI),启用缓存(如Flask-Caching),优化数据库操作,采用异步处理与并发(如Celery、Sanic),以及持续监控与调优。通过这些手段,开发者能有效优化Flask应用,适应大型或高并发场景,打造高性能的Web服务。
|
3天前
|
数据库 开发者 Python
Python中使用Flask构建简单Web应用的例子
【4月更文挑战第15天】Flask是一个轻量级的Python Web框架,它允许开发者快速搭建Web应用,同时保持代码的简洁和清晰。下面,我们将通过一个简单的例子来展示如何在Python中使用Flask创建一个基本的Web应用。
|
7天前
|
JavaScript 前端开发 API
Vue.js:构建高效且灵活的Web应用的利器
Vue.js:构建高效且灵活的Web应用的利器
|
15天前
|
XML JSON JavaScript
使用JSON和XML:数据交换格式在Java Web开发中的应用
【4月更文挑战第3天】本文比较了JSON和XML在Java Web开发中的应用。JSON是一种轻量级、易读的数据交换格式,适合快速解析和节省空间,常用于API和Web服务。XML则提供更强的灵活性和数据描述能力,适合复杂数据结构。Java有Jackson和Gson等库处理JSON,JAXB和DOM/SAX处理XML。选择格式需根据应用场景和需求。
|
30天前
|
前端开发 JavaScript 安全
深入探索 Qt6 web模块 WebEngineCore:从基础原理到高级应用与技巧
深入探索 Qt6 web模块 WebEngineCore:从基础原理到高级应用与技巧
71 0
|
30天前
|
缓存 监控 应用服务中间件
如何使用负载均衡器提升Python Web应用的性能?
【2月更文挑战第27天】【2月更文挑战第94篇】如何使用负载均衡器提升Python Web应用的性能?