SlideShare a Scribd company logo
iPhone/iPad Dev Con 2010


     San Diego, CA ~ September 28
About Me


           Jeff Haynie
           @jhaynie
           http://blog.jeffhaynie.us
           http://github.com/jhaynie
           http://slideshare.net/jhaynie



 Serial Entrepreneur & Silicon Valley geek
 Objective-C hacker
 Co-founder and CEO, Appcelerator
 All around good guy
Massive Business Problem offers Significant Opportunity
Appcelerator




 We empower web developers by giving them
 the ability to create native iOS applications
 using JavaScript.

 Speed, Skills, Infrastructure, Processes, Tools,
 Libraries, Reusability...
Appcelerator by the numbers




  72,000                      Developers

    4,750                     Apps in Stores

    1,100                     New Apps/Mo
Not write once, run crappy everywhere




 Appcelerator isn’t a write once, run
 everywhere. This isn’t possible (if you want
 create application experiences for each
 device).


 Not a replacement for terrible UI design.
 Not a replacement for great developers.


 JavaScript FTW!
Appcelerator is native iOS




 Exposed native capabilities


 Optimization of your JS code


 Generation of native binding code (Obj-C)


 Compile your application using iOS SDK.
Appcelerator is native




✓ You still need a Mac and OSX
✓ You still need iOS SDK
✓ You still need provisioning profiles (ugh!)
✓ You still need Apple

 You still need a good app design and ...
 common sense.
 If your app is a bad idea or has bad design,
 Apple will still reject it.
Appcelerator Basic




 APIs are self-declarative


 Titanium.Media
 Titanium.UI
 Titanium.Network
Appcelerator Basics




 We use a factory pattern:


 var media=Ti.UI.createVideoPlayer();
 window.add(media);
 media.play();
Properties




 var m = Ti.Media.createVideoPlayer
 ( {
         url: “foo.mpg”
 });


 m.url = “bar.mpg”;
Garbage Collection




 We’ll handle retain/release cycles for you
 based on your JS references.


 Some objects allow you to help us, help you.


 media.destroy();
UI Framework




 Titanium exposes native UI through model/
 view paradigm.


 Windows
 Views
 Widgets
Window / View / Widget relationships




Windows are Views
Widgets are Views


            Views are hierarchical
            Views contain views


Windows can be opened or closed
Windows can points to a local url
Layout




 Relative positioning / CSS-like


 top, left, right, bottom

 width: “50%”, height: “200”

 layout: “vertical”, “horizontal”

 zIndex: 199
JSS




Like CSS, adapted for Titanium
#foo {
      title: “Hello world”;
      width: 200px;
      height:40px;
}
var button = Ti.UI.createButton({
      id:”foo”
});
Common Properties




A lot of the common CSS properties you’d
expect:


borderWidth
borderColor
backgroundImage
fontFamily
Simple Example




var win = Ti.UI.createWindow();
var b = Ti.UI.createButton({
      title: “hello world”,
      width:200,
      height: 80
});
win.add(b);
win.open();
Make the button go “quack”




 b.addEventListener(‘click’,function(
 ){
     var m = Ti.Media.createSound({
           url:”cricket.wav”
     });
     m.play();
 });
Simple Animations




 Grow the width over 3 seconds


 view.animate({
         duration:3000,
         width:200
 });
Complex 2D and 3D Animations




 Using matrix transforms


 var
 t=Ti.UI.create2DMatrix().rotate(20).
 scale(1.5);
 var a=Ti.UI.createAnimation();
 a.transform = t;
 a.duration = 3000;
 view.animate(a);
Major API sets




 Media - audio, video
 Network - networking (sockets, web services)
 UI - user interface
 Database - database
 Geolocation - location services
 Utils - common utilities like md5, base64
 XML - native XML
 Map - native maps
