Best practices for mobile apps with Vue and Onsen UI

VueConf 2017

Masa Tanaka

MASA TANAKA

Founder, Monaca

Tokyo, Japan

@massie

masahirotanaka

MOBILE APP with Web TECH

PWA

Mobile Web App

Progressive Web App

Hybrid App

Web

Native

WHAT IS A HYBRID?

Operating System

WebView

Your App in HTML5

SLOW?

Lots of improvements

Device Spec

HTML5 & Browser

  • position:fix
  • will-change: attribute
  • window.requestIdleCallback()
  • WebGL
  • SVG2
  • Evergreen Chrome (Android 5+)
  • SPA frameworks
  • Dev tools & inspector
  • ...

iPhone 4

June 2010

CPU speed: x15

GPU performance: x30

Memory size: 512MB → 2GB

Native API Calls

Plugin Registry (Over 1000 plugins)

Apche foundation

Vue + Cordova saves your life!?

The Uncanny Valley

WHAT's CHALLENGING

Operating System

Native SDK

Your Logic

Operating System

WebView

Web Browser

Your Logic

MISSING!!

onsen.io

What is onsen ui?

  • A rich variety of UI components specially designed for mobile apps.
  • Full of ready to implement features with native iOS and Android design standards.
  • Free to use, 100% open source software.

温泉 (Onsen) = SPA!

App with Onsen UI

Location: Jigokudani, Japan
Taken by Marsel van Oosten

THE ARCHITECTURE

CSS Components

Web Components

Vue.js Bindings

Supplements framework features.

Written in pure JavaScript (ES2017).

All components are exposed as HTML elements.

TypeScript ready.

Written in pure CSS (cssnext, PostCSS)

Fully Customizable

USING WITH VUE

<link rel="stylesheet" href="onsenui.css">
<link rel="stylesheet" href="onsen-css-components.css">

<script src="vue.js"></script>
<script src="onsenui.js"></script>
<script src="vue-onsenui.js"></script>
// Webpack CSS import
import 'onsenui/css/onsenui.css';
import 'onsenui/css/onsen-css-components.css';

// JS import
import Vue from 'vue';
import VueOnsen from 'vue-onsenui'; // This already imports 'onsenui'

Vue.use(VueOnsen);

Or for Webpackers:

COMPONENTS

Kitchensink

DEMO

STILL missing something?

TOOLchain

ANOTHER DEMO

LATEST RELEASE

vue-onsenui 2.0.0-rc.1

vue-onsenui 2.0.0 🎉

vue-onsenui 2.0.0-rc.1

More Features TO COME!

  • Swipable tab & navigator
  • More application templates & patterns
  • Full SSR support
  • Vetur support

Relaxing mobile app development with Onsen UI!

Thank you!

VueConf 2017

By Masa Tanaka

VueConf 2017

  • 1,256