Web vs Native

Otherwise known as:
"The debate that doesn't need to exist"

Anthony Decena

Platform Evangelist
Appcelerator
Ninja assassin. Former Marine. Mobile development enthusiast.
@mindelusions | anthonydecena.com | adecena@appcelerator.com

The combatants

In the blue corner...

  • Open standards
  • No gatekeepers
  • Instant Updates
  • Easy to deploy
  • Portability
  • Hyperlinked and searchable

In the red corner...

  • Performance
  • Native features and APIs
  • Responsive, familiar UI
  • Ease of monetization
  • Tightly integrated user experience

Pre-fight Trash Talk

You're sacrificing performance, native features, and user experience for the sake of web development convenience!
-- every mobile native developer, ever
You're locking yourself into a proprietary system for each platform you plan to support! It doesn't scale!
-- every mobile web developer, ever
Write once, suck everywhere.
-- Loren Brichter

Both sides have what it takes to win...

So how's this fight going to end?

zealotry == wasted energy

Zealots and fanboys forget that...

End users don't give a S#!T

You win when the user wins

Web and Native

Titanium Mobile

A platform for building best in class cross-platform mobile applications in JavaScript

Titanium Mobile

  • Only cross-platform mobile toolkit with native UI and performance and the ability to build web apps
  • Free and open source under the Apache 2.0 license
  • Supports iOS, Android, Blackberry, and Mobile Web

How Titanium Works

  • You write Javascript
  • Titanium maps your JS to native bindings
  • Your JS + JS engine + native bindings = native mobile app

That's great,
but what can I do with it?

  • Top brands
  • Independent success
  • #1 apps

What's the code like?

Development Workflow

  • UI and app logic coded in Javascript
  • Write code, manage projects, and distribute with Titanium Studio
  • Target multiple platforms from a single codebase

    var win = Ti.UI.createWindow({
        backgroundColor: '#fff'
    });
    var view = Ti.UI.createView({
        backgroundColor: '#a00',
        height: 200,
        width: 200
    });
    view.addEventListener('click', function(e) {
        alert('clicked');
    });

    win.add(view);
    win.open();
						

Live Code Demo

Want to learn more?


Appcelerator News

Q&A

Thank you!

RED HAT DEVELOPER DAY