web developers are now mobile developers

82
@boyney123 Mobile development is easy Mobile app development is on the decline Mobile development is boring I can't write mobile applications You have to be a specialist to write mobile apps 2014

Upload: boyney123

Post on 16-Apr-2017

1.706 views

Category:

Mobile


3 download

TRANSCRIPT

Page 1: Web Developers are now Mobile Developers

@boyney123

Mobile development is easy

Mobile app development is on the decline

Mobile development is boring

I can't write mobile applications

You have to be a specialist to write mobile apps

2014

Page 2: Web Developers are now Mobile Developers

@boyney123

WEB DEVELOPERS ARE NOW

MOBILE APP DEVELOPERSand much more…

Page 3: Web Developers are now Mobile Developers

@boyney123

WHAT WE WILL COVERBrief history and current stats on mobile development

Why hybrid? Why native?

Look at hybrid frameworks & how to getting started

Experience, tools and lessons learnt using hybrid in production

Future of hybrid development

Summary

Page 4: Web Developers are now Mobile Developers

@boyney123

INTRODUCTION

Page 5: Web Developers are now Mobile Developers

@boyney123

Page 6: Web Developers are now Mobile Developers

@boyney123

MEERKAT MOVIES

Page 7: Web Developers are now Mobile Developers

@boyney123

HISTORY OF MOBILE DEVELOPMENT

Page 8: Web Developers are now Mobile Developers

@boyney123

2007

iPhone

Source : https://en.wikipedia.org/wiki/Smartphone

2008

HTC Dream

Page 9: Web Developers are now Mobile Developers

@boyney123Source: http://www.statista.com/statistics/263794/number-of-downloads-from-the-apple-app-store/

APPLE APP STORE DOWNLOAD FROM JULY 2008 TO JUNE 2015

Page 10: Web Developers are now Mobile Developers

@boyney123

10 BILLION…..

Page 11: Web Developers are now Mobile Developers

@boyney123Source: http://www.statista.com/statistics/271644/worldwide-free-and-paid-mobile-app-store-downloads/

NUMBER OF FREE AND PAID APP DOWNLOADS FROM 2011 TO 2017 (IN BILLIONS)

Page 12: Web Developers are now Mobile Developers

@boyney123Source: http://www.statista.com/statistics/269025/worldwide-mobile-app-revenue-forecast/

WORLDWIDE MOBILE APP REVENUES FROM 2011 TO 2017

Page 13: Web Developers are now Mobile Developers

@boyney123

FACEBOOK DRAWS 1 BILLION USERS IN A SINGLE DAY

“1 in 7 people on Earth used Facebook to connect with their friends and family”

Mark Zuckerberg

Page 14: Web Developers are now Mobile Developers

@boyney123

1 IN 7…

Page 15: Web Developers are now Mobile Developers

@boyney123

CONNECTING THROUGH TECH

Page 16: Web Developers are now Mobile Developers

@boyney123

TECH GROWTH

Page 17: Web Developers are now Mobile Developers

@boyney123

NodeJS

Java

C#

Objective-C

Swift

XML

.netReact

AngularJS

Sql

MongoDB

C++

RubyPHP

Python

HTMLCSS

JavaScript

XCode

Android StudioJava

Swift

Objective-C

XML

Android Studio

XCode

Page 18: Web Developers are now Mobile Developers

@boyney123

JUST IMAGINE…

Page 19: Web Developers are now Mobile Developers

@boyney123http://hdwallpapers.cat/wallpaper/fantasy_land_nature_horse_unicorn_animals_hd-wallpaper-1878044.jpg

Page 20: Web Developers are now Mobile Developers

@boyney123

Page 21: Web Developers are now Mobile Developers

@boyney123

HTML, CSS AND JS STACK

Leap Motion

Oculus

Pebble

NestCylon.js

Page 22: Web Developers are now Mobile Developers

@boyney123

MAKES ME FEEL…

Page 23: Web Developers are now Mobile Developers

@boyney123

STORY AT

COMPARETHEMARKET.COM

Page 24: Web Developers are now Mobile Developers

@boyney123

NodeJS MongoDB Jade

KnockoutJS SASS ExpressJS

Page 25: Web Developers are now Mobile Developers

@boyney123

NATIVE MOBILE APP

Page 26: Web Developers are now Mobile Developers

@boyney123

PARTY!

Page 27: Web Developers are now Mobile Developers

@boyney123

BRING NATIVE IN HOUSEAdd new features

Maintain the code

Remove dependency of third party

Cheaper

Page 28: Web Developers are now Mobile Developers

@boyney123

PROBLEM WITH NATIVE FOR TEAM

Didn't want to change career

Time consuming

Support multiple platforms

