SlideShare uma empresa Scribd logo
1 de 32
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.

Mais conteúdo relacionado

Mais procurados

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 HTML5Oswald Campesato
 
Google Glasses Integration with SAP
Google Glasses Integration with SAPGoogle Glasses Integration with SAP
Google Glasses Integration with SAPGh14Cc10
 
製作 Unity Plugin for Android
製作 Unity Plugin for Android製作 Unity Plugin for Android
製作 Unity Plugin for AndroidJohnny 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 2019Unity 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 GoogleJeff 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 GlassOstap Andrusiv
 
1 introduction of android
1 introduction of android1 introduction of android
1 introduction of androidakila_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 ScratchTaufan 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 cloudJoe Nasr
 
2017 02-fitc-amz-public
2017 02-fitc-amz-public2017 02-fitc-amz-public
2017 02-fitc-amz-publicCyrille 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.5Gaurav 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 Anywhereguest991eb3
 
Android tutorial
Android tutorialAndroid tutorial
Android tutorialAbid 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.1Csongor Nagy
 

Mais procurados (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
 

Semelhante a Appcelerator iPhone/iPad Dev Con 2010 San Diego, CA

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
 
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
 
An introduction to Titanium
An introduction to TitaniumAn introduction to Titanium
An introduction to TitaniumGraham 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 TutorialKevin 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 overviewHas Taiar
 
Front-end. Global domination
Front-end. Global dominationFront-end. Global domination
Front-end. Global dominationStfalcon Meetups
 
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 Modulesomorandi
 
Appcelerator Titanium at Mobile 2.0
Appcelerator Titanium at Mobile 2.0Appcelerator Titanium at Mobile 2.0
Appcelerator Titanium at Mobile 2.0Jeff Haynie
 
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 TitaniumJeff Haynie
 
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
 

Semelhante a Appcelerator iPhone/iPad Dev Con 2010 San Diego, CA (20)

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...
 
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
 
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
 
Appcelerator Titanium at Mobile 2.0
Appcelerator Titanium at Mobile 2.0Appcelerator Titanium at Mobile 2.0
Appcelerator Titanium at Mobile 2.0
 
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
 
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.javascript.global domination
Pivorak.javascript.global dominationPivorak.javascript.global domination
Pivorak.javascript.global domination
 

Mais de Jeff Haynie

How to build great teams
How to build great teamsHow to build great teams
How to build great teamsJeff Haynie
 
#Startup lessons
#Startup lessons#Startup lessons
#Startup lessonsJeff Haynie
 
Ti AppCamp 2 : Atlanta
Ti AppCamp 2 : AtlantaTi AppCamp 2 : Atlanta
Ti AppCamp 2 : AtlantaJeff Haynie
 
TiConf Australia 2013
TiConf Australia 2013TiConf Australia 2013
TiConf Australia 2013Jeff Haynie
 
Titanium Conf Baltimore Keynote 2013
Titanium Conf Baltimore Keynote 2013Titanium Conf Baltimore Keynote 2013
Titanium Conf Baltimore Keynote 2013Jeff 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, 2013Jeff 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 communityJeff Haynie
 
Mobile Monday Hamburg, Germany
Mobile Monday Hamburg, GermanyMobile Monday Hamburg, Germany
Mobile Monday Hamburg, GermanyJeff 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 KeynoteJeff 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 PresentationJeff Haynie
 
Appcelerator Overview
Appcelerator OverviewAppcelerator Overview
Appcelerator OverviewJeff Haynie
 
DFW Wordpress February Meetup - Appcelerator Titanium
DFW Wordpress February Meetup  - Appcelerator TitaniumDFW Wordpress February Meetup  - Appcelerator Titanium
DFW Wordpress February Meetup - Appcelerator TitaniumJeff 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.8Jeff Haynie
 
The Mobile Opportunity
The Mobile OpportunityThe Mobile Opportunity
The Mobile OpportunityJeff 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 workJeff Haynie
 
July iPhone Business Meetup
July iPhone Business MeetupJuly iPhone Business Meetup
July iPhone Business MeetupJeff Haynie
 

Mais de 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
 

Último

08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 

Último (20)

08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 

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.

Notas do Editor