Tải bản đầy đủ (.ppt) (55 trang)

Android + Build Android using Open Source

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.34 MB, 55 trang )

Before You Begin


Prerequisite Software

– Latest iPhone SDK
– Android SDK with 1.6 and any later SDKs installed
– Titanium Developer


Getting Started Guide

– />arted
– Linked in tutorial notes at

1


Native Mobile
Applications USING
Open Source

2


Want to give this talk?


Your local user group




Your company



To your wife and kids



Package includes:

– Slides in various formats
– Example code
– Resources for presenters

/>
3


Today’s Agenda

4



Titanium Mobile Overview



Hello World and Project Walkthrough




Building Titanium Apps: Fundamentals



Code By Numbers: Oh Snap!



Where To Go From Here



Questions and Answers



Independent Hacking


About Me
Kevin Whinnery
Engineer/Platform Evangelist

Twitter: @kevinwhinnery

Web developer by trade and training, lover of
JavaScript and open web technologies in general


5


About Appcelerator

6



Open Source Software Company based in Mountain
View



~25 employees and growing



Developing Titanium for about two years, with
Mobile coming in the last year



95% Developers


About You

New To Mobile Development


7

Mobile Dev Veteran


Either way, you’ve come
to the right place.

8


Amazing Mobile
Platforms

9


Which is great and
exciting!

1


...only how do we target
all these cool platforms?

1



Well, you could build
native, but...

1



Which platforms do you choose?



How many codebases do you want to (or even can you) support?



How long will it take to build native on N platforms?



How much effort will be duplicated?



What if you bet on the wrong platform?



Who writes the code? Hire out? Retrain/retool yourself or your devs?



The Web Is An Option...

1



...and should be preferred when feasible



Mobile browsers are progressing fast and converging around WebKit



But there are limitations



Native apps are inherently more capable than web apps



Native apps run faster and smoother on resource constrained devices


Ideally, we build crossplatform native apps...

1



...but we don’t want to
“write once, suck
everywhere”*
*Loren Brichter, creator “Twitter for iPhone”/Tweetie

1


X-Platform
Requirements



Target multiple platforms from a single codebase



Apps must feel like they belong on the platform



Apps need to perform like native



Bonus: Open source and extensible



Bonus: Use skills we already have


Hmmm, I wonder if he has a specific technology in mind...

1


Enter Titanium
Titanium is an open source framework for
building native mobile (or desktop)
applications using open web technologies
(JavaScript - optionally HTML and CSS)

1


Titanium Key Facts


Open Source (Apache 2.0)



Professional Services, SLA Support, Training, and Analytics available
from Appcelerator

Titanium Platforms

1




Desktop: Win32, OS X, Linux



Mobile: iOS, Android, BlackBerry, webOS (soon)


Titanium Projects

1



Titanium Developer (1.2.1)



Titanium Mobile SDK (1.3.0)



Titanium Desktop SDK (1.0.0)



Versioned separately, different release schedules




We will focus on Developer and the Mobile SDK


Titanium Features

Native UI

2

Real native tables, tabs, sliders,
and views

Rich Media APIs
Local and streaming audio and
video, media recording

Location APIs

Open Source and Extensible

Native Maps, Compass, and
Geolocation

Extend Titanium with custom
modules in native code

Local and Remote Data

Integrated Analytics


Local SQL Database, Lightweight
Key/Value Store, XHR

Baked-in analytics APIs to measure
results and behavior

Social APIs

Development Tools

Integrated Facebook Connect
and YQL

Develop and distribute your app for
multiple platforms from a single tool


2

Who Uses Titanium?



NBC Universal



PayPal




MTV



Anheuser-Busch



Computer Sciences Corporation



Intridea (Oil Reporter)



100s of Titanium apps hitting the stores each
month (should soon eclipse 1000/month)


Titanium Architecture

• Desktop is HTML
focused
• Can use other
scripting languages
2

• Mobile: JavaScript

interpreted at runtime
• JavaScript API >>
native APIs


What Titanium Mobile is
not:

2



Not a native wrapper around a web view



However, you do have a web view component for HTML/CSS UI if that is your preference



Your JavaScript code is invoking native APIs for UI and other native functions



Think MacRuby/Hot Cocoa on the desktop or some AAA mobile games which ship with a Lua interpreter


Example

2



Example

2


×