Ramp up skill set

Huge learning curve for team

Page 29: Web Developers are now Mobile Developers

@boyney123

WHAT OPTIONS DID WE HAVE?

Page 30: Web Developers are now Mobile Developers

@boyney123

WHAT OPTIONS DID WE HAVE?

Spike / Try / Hack Hybrid Development

Hire people to do native development

Keep outsourcing the project

Give up

Page 31: Web Developers are now Mobile Developers

@boyney123

LET THE 7 DAY HACK BEGIN

Page 32: Web Developers are now Mobile Developers

@boyney123

WHAT WE ACHIEVED IN 7 DAYS Proved we could get setup and building mobile applications within minutes

Rebuilt (hacked) the app for a POC in a week

Found the right hybrid framework for the team

Got approval to use hybrid going forward

Page 33: Web Developers are now Mobile Developers

@boyney123

0 years

40 yearsvs

Page 34: Web Developers are now Mobile Developers

@boyney123

WHAT FRAMEWORK?

Page 35: Web Developers are now Mobile Developers

@boyney123

“Ionic empowers web developers to build compelling mobile apps without having to change career…”

- Ionic Team

Page 36: Web Developers are now Mobile Developers

@boyney123

IONIC FRAMEWORK

Started in 2014

19,398 stars on Github

Top 50 most popular open source projects in the world

Set of tools to create hybrid apps: Directives, Services, Web server, Cli, Components….

Page 37: Web Developers are now Mobile Developers

@boyney123

IONIC FRAMEWORK - WHY?Great tech stack for the team

Powerful CLI

Open source and FREE Performance obsessed

Slick UI Components

Easy to use

Awesome Community Easy to debug

Page 38: Web Developers are now Mobile Developers

@boyney123

IONIC STACK

Page 39: Web Developers are now Mobile Developers

@boyney123source : http://image.slidesharecdn.com/buildingmobileapplicationswithionic-140921151746-phpapp01/95/building-mobile-applications-with-ionic-21-638.jpg?cb=1411312779

Page 40: Web Developers are now Mobile Developers

@boyney123

IONIC CLI

Page 41: Web Developers are now Mobile Developers

@boyney123

IONIC CLI - INSTALL

npm install -g ionic

Page 42: Web Developers are now Mobile Developers

@boyney123

IONIC CLI ionic start myApp [type]

Page 43: Web Developers are now Mobile Developers

@boyney123

IONIC CLI ionic serve

Page 44: Web Developers are now Mobile Developers

@boyney123

IONIC CLI ionic emulate [platform]

Page 45: Web Developers are now Mobile Developers

@boyney123

ANDROID EMULATOR

Page 46: Web Developers are now Mobile Developers

@boyney123

IONIC CLIionic resources

Page 47: Web Developers are now Mobile Developers

@boyney123

IONIC CLIionic build [platform]

Page 48: Web Developers are now Mobile Developers

@boyney123

SLICK UI COMPONENTS

Page 49: Web Developers are now Mobile Developers

@boyney123

APPS - SWORKIT

Page 50: Web Developers are now Mobile Developers

@boyney123

APPS - MALLZEE

Page 51: Web Developers are now Mobile Developers

@boyney123

APPS - PACIFICA

Page 52: Web Developers are now Mobile Developers

@boyney123

ANIMATIONS AND PERFORMANCEBuilt with minimal DOM manipulation

Hardware accelerated transitions

Pre-made components for common animations

Is it good enough for our customers?

Page 53: Web Developers are now Mobile Developers

@boyney123

BUILDING WITH IONIC AT COMPARETHEMARKET.COM

Page 54: Web Developers are now Mobile Developers

@boyney123

IS HYBRID GOOD ENOUGH FOR OUR CUSTOMERS?

Page 55: Web Developers are now Mobile Developers

@boyney123

USER TESTING

“How it feels to watch a user test your product for the first time”~ Source: The Hipper Element

Page 56: Web Developers are now Mobile Developers

@boyney123

USER TESTING - RESULTSNo mention of performance issues

Most users happy with the experience

Refocused our ideas and features

Hybrid was correct for our team

Dont care about the technology used, but the apps experience

Page 57: Web Developers are now Mobile Developers

@boyney123

BUILDING THE APPS FOR PRODUCTION

Page 58: Web Developers are now Mobile Developers

@boyney123

WORKFLOW!Code and push to devices

Live Reload

Phone emulators

WebStorm IDE

HockeyApp

Debug Tools

Page 59: Web Developers are now Mobile Developers

@boyney123

ANDROID SCRIPT

https://gist.github.com/boyney123/ea4326510ed25ca32013

Page 60: Web Developers are now Mobile Developers

@boyney123

LAUNCHING DEVICES