Web Services




 var xhr = Ti.Network.createHTTPClient();
 xhr.onload = function() {
      Ti.API.info('in utf-8 onload for POST');
 };
 xhr.open("POST","http://api.appcelerator.net/
 p/v1/echo");
 xhr.send({"a":"€        ", "b":"aöbäcüd"});
Web Services with Complex Data (Image from Photo Gallery)




 Ti.Media.openPhotoGallery({
       success:function(event)
       {
           xhr.send({media:event.media});
       }
 });
iOS4 Backgrounding (new in upcoming 1.5)




 Ti.App.registerBackgroundService({
         url:'bg.js'
 });
iOS4 Local Notifications (new in upcoming 1.5)




 Ti.App.scheduleLocalNotification({
    alertBody:"Are you sure?",
    alertAction:"Launch!",
    userInfo:{"hello":"world"},
    sound:"pop.caf",
   date:new Date(new Date().getTime()
 + 3000)
 });
What can you not do with Titanium?




 It’s not great for 3D immersive games. Plenty
 of casual / 2D games being built.

 For anything else, we have the Module SDK.


 Package your Titanium extension and
 distribute it.


 Great for extending and third-party APIs.
More new stuff in upcoming 1.5




 Localizations


 L(“my_string”)
 Ti.Locale.getString(“my_string”)


 Due out in October
How about iPad?




 Split Views
 Popovers
 Nav Controllers (also in iPhone)
iPad SplitView example




 var sv =
 Ti.UI.iPad.createSplitWindow({
    masterView:masterNav,
    detailView:detailNav,
 });
 sv.open();
Can I hack on Appcelerator?




 Code is on github.com/appcelerator


 Licensed under Apache Public License (v2)


 developer.appcelerator.com
Other Appcelerator Products


                              Titanium Analytics
                              Web-based product that enables
                              companies to understand their
                              application usage, scenarios and users.




                              Titanium+Geo

                              Web-based product that enables geo-
                              spatial analytics as well as integration
                              into first-party and third-party data
                              sources. Enables companies to apply
                              location context to their analysis and
                              forecasting.

More Related Content

What's hot

Android Wear Development
Android Wear DevelopmentAndroid Wear Development
Android Wear DevelopmentJohnny Sung
 
Google Glass, the GDK, and HTML5
Google Glass, the GDK, and HTML5Google Glass, the GDK, and HTML5
Google Glass, the GDK, and HTML5
Oswald Campesato
 
Google Glasses Integration with SAP
Google Glasses Integration with SAPGoogle Glasses Integration with SAP
Google Glasses Integration with SAP
Gh14Cc10
 
製作 Unity Plugin for Android
製作 Unity Plugin for Android製作 Unity Plugin for Android
製作 Unity Plugin for Android
Johnny Sung
 
Applico Android Info Session at Columbia University
Applico Android Info Session at Columbia UniversityApplico Android Info Session at Columbia University
Applico Android Info Session at Columbia UniversityApplico
 
Unity XR platform has a new architecture – Unite Copenhagen 2019
Unity XR platform has a new architecture – Unite Copenhagen 2019Unity XR platform has a new architecture – Unite Copenhagen 2019
Unity XR platform has a new architecture – Unite Copenhagen 2019
Unity Technologies
 
Mountain View July JavaScript Meetup at Google
Mountain View July JavaScript Meetup at GoogleMountain View July JavaScript Meetup at Google
Mountain View July JavaScript Meetup at Google
Jeff Haynie
 
Android Development
Android DevelopmentAndroid Development
Android DevelopmentPaulo Hecht
 
Breaking Glass: Glass development without Glass
Breaking Glass: Glass development without GlassBreaking Glass: Glass development without Glass
Breaking Glass: Glass development without Glass
Ostap Andrusiv
 
1 introduction of android
1 introduction of android1 introduction of android
1 introduction of android
akila_mano
 
Android Development: Build Android App from Scratch
Android Development: Build Android App from ScratchAndroid Development: Build Android App from Scratch
Android Development: Build Android App from Scratch
Taufan Erfiyanto
 
What’s new in the adobe creative cloud
What’s new in the adobe creative cloudWhat’s new in the adobe creative cloud
What’s new in the adobe creative cloud
Joe Nasr
 
2017 02-fitc-amz-public
2017 02-fitc-amz-public2017 02-fitc-amz-public
2017 02-fitc-amz-public
Cyrille Fauvel
 
android-tutorial-for-beginner
android-tutorial-for-beginnerandroid-tutorial-for-beginner
android-tutorial-for-beginnerAjailal Parackal
 
Getting Started with Android 1.5
Getting Started with Android 1.5Getting Started with Android 1.5
Getting Started with Android 1.5
Gaurav Kohli
 
Open Kode, Airplay And The New Reality Of Write Once Run Anywhere
Open Kode, Airplay And The New Reality Of Write Once Run AnywhereOpen Kode, Airplay And The New Reality Of Write Once Run Anywhere
Open Kode, Airplay And The New Reality Of Write Once Run Anywhere
guest991eb3
 
Android tutorial
Android tutorialAndroid tutorial
Android tutorial
Abid Khan
 
The benefits of running simulations in the cloud vs. on-premise – Unite Copen...
The benefits of running simulations in the cloud vs. on-premise – Unite Copen...The benefits of running simulations in the cloud vs. on-premise – Unite Copen...
The benefits of running simulations in the cloud vs. on-premise – Unite Copen...
Unity Technologies
 
chuckgaffney-resume-unity-2016-Recruiter-Note
chuckgaffney-resume-unity-2016-Recruiter-Notechuckgaffney-resume-unity-2016-Recruiter-Note
chuckgaffney-resume-unity-2016-Recruiter-NoteCharles Gaffney
 
Hit fox framework v1.1
Hit fox framework v1.1Hit fox framework v1.1
Hit fox framework v1.1
Csongor Nagy
 

What's hot (20)

Android Wear Development
Android Wear DevelopmentAndroid Wear Development
Android Wear Development
 
Google Glass, the GDK, and HTML5
Google Glass, the GDK, and HTML5Google Glass, the GDK, and HTML5
Google Glass, the GDK, and HTML5
 
Google Glasses Integration with SAP
Google Glasses Integration with SAPGoogle Glasses Integration with SAP
Google Glasses Integration with SAP
 
製作 Unity Plugin for Android
製作 Unity Plugin for Android製作 Unity Plugin for Android
製作 Unity Plugin for Android
 
Applico Android Info Session at Columbia University
Applico Android Info Session at Columbia UniversityApplico Android Info Session at Columbia University
Applico Android Info Session at Columbia University
 
Unity XR platform has a new architecture – Unite Copenhagen 2019
Unity XR platform has a new architecture – Unite Copenhagen 2019Unity XR platform has a new architecture – Unite Copenhagen 2019
Unity XR platform has a new architecture – Unite Copenhagen 2019
 
Mountain View July JavaScript Meetup at Google
Mountain View July JavaScript Meetup at GoogleMountain View July JavaScript Meetup at Google
Mountain View July JavaScript Meetup at Google
 
Android Development
Android DevelopmentAndroid Development
Android Development
 
Breaking Glass: Glass development without Glass
Breaking Glass: Glass development without GlassBreaking Glass: Glass development without Glass
Breaking Glass: Glass development without Glass
 
1 introduction of android
1 introduction of android1 introduction of android
1 introduction of android
 
Android Development: Build Android App from Scratch
Android Development: Build Android App from ScratchAndroid Development: Build Android App from Scratch
Android Development: Build Android App from Scratch
 
What’s new in the adobe creative cloud
What’s new in the adobe creative cloudWhat’s new in the adobe creative cloud
What’s new in the adobe creative cloud
 
2017 02-fitc-amz-public
2017 02-fitc-amz-public2017 02-fitc-amz-public
2017 02-fitc-amz-public
 
android-tutorial-for-beginner
android-tutorial-for-beginnerandroid-tutorial-for-beginner
android-tutorial-for-beginner
 
Getting Started with Android 1.5
Getting Started with Android 1.5Getting Started with Android 1.5
Getting Started with Android 1.5
 
Open Kode, Airplay And The New Reality Of Write Once Run Anywhere
Open Kode, Airplay And The New Reality Of Write Once Run AnywhereOpen Kode, Airplay And The New Reality Of Write Once Run Anywhere
Open Kode, Airplay And The New Reality Of Write Once Run Anywhere
 
Android tutorial
Android tutorialAndroid tutorial
Android tutorial
 
The benefits of running simulations in the cloud vs. on-premise – Unite Copen...
The benefits of running simulations in the cloud vs. on-premise – Unite Copen...The benefits of running simulations in the cloud vs. on-premise – Unite Copen...
The benefits of running simulations in the cloud vs. on-premise – Unite Copen...
 
chuckgaffney-resume-unity-2016-Recruiter-Note
chuckgaffney-resume-unity-2016-Recruiter-Notechuckgaffney-resume-unity-2016-Recruiter-Note
chuckgaffney-resume-unity-2016-Recruiter-Note
 
Hit fox framework v1.1
Hit fox framework v1.1Hit fox framework v1.1
Hit fox framework v1.1
 

Similar to Appcelerator iPhone/iPad Dev Con 2010 San Diego, CA

Using Web Technologies to Build Native iPhone & Android Applications
Using Web Technologies to Build Native iPhone & Android ApplicationsUsing Web Technologies to Build Native iPhone & Android Applications
Using Web Technologies to Build Native iPhone & Android ApplicationsAxway Appcelerator
 
Open Source World : Using Web Technologies to build native iPhone and Android...
Open Source World : Using Web Technologies to build native iPhone and Android...Open Source World : Using Web Technologies to build native iPhone and Android...
Open Source World : Using Web Technologies to build native iPhone and Android...
Jeff Haynie
 
An introduction to Titanium
An introduction to TitaniumAn introduction to Titanium
An introduction to Titanium
Graham Weldon
 
Titanium Overview (Mobile March 2011)
Titanium Overview (Mobile March 2011)Titanium Overview (Mobile March 2011)
Titanium Overview (Mobile March 2011)
Kevin Whinnery
 
Native Mobile Application Using Open Source
Native Mobile Application Using Open SourceNative Mobile Application Using Open Source
Native Mobile Application Using Open SourceAxway Appcelerator
 
OSCON Titanium Tutorial
OSCON Titanium TutorialOSCON Titanium Tutorial
OSCON Titanium Tutorial
Kevin Whinnery
 
Titanium Meetup Deck
Titanium Meetup DeckTitanium Meetup Deck
Titanium Meetup Decksschwarzhoff
 
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...
André Goliath
 
Android overview
Android overviewAndroid overview
Android overview
Has Taiar
 
Front-end. Global domination
Front-end. Global dominationFront-end. Global domination
Front-end. Global domination
Stfalcon Meetups
 
Frontend. Global domination.
Frontend. Global domination.Frontend. Global domination.
Frontend. Global domination.
Андрей Вандакуров
 
Appcelerator Corporate Overview
Appcelerator Corporate OverviewAppcelerator Corporate Overview
Appcelerator Corporate Overviewsschwarzhoff
 
Native App + Wep App = ? (Hybrid Applications)
Native App + Wep App = ? (Hybrid Applications)Native App + Wep App = ? (Hybrid Applications)
Native App + Wep App = ? (Hybrid Applications)
GameWisp
 
Extending Appcelerator Titanium Mobile through Native Modules
Extending Appcelerator Titanium Mobile through Native ModulesExtending Appcelerator Titanium Mobile through Native Modules
Extending Appcelerator Titanium Mobile through Native Modules
omorandi
 
Mobile 2.0 Event: Mobile for the rest of us using Appcelerator Titanium
Mobile 2.0 Event: Mobile for the rest of us using Appcelerator TitaniumMobile 2.0 Event: Mobile for the rest of us using Appcelerator Titanium
Mobile 2.0 Event: Mobile for the rest of us using Appcelerator Titanium
Jeff Haynie
 
Appcelerator Titanium at Mobile 2.0
Appcelerator Titanium at Mobile 2.0Appcelerator Titanium at Mobile 2.0
Appcelerator Titanium at Mobile 2.0
Jeff Haynie
 
Pivorak.javascript.global domination
Pivorak.javascript.global dominationPivorak.javascript.global domination
Pivorak.javascript.global domination
Андрей Вандакуров
 
Andriy Vandakurov about "Frontend. Global domination"
Andriy Vandakurov about  "Frontend. Global domination" Andriy Vandakurov about  "Frontend. Global domination"
Andriy Vandakurov about "Frontend. Global domination"
Pivorak MeetUp
 

Similar to Appcelerator iPhone/iPad Dev Con 2010 San Diego, CA (20)

Using Web Technologies to Build Native iPhone & Android Applications
Using Web Technologies to Build Native iPhone & Android ApplicationsUsing Web Technologies to Build Native iPhone & Android Applications
Using Web Technologies to Build Native iPhone & Android Applications
 
Open Source World : Using Web Technologies to build native iPhone and Android...
Open Source World : Using Web Technologies to build native iPhone and Android...Open Source World : Using Web Technologies to build native iPhone and Android...
Open Source World : Using Web Technologies to build native iPhone and Android...
 
An introduction to Titanium
An introduction to TitaniumAn introduction to Titanium
An introduction to Titanium
 
Titanium Overview (Mobile March 2011)
Titanium Overview (Mobile March 2011)Titanium Overview (Mobile March 2011)
Titanium Overview (Mobile March 2011)
 
Native Mobile Application Using Open Source
Native Mobile Application Using Open SourceNative Mobile Application Using Open Source
Native Mobile Application Using Open Source
 
OSCON Titanium Tutorial
OSCON Titanium TutorialOSCON Titanium Tutorial
OSCON Titanium Tutorial
 
Titanium Meetup Deck
Titanium Meetup DeckTitanium Meetup Deck
Titanium Meetup Deck
 
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...
 
Android overview
Android overviewAndroid overview
Android overview
 
Front-end. Global domination
Front-end. Global dominationFront-end. Global domination
Front-end. Global domination
 
Frontend. Global domination.
Frontend. Global domination.Frontend. Global domination.
Frontend. Global domination.
 
Appcelerator Corporate Overview
Appcelerator Corporate OverviewAppcelerator Corporate Overview
Appcelerator Corporate Overview
 
Native App + Wep App = ? (Hybrid Applications)
Native App + Wep App = ? (Hybrid Applications)Native App + Wep App = ? (Hybrid Applications)
Native App + Wep App = ? (Hybrid Applications)
 
Extending Appcelerator Titanium Mobile through Native Modules
Extending Appcelerator Titanium Mobile through Native ModulesExtending Appcelerator Titanium Mobile through Native Modules
Extending Appcelerator Titanium Mobile through Native Modules
 
Presentation
PresentationPresentation
Presentation
 
Mobile for the rest of us
Mobile for the rest of usMobile for the rest of us
Mobile for the rest of us
 
Mobile 2.0 Event: Mobile for the rest of us using Appcelerator Titanium
Mobile 2.0 Event: Mobile for the rest of us using Appcelerator TitaniumMobile 2.0 Event: Mobile for the rest of us using Appcelerator Titanium
Mobile 2.0 Event: Mobile for the rest of us using Appcelerator Titanium
 
Appcelerator Titanium at Mobile 2.0
Appcelerator Titanium at Mobile 2.0Appcelerator Titanium at Mobile 2.0
Appcelerator Titanium at Mobile 2.0
 
Pivorak.javascript.global domination
Pivorak.javascript.global dominationPivorak.javascript.global domination
Pivorak.javascript.global domination
 
Andriy Vandakurov about "Frontend. Global domination"
Andriy Vandakurov about  "Frontend. Global domination" Andriy Vandakurov about  "Frontend. Global domination"
Andriy Vandakurov about "Frontend. Global domination"
 

More from Jeff Haynie

How to build great teams
How to build great teamsHow to build great teams
How to build great teams
Jeff Haynie
 
#Startup lessons
#Startup lessons#Startup lessons
#Startup lessons
Jeff Haynie
 
TiConf NYC 2014
TiConf NYC 2014TiConf NYC 2014
TiConf NYC 2014
Jeff Haynie
 
Ti AppCamp 2 : Atlanta
Ti AppCamp 2 : AtlantaTi AppCamp 2 : Atlanta
Ti AppCamp 2 : Atlanta
Jeff Haynie
 
TiConf Australia 2013
TiConf Australia 2013TiConf Australia 2013
TiConf Australia 2013
Jeff Haynie
 
Titanium Conf Baltimore Keynote 2013
Titanium Conf Baltimore Keynote 2013Titanium Conf Baltimore Keynote 2013
Titanium Conf Baltimore Keynote 2013
Jeff Haynie
 
TiConf.eu -- Titanium Developer Conference in Europe, 2013
TiConf.eu -- Titanium Developer Conference in Europe, 2013TiConf.eu -- Titanium Developer Conference in Europe, 2013
TiConf.eu -- Titanium Developer Conference in Europe, 2013
Jeff Haynie
 
TiTokyo conference in Tokyo, Japan for Appcelerator community (日本)
TiTokyo conference in Tokyo, Japan for Appcelerator community (日本)TiTokyo conference in Tokyo, Japan for Appcelerator community (日本)
TiTokyo conference in Tokyo, Japan for Appcelerator community (日本)
Jeff Haynie
 
TiTokyo conference in Tokyo, Japan for Appcelerator community
TiTokyo conference in Tokyo, Japan for Appcelerator communityTiTokyo conference in Tokyo, Japan for Appcelerator community
TiTokyo conference in Tokyo, Japan for Appcelerator community
Jeff Haynie
 
Mobile Monday Hamburg, Germany
Mobile Monday Hamburg, GermanyMobile Monday Hamburg, Germany
Mobile Monday Hamburg, Germany
Jeff Haynie
 
Mobile Developer Conference 2012 Hamburg, Germany Keynote
Mobile Developer Conference 2012 Hamburg, Germany KeynoteMobile Developer Conference 2012 Hamburg, Germany Keynote
Mobile Developer Conference 2012 Hamburg, Germany Keynote
Jeff Haynie
 
SoCon 12 : Where are you in your mobile maturity?
SoCon 12 : Where are you in your mobile maturity?SoCon 12 : Where are you in your mobile maturity?
SoCon 12 : Where are you in your mobile maturity?
Jeff Haynie
 
CommNexus San Diego Presentation
CommNexus San Diego PresentationCommNexus San Diego Presentation
CommNexus San Diego Presentation
Jeff Haynie
 
Appcelerator Overview
Appcelerator OverviewAppcelerator Overview
Appcelerator Overview
Jeff Haynie
 
DFW Wordpress February Meetup - Appcelerator Titanium
DFW Wordpress February Meetup  - Appcelerator TitaniumDFW Wordpress February Meetup  - Appcelerator Titanium
DFW Wordpress February Meetup - Appcelerator Titanium
Jeff Haynie
 
Building a sustainable, cross-platform mobile application strategy - SoCon 20...
Building a sustainable, cross-platform mobile application strategy - SoCon 20...Building a sustainable, cross-platform mobile application strategy - SoCon 20...
Building a sustainable, cross-platform mobile application strategy - SoCon 20...
Jeff Haynie
 
What's great in Appcelerator Titanium 0.8
What's great in Appcelerator Titanium 0.8What's great in Appcelerator Titanium 0.8
What's great in Appcelerator Titanium 0.8
Jeff Haynie
 
The Mobile Opportunity
The Mobile OpportunityThe Mobile Opportunity
The Mobile Opportunity
Jeff Haynie
 
Shotput Ventures - Building startups are hard work
Shotput Ventures - Building startups are hard workShotput Ventures - Building startups are hard work
Shotput Ventures - Building startups are hard work
Jeff Haynie
 
July iPhone Business Meetup
July iPhone Business MeetupJuly iPhone Business Meetup
July iPhone Business Meetup
Jeff Haynie
 

More from Jeff Haynie (20)

How to build great teams
How to build great teamsHow to build great teams
How to build great teams
 
#Startup lessons
#Startup lessons#Startup lessons
#Startup lessons
 
TiConf NYC 2014
TiConf NYC 2014TiConf NYC 2014
TiConf NYC 2014
 
Ti AppCamp 2 : Atlanta
Ti AppCamp 2 : AtlantaTi AppCamp 2 : Atlanta
Ti AppCamp 2 : Atlanta
 
TiConf Australia 2013
TiConf Australia 2013TiConf Australia 2013
TiConf Australia 2013
 
Titanium Conf Baltimore Keynote 2013
Titanium Conf Baltimore Keynote 2013Titanium Conf Baltimore Keynote 2013
Titanium Conf Baltimore Keynote 2013
 
TiConf.eu -- Titanium Developer Conference in Europe, 2013
TiConf.eu -- Titanium Developer Conference in Europe, 2013TiConf.eu -- Titanium Developer Conference in Europe, 2013
TiConf.eu -- Titanium Developer Conference in Europe, 2013
 
TiTokyo conference in Tokyo, Japan for Appcelerator community (日本)
TiTokyo conference in Tokyo, Japan for Appcelerator community (日本)TiTokyo conference in Tokyo, Japan for Appcelerator community (日本)
TiTokyo conference in Tokyo, Japan for Appcelerator community (日本)
 
TiTokyo conference in Tokyo, Japan for Appcelerator community
TiTokyo conference in Tokyo, Japan for Appcelerator communityTiTokyo conference in Tokyo, Japan for Appcelerator community
TiTokyo conference in Tokyo, Japan for Appcelerator community
 
Mobile Monday Hamburg, Germany
Mobile Monday Hamburg, GermanyMobile Monday Hamburg, Germany
Mobile Monday Hamburg, Germany
 
Mobile Developer Conference 2012 Hamburg, Germany Keynote
Mobile Developer Conference 2012 Hamburg, Germany KeynoteMobile Developer Conference 2012 Hamburg, Germany Keynote
Mobile Developer Conference 2012 Hamburg, Germany Keynote
 
SoCon 12 : Where are you in your mobile maturity?
SoCon 12 : Where are you in your mobile maturity?SoCon 12 : Where are you in your mobile maturity?
SoCon 12 : Where are you in your mobile maturity?
 
CommNexus San Diego Presentation
CommNexus San Diego PresentationCommNexus San Diego Presentation
CommNexus San Diego Presentation
 
Appcelerator Overview
Appcelerator OverviewAppcelerator Overview
Appcelerator Overview
 
DFW Wordpress February Meetup - Appcelerator Titanium
DFW Wordpress February Meetup  - Appcelerator TitaniumDFW Wordpress February Meetup  - Appcelerator Titanium
DFW Wordpress February Meetup - Appcelerator Titanium
 
Building a sustainable, cross-platform mobile application strategy - SoCon 20...
Building a sustainable, cross-platform mobile application strategy - SoCon 20...Building a sustainable, cross-platform mobile application strategy - SoCon 20...
Building a sustainable, cross-platform mobile application strategy - SoCon 20...
 
What's great in Appcelerator Titanium 0.8
What's great in Appcelerator Titanium 0.8What's great in Appcelerator Titanium 0.8
What's great in Appcelerator Titanium 0.8
 
The Mobile Opportunity
The Mobile OpportunityThe Mobile Opportunity
The Mobile Opportunity
 
Shotput Ventures - Building startups are hard work
Shotput Ventures - Building startups are hard workShotput Ventures - Building startups are hard work
Shotput Ventures - Building startups are hard work
 
July iPhone Business Meetup
July iPhone Business MeetupJuly iPhone Business Meetup
July iPhone Business Meetup
 

Recently uploaded

GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 

Recently uploaded (20)

GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 

Appcelerator iPhone/iPad Dev Con 2010 San Diego, CA

  • 1. iPhone/iPad Dev Con 2010 San Diego, CA ~ September 28
  • 2. About Me Jeff Haynie @jhaynie http://blog.jeffhaynie.us http://github.com/jhaynie http://slideshare.net/jhaynie Serial Entrepreneur & Silicon Valley geek Objective-C hacker Co-founder and CEO, Appcelerator All around good guy
  • 3. Massive Business Problem offers Significant Opportunity
  • 4. Appcelerator We empower web developers by giving them the ability to create native iOS applications using JavaScript. Speed, Skills, Infrastructure, Processes, Tools, Libraries, Reusability...
  • 5. Appcelerator by the numbers 72,000 Developers 4,750 Apps in Stores 1,100 New Apps/Mo
  • 6. Not write once, run crappy everywhere Appcelerator isn’t a write once, run everywhere. This isn’t possible (if you want create application experiences for each device). Not a replacement for terrible UI design. Not a replacement for great developers. JavaScript FTW!
  • 7. Appcelerator is native iOS Exposed native capabilities Optimization of your JS code Generation of native binding code (Obj-C) Compile your application using iOS SDK.
  • 8. Appcelerator is native ✓ You still need a Mac and OSX ✓ You still need iOS SDK ✓ You still need provisioning profiles (ugh!) ✓ You still need Apple You still need a good app design and ... common sense. If your app is a bad idea or has bad design, Apple will still reject it.
  • 9. Appcelerator Basic APIs are self-declarative Titanium.Media Titanium.UI Titanium.Network
  • 10. Appcelerator Basics We use a factory pattern: var media=Ti.UI.createVideoPlayer(); window.add(media); media.play();
  • 11. Properties var m = Ti.Media.createVideoPlayer ( { url: “foo.mpg” }); m.url = “bar.mpg”;
  • 12. Garbage Collection We’ll handle retain/release cycles for you based on your JS references. Some objects allow you to help us, help you. media.destroy();
  • 13. UI Framework Titanium exposes native UI through model/ view paradigm. Windows Views Widgets
  • 14. Window / View / Widget relationships Windows are Views Widgets are Views Views are hierarchical Views contain views Windows can be opened or closed Windows can points to a local url
  • 15. Layout Relative positioning / CSS-like top, left, right, bottom width: “50%”, height: “200” layout: “vertical”, “horizontal” zIndex: 199
  • 16. JSS Like CSS, adapted for Titanium #foo { title: “Hello world”; width: 200px; height:40px; } var button = Ti.UI.createButton({ id:”foo” });
  • 17. Common Properties A lot of the common CSS properties you’d expect: borderWidth borderColor backgroundImage fontFamily
  • 18. Simple Example var win = Ti.UI.createWindow(); var b = Ti.UI.createButton({ title: “hello world”, width:200, height: 80 }); win.add(b); win.open();
  • 19. Make the button go “quack” b.addEventListener(‘click’,function( ){ var m = Ti.Media.createSound({ url:”cricket.wav” }); m.play(); });
  • 20. Simple Animations Grow the width over 3 seconds view.animate({ duration:3000, width:200 });
  • 21. Complex 2D and 3D Animations Using matrix transforms var t=Ti.UI.create2DMatrix().rotate(20). scale(1.5); var a=Ti.UI.createAnimation(); a.transform = t; a.duration = 3000; view.animate(a);
  • 22. Major API sets Media - audio, video Network - networking (sockets, web services) UI - user interface Database - database Geolocation - location services Utils - common utilities like md5, base64 XML - native XML Map - native maps
  • 23. Web Services var xhr = Ti.Network.createHTTPClient(); xhr.onload = function() { Ti.API.info('in utf-8 onload for POST'); }; xhr.open("POST","http://api.appcelerator.net/ p/v1/echo"); xhr.send({"a":"€ ", "b":"aöbäcüd"});
  • 24. Web Services with Complex Data (Image from Photo Gallery) Ti.Media.openPhotoGallery({ success:function(event) { xhr.send({media:event.media}); } });
  • 25. iOS4 Backgrounding (new in upcoming 1.5) Ti.App.registerBackgroundService({ url:'bg.js' });
  • 26. iOS4 Local Notifications (new in upcoming 1.5) Ti.App.scheduleLocalNotification({ alertBody:"Are you sure?", alertAction:"Launch!", userInfo:{"hello":"world"}, sound:"pop.caf", date:new Date(new Date().getTime() + 3000) });
  • 27. What can you not do with Titanium? It’s not great for 3D immersive games. Plenty of casual / 2D games being built. For anything else, we have the Module SDK. Package your Titanium extension and distribute it. Great for extending and third-party APIs.
  • 28. More new stuff in upcoming 1.5 Localizations L(“my_string”) Ti.Locale.getString(“my_string”) Due out in October
  • 29. How about iPad? Split Views Popovers Nav Controllers (also in iPhone)
  • 30. iPad SplitView example var sv = Ti.UI.iPad.createSplitWindow({ masterView:masterNav, detailView:detailNav, }); sv.open();
  • 31. Can I hack on Appcelerator? Code is on github.com/appcelerator Licensed under Apache Public License (v2) developer.appcelerator.com
  • 32. Other Appcelerator Products Titanium Analytics Web-based product that enables companies to understand their application usage, scenarios and users. Titanium+Geo Web-based product that enables geo- spatial analytics as well as integration into first-party and third-party data sources. Enables companies to apply location context to their analysis and forecasting.

Editor's Notes