Page 61: Web Developers are now Mobile Developers

@boyney123

CI - BUILD PROCESS

Upload to HockeyApp

Setup project

Build .ipa and .apk

Run Unit Tests

Run cloud e2e tests

Release Live

Sign apps

Page 62: Web Developers are now Mobile Developers

@boyney123

Upload to HockeyApp

Setup project

Build .ipa and .apk

Run Unit Tests

Run cloud e2e tests

git clone

install-plugins.sh

CI - BUILD PROCESS

Release Live

Sign apps

Page 63: Web Developers are now Mobile Developers

@boyney123

Upload to HockeyApp

Setup project

Build .ipa and .apk

Run Unit Tests

Run cloud e2e tests

Sign apps

Angular Mocks

Testing Controllers, Directives, Services

400+ Unit Tests

CI - BUILD PROCESS

Release Live

Page 64: Web Developers are now Mobile Developers

@boyney123

Upload to HockeyApp

Setup project

Build .ipa and .apk

Run Unit Tests

Run cloud e2e tests

ionic build [platform]

Build Hooks - Gulp commandsMinify, Uglify and Concatenate CSS and JS

Build custom svg fontsCompress images(1/2 the app size)

CI - BUILD PROCESS

Release Live

Sign apps

Page 65: Web Developers are now Mobile Developers

@boyney123

Upload to HockeyApp

Setup project

Build .ipa and .apk

Run Unit Tests

Run cloud e2e tests

CI - BUILD PROCESS

Release Live

Sign apps

Page 66: Web Developers are now Mobile Developers

@boyney123

Page 67: Web Developers are now Mobile Developers

@boyney123

Upload to HockeyApp

Setup project

Build .ipa and .apk

Run Unit Tests

Run cloud e2e tests

Meerkat Movies

CI - BUILD PROCESS

Release Live

Sign apps

Page 68: Web Developers are now Mobile Developers

@boyney123

Upload to HockeyApp

Setup project

Build .ipa and .apk

Run Unit Tests

Run cloud e2e tests

CI - BUILD PROCESS

Release Live

Sign apps

Page 69: Web Developers are now Mobile Developers

@boyney123

Upload to HockeyApp

Setup project

Build .ipa and .apk

Run Unit Tests

Run cloud e2e tests

CI - BUILD PROCESS

Release Live

Sign apps

Page 70: Web Developers are now Mobile Developers

@boyney123

TEAM THOUGHTS & LEARNING ON IONIC & HYBRID DEVELOPMENT?

Page 71: Web Developers are now Mobile Developers

@boyney123RETROSPECTIVE

Good Bad Ugly

Page 72: Web Developers are now Mobile Developers

@boyney123

Quick prototyping

Ionic components

A lot of plugins and open source

Ionic tools

Ionic Services (Push)

HTML, CSS and JS

Great community

THE GOOD

Page 73: Web Developers are now Mobile Developers

@boyney123

Building .ipa and .apk files

Dealing with screen sizes is harder

Angular 1 forces patterns

Cross platform issues

Ionic is too new…

Angular mocking is horrid

Angular 2

Still have to understand mobile development

THE BAD

Page 74: Web Developers are now Mobile Developers

@boyney123

Angular testing

Deployment of apps

Mocking plugins in browsers

Brittle tests

Build process

Angular pain in general

API will be behind

THE UGLY

Page 75: Web Developers are now Mobile Developers

@boyney123

OVERALL THE TEAM ENJOYED IT AND LEARNT A LOT ON THE WAY

Page 76: Web Developers are now Mobile Developers

@boyney123

FUTURE OF HYBRID?

Page 77: Web Developers are now Mobile Developers

@boyney123

FUTURE UPDATESThings will break (iOS9)

Things will get fixed

Hardware will get better

Community grows stronger

Page 78: Web Developers are now Mobile Developers

@boyney123

IONIC & ANGULAR 2

Page 79: Web Developers are now Mobile Developers

@boyney123Source : http://blog.ionic.io/ionic-and-the-internet-of-things/

Page 80: Web Developers are now Mobile Developers

@boyney123

SUMMARY

Have Fun

Right tool for the job (native or hybrid)

Explore your stack and markets

Community

“Fixes issues but introduces new ones”

Page 81: Web Developers are now Mobile Developers

@boyney123

Mobile app development is on the declineMobile app development is on the rise

Mobile development is easyMobile development is easy

Mobile development is boringMobile development is interesting

I can't write mobile applicationsAnybody can write mobile applications

You have to be a specialist to write mobile appsYou don't have to be a specialist to write mobile apps

2015

Page 82: Web Developers are now Mobile Developers

@boyney123

QUESTIONS?

THANK YOU