SlideShare una empresa de Scribd logo
1 de 32
Descargar para leer sin conexión
You can make an
____
  app for that
 * and now Titanium easier with 0.8!
Introducing Titanium Mobile 0.8
Major feature areas:
  ✓Support for iPhone Video Recording (3GS)
  ✓Native Maps Support (iPhone and Android)
  ✓Native Coverflow View (iPhone Only)
  ✓Push Notifications (iPhone Only)
  ✓New Table View Enhancements
  ✓Facebook Connect for Android
  ✓Embedded SQLite Databases
Titanium Developer 0.8
Enhanced Android emulator support for testing on
multiple releases, skins and 1.6/2.0 support




             select SDK version
                                  select Screen
Video Recording Support
Uses same API as Camera with expanded
options.
Titanium.Media.showCamera({
    success:function(media,details) {},
    cancel:function() {},
    error:function(error)
    {
!        if (error.code == Titanium.Media.NO_VIDEO)   New Error Code
!        {
!        }
    },
    allowEditing:true,
    mediaTypes: Titanium.Media.MEDIA_TYPE_VIDEO,      Specify media type,
    videoMaximumDuration:10000,                       duration in ms and
    videoQuality:Titanium.Media.QUALITY_HIGH          video quality
});

 Media types can be single value or array of values
Video Recording Support
Uses same API as Camera with expanded
options.
Titanium.Media.showCamera({
    success:function(media,details) {},
    cancel:function() {},
    error:function(error)
    {
!        if (error.code == Titanium.Media.NO_VIDEO)   New Error Code
!        {
!        }
    },
    allowEditing:true,
    mediaTypes: Titanium.Media.MEDIA_TYPE_VIDEO,      Specify media type,
    videoMaximumDuration:10000,                       duration in ms and
    videoQuality:Titanium.Media.QUALITY_HIGH          video quality
});

 Media types can be single value or array of values
Native Maps Support
Support for creating a new native Map view.

 var mapview = Titanium.Map.createView({
     mapType: Titanium.Map.HYBRID_TYPE
 });

  Maps are a native view similar to TableView,
  GroupedView, WebView, etc.

  Once you create a view, you need to add it to the
  window and then show it.


 Titanium.UI.currentWindow.addView(mapview);
 Titanium.UI.currentWindow.showView(mapview);
Native Maps Support
Maps allow you to control a number of
configurable options.
Configuring the map type:
- mapType                     option on create


   Titanium.Map.HYBRID_TYPE
   Titanium.Map.SATELLITE_TYPE
   Titanium.Map.STANDARD_TYPE
- mapview.setMapType(type)    programatic API
Native Maps Support
Map type examples:




    standard         hybrid   satellite
Native Maps Support
Configuring the map region coordinates:
- region                        option on create (object with
                                key/values)
    {latitude, longitude,
    latitudeDelta, longitudeDelta}
- mapview.setLocation(obj)      programatic API
Native Maps Support
                title




                           rightButton


   leftButton




   pincolor




                subtitle
Native Maps Support
                      Android Native Maps
Native Maps Support
Showing users current location on map:
- userLocation                boolean value
Native Maps Support
Adding annotations (pins) to map:
                                                  array of objects with each
- annotations                                     row having properties


  {latitude,longitude,title,subtitle,pincolor,
  animate,leftButton,rightButton}
  annotations is property of Titanium.Map.createView


  Titanium.Map.ANNOTATION_RED
  Titanium.Map.ANNOTATION_GREEN
  Titanium.Map.ANNOTATION_PURPLE
  3 built-in pin colors
Native Maps Support
Maps support events:                          Click events are only
                                              for annotation clicks

- click - with event properties:
    title - title supplied in pin
    source - click region (leftButton, rightButton,
    etc)
- regionChanged - with event properties:
    longitude
                      Fired when the region

    latitude          of the map changes
Coverflow View (iPhone)
New Coverflow View:



                      Native coverflow view
                      which supports images
                      (local or remote)



                      Supports swiping
                      gestures, reflection, etc
Coverflow View (iPhone)
Create view similar to other views:

 var view = Titanium.UI.createCoverFlowView({
     images:images,
     backgroundColor:'#000'
 });

  View takes array of images and optional
  backgroundColor

  Once you create a view, you need to add it to the
  window and then show it.


 Titanium.UI.currentWindow.addView(view);
 Titanium.UI.currentWindow.showView(view);
Coverflow View (iPhone)
Images can be changed dynamically:

 view.setURL(index,url);




And view fires click events:
 view.addEventListener('click',function(evt){
    !    !        !       !        !       !
    // evt.index is the index of image clicked

 });




And ‘change’ events when an image is changed.
Coverflow View (iPhone)
Coverflow instance has selected property:

 view.selected




Which indicates which image is selected (or the
main visible image)


You can also set the selected to change it:
  view.selected = 2;
Push Notifications (iPhone)
Device support for push notifications:

 Titanium.Network.registerForPushNotifications({
     types:[
        Titanium.Network.NOTIFICATION_TYPE_BADGE,        type of
        Titanium.Network.NOTIFICATION_TYPE_ALERT,!       notifications you
        Titanium.Network.NOTIFICATION_TYPE_SOUND
                                                         want
     ],
     success: function() {deviceid},
     error: function() {},               success is invoked with your device id
     callback: function(e)
                                         that needs to be sent to Apple APNS
     {
     }
 });
         callback which is called when a
        notification is received
Push Notifications (iPhone)
Current limitations:
  - You will need to take the client device ID from
  the success call and store it remotely (via web
  service call) to use when pushing notifications
  to Apple APNS
  - You will need to push your own events to
  Apple APNS

  Appcelerator will be offering a fully integrated push service in the
  near future. In the meantime, we recommend Urban Airship.
Table View Enhancements
So many native improvements:
 - New native render template capability
 - Support for native search field and searching
 capabilities
 - Support for complete control of background,
 cells, etc.
Table View Enhancements




Complete native control   Customized Grouped   Customized TableView
        layout                   View
Table View Enhancements




 Custom TableView   Search field prior to   Example of search result
                          search               in search field
Table View Enhancements




Custom TableView on   Custom TableView on   Example of TableView
     Android               Android            with search field
Table View templating
There is a new native templating feature that’s modeled after
CSS for layout. This provides high performance native
rendering.
First create a “template” for the layout specification:
 var template = {
    selectedBackgroundColor:'#fff',
    backgroundColor:'#fff',
    rowHeight:100,
    layout:[
       {type:'image', left:10, top:5, width:50, height:50, name:'photo'},
       {type:'text', fontSize:16, fontWeight:'bold', left:70, top:2, width:
       200, height:30, color:'#576996', name:'user'}
    ]
 };

This tells the layout engine how to construct the layout region.
Table View templating
Second, apply the template mapping in the data object:
                                   each data row can override spec values too!
 var data = [
    {photo:'images/fred.png', user:'Fred Smith'},
    {photo:'images/lucy.png', user:'Lucy Smith'}
 ];



In each data row, you map data properties to the names you
specified in your template. In the above example, photo will
maps to the spec:                 use CSS properties to specify layout -
                                         similar to relative positioning in CSS
 {type:'image', left:10, top:5, width:50, height:50, name:'photo'},

  types supported in 0.8 are
                                              name property maps to the
  image, text -- more types will
                                              property in each data row
  be supported as needed
Table View templating
Lastly, apply the template when you create your Table View:
 var tv = Titanium.UI.createTableView({
 !       template:template,
 !       data:data
 }, function(eventObject)
 {
 });



This will inform the native layer that it should use your
template specification to render each row.

  native templating will be expanded in 0.9 to include more components
  and a pure “native” view -- for increased performance!
Facebook Connect for Android
Native support for Facebook Connect!
Custom Keyboard Toolbar
For textfields and textareas, you can now specify a keyboard
toolbar to show on top of your keyboard. (iPhone only)


                      var textfield = Titanium.UI.createTextField({
                          id:'textfield',
                          height:30,
                          keyboardToolbar:
                          [clear,flexSpace,prev,fixSpace,next],
                          keyboardToolbarColor:'#900',
                          keyboardToolbarHeight: 40,
                          width:300
                      });
                                              Normal buttons created via
                                              Titanium.UI.createButton
Pre-load your Database
With 0.8, you can now install your pre-loaded database into
your app using the following command:


 var db = Titanium.Database.install('testdb.db','quotes');




 If your database is already installed, this will
 simply return an instance to it. So it’s safe to call
 each time.
Beyond 0.8 to 0.9
Our main objective for 0.9 is going to be focus on
performance, optimization, performance and optimization.
We have a number of very specific performance optimizations
we’re ready to make:
- loading performance
- on-going rendering speed
- compiler speedups and detection and removal of dead code
- reduction of need for extra web views
- faster javascript execution

0.9 is targeted for end of year - 2009 - just in time for new years hacking!
We need your help !
- Please, please, please report issues and problems to
support.appcelerator.net -- we can’t fix it if we don’t know
about it!
- If we’re missing something or you can’t use Titanium
because of something, please tell us. We want to support it if
we can.
- Please tell everyone about Appcelerator and follow us
@appcelerator on twitter!


If you’re interested in contributing to Appcelerator, please check out http://
github.com/appcelerator and send us an email at info@appcelerator.com to get
involved!

Más contenido relacionado

La actualidad más candente

Mobile App Development
Mobile App DevelopmentMobile App Development
Mobile App Development
Chris Morrell
 
What’s New in Flash Player 11.2 and Adobe AIR 3.2
What’s New in Flash Player 11.2 and Adobe AIR 3.2What’s New in Flash Player 11.2 and Adobe AIR 3.2
What’s New in Flash Player 11.2 and Adobe AIR 3.2
Joseph Labrecque
 
iTunes App Store Submission Process
iTunes App Store Submission ProcessiTunes App Store Submission Process
iTunes App Store Submission Process
Anscamobile
 
Adobe AIR Mobile development for Android and PlayBook
Adobe AIR Mobile development for Android and PlayBookAdobe AIR Mobile development for Android and PlayBook
Adobe AIR Mobile development for Android and PlayBook
Mihai Corlan
 
iPhone Developer_ankush
iPhone Developer_ankushiPhone Developer_ankush
iPhone Developer_ankush
ankush Ankush
 
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGapBuilding Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
Nick Landry
 

La actualidad más candente (20)

打造你的第一個iPhone APP
打造你的第一個iPhone APP打造你的第一個iPhone APP
打造你的第一個iPhone APP
 
ゲーム作成で学ぶ iPhoneアプリケーション超入門
ゲーム作成で学ぶ iPhoneアプリケーション超入門ゲーム作成で学ぶ iPhoneアプリケーション超入門
ゲーム作成で学ぶ iPhoneアプリケーション超入門
 
iPhone Development Quick Start
iPhone Development Quick StartiPhone Development Quick Start
iPhone Development Quick Start
 
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
 
Mobile App Development
Mobile App DevelopmentMobile App Development
Mobile App Development
 
iPhone Development: Zero to Sixty
iPhone Development: Zero to SixtyiPhone Development: Zero to Sixty
iPhone Development: Zero to Sixty
 
Programing for the iPhone
Programing for the iPhonePrograming for the iPhone
Programing for the iPhone
 
iPhone University Developer Program
iPhone University Developer ProgramiPhone University Developer Program
iPhone University Developer Program
 
What’s New in Flash Player 11.2 and Adobe AIR 3.2
What’s New in Flash Player 11.2 and Adobe AIR 3.2What’s New in Flash Player 11.2 and Adobe AIR 3.2
What’s New in Flash Player 11.2 and Adobe AIR 3.2
 
iTunes App Store Submission Process
iTunes App Store Submission ProcessiTunes App Store Submission Process
iTunes App Store Submission Process
 
Adobe AIR Mobile development for Android and PlayBook
Adobe AIR Mobile development for Android and PlayBookAdobe AIR Mobile development for Android and PlayBook
Adobe AIR Mobile development for Android and PlayBook
 
Creating Mobile Content Using Flash
Creating Mobile Content Using FlashCreating Mobile Content Using Flash
Creating Mobile Content Using Flash
 
iPhone Developer_ankush
iPhone Developer_ankushiPhone Developer_ankush
iPhone Developer_ankush
 
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGapBuilding Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
 
Best Practice iPhone SDK App Design
Best Practice iPhone SDK App DesignBest Practice iPhone SDK App Design
Best Practice iPhone SDK App Design
 
Native vs Hybrid vs Web
Native vs Hybrid vs WebNative vs Hybrid vs Web
Native vs Hybrid vs Web
 
Cloud client darwin information cloud browser
Cloud client   darwin information cloud browserCloud client   darwin information cloud browser
Cloud client darwin information cloud browser
 
Flash Builder and Flex Future - Multiscreen Development
Flash Builder and Flex Future - Multiscreen DevelopmentFlash Builder and Flex Future - Multiscreen Development
Flash Builder and Flex Future - Multiscreen Development
 
ibeacons, Privacy & Customer Segmentation - StreetHawk
ibeacons, Privacy & Customer Segmentation - StreetHawkibeacons, Privacy & Customer Segmentation - StreetHawk
ibeacons, Privacy & Customer Segmentation - StreetHawk
 
Mobile (App) Development with Sitecore
Mobile (App) Development with SitecoreMobile (App) Development with Sitecore
Mobile (App) Development with Sitecore
 

Similar a What's great in Appcelerator Titanium 0.8

iPhone/iPad Development with Titanium
iPhone/iPad Development with TitaniumiPhone/iPad Development with Titanium
iPhone/iPad Development with Titanium
Axway Appcelerator
 
Windows phone 7 series
Windows phone 7 seriesWindows phone 7 series
Windows phone 7 series
openbala
 
Titanium Introduction
Titanium IntroductionTitanium Introduction
Titanium Introduction
chortlehoort
 
Btb017 David
Btb017 DavidBtb017 David
Btb017 David
Rohit Ray
 

Similar a What's great in Appcelerator Titanium 0.8 (20)

Titanium Appcelerator - Beginners
Titanium Appcelerator - BeginnersTitanium Appcelerator - Beginners
Titanium Appcelerator - Beginners
 
Writing videogames with titanium appcelerator
Writing videogames with titanium appceleratorWriting videogames with titanium appcelerator
Writing videogames with titanium appcelerator
 
Top Tips for Android UIs - Getting the Magic on Tablets
Top Tips for Android UIs - Getting the Magic on TabletsTop Tips for Android UIs - Getting the Magic on Tablets
Top Tips for Android UIs - Getting the Magic on Tablets
 
Android Bootcamp Tanzania:understanding ui in_android
Android Bootcamp Tanzania:understanding ui in_androidAndroid Bootcamp Tanzania:understanding ui in_android
Android Bootcamp Tanzania:understanding ui in_android
 
iPhone/iPad Development with Titanium
iPhone/iPad Development with TitaniumiPhone/iPad Development with Titanium
iPhone/iPad Development with Titanium
 
Appcelerator iPhone/iPad Dev Con 2010 San Diego, CA
Appcelerator iPhone/iPad Dev Con 2010 San Diego, CAAppcelerator iPhone/iPad Dev Con 2010 San Diego, CA
Appcelerator iPhone/iPad Dev Con 2010 San Diego, CA
 
Windows phone 7 series
Windows phone 7 seriesWindows phone 7 series
Windows phone 7 series
 
Titanium Introduction
Titanium IntroductionTitanium Introduction
Titanium Introduction
 
Titanium Introduction
Titanium IntroductionTitanium Introduction
Titanium Introduction
 
Titanium appcelerator sdk
Titanium appcelerator sdkTitanium appcelerator sdk
Titanium appcelerator sdk
 
WPF - the future of GUI is near
WPF - the future of GUI is nearWPF - the future of GUI is near
WPF - the future of GUI is near
 
Flutter festival - building ui's with flutter
Flutter festival - building ui's with flutterFlutter festival - building ui's with flutter
Flutter festival - building ui's with flutter
 
mobl
moblmobl
mobl
 
Techwave 2006 Advanced Datawindow Functionality
Techwave 2006 Advanced Datawindow FunctionalityTechwave 2006 Advanced Datawindow Functionality
Techwave 2006 Advanced Datawindow Functionality
 
Techwave 2006 Advanced Datawindow Techniques
Techwave 2006 Advanced Datawindow TechniquesTechwave 2006 Advanced Datawindow Techniques
Techwave 2006 Advanced Datawindow Techniques
 
Crud operations using aws dynamo db with flask ap is and boto3
Crud operations using aws dynamo db with flask ap is and boto3Crud operations using aws dynamo db with flask ap is and boto3
Crud operations using aws dynamo db with flask ap is and boto3
 
01 09 - graphical user interface - basic widgets
01  09 - graphical user interface - basic widgets01  09 - graphical user interface - basic widgets
01 09 - graphical user interface - basic widgets
 
Intro to appcelerator
Intro to appceleratorIntro to appcelerator
Intro to appcelerator
 
Dynamic Graph Plotting with WPF
Dynamic Graph Plotting with WPFDynamic Graph Plotting with WPF
Dynamic Graph Plotting with WPF
 
Btb017 David
Btb017 DavidBtb017 David
Btb017 David
 

Más de Jeff Haynie

Más 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
 
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?
 
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
 
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...
 
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
 
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
 
Developing Desktop Applications using HTML and Javascript
Developing Desktop Applications using HTML and JavascriptDeveloping Desktop Applications using HTML and Javascript
Developing Desktop Applications using HTML and Javascript
 
SoCon09 Keynote - Jeff Haynie
SoCon09 Keynote - Jeff HaynieSoCon09 Keynote - Jeff Haynie
SoCon09 Keynote - Jeff Haynie
 
SD Forum Java SIG - Service Oriented UI Architecture
SD Forum Java SIG - Service Oriented UI ArchitectureSD Forum Java SIG - Service Oriented UI Architecture
SD Forum Java SIG - Service Oriented UI Architecture
 
Ajaxworld March 2008 - Jeff Haynie Keynote - Appcelerator
Ajaxworld March 2008 - Jeff Haynie Keynote - AppceleratorAjaxworld March 2008 - Jeff Haynie Keynote - Appcelerator
Ajaxworld March 2008 - Jeff Haynie Keynote - Appcelerator
 

Último

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Último (20)

Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 

What's great in Appcelerator Titanium 0.8

  • 1. You can make an ____ app for that * and now Titanium easier with 0.8!
  • 2. Introducing Titanium Mobile 0.8 Major feature areas: ✓Support for iPhone Video Recording (3GS) ✓Native Maps Support (iPhone and Android) ✓Native Coverflow View (iPhone Only) ✓Push Notifications (iPhone Only) ✓New Table View Enhancements ✓Facebook Connect for Android ✓Embedded SQLite Databases
  • 3. Titanium Developer 0.8 Enhanced Android emulator support for testing on multiple releases, skins and 1.6/2.0 support select SDK version select Screen
  • 4. Video Recording Support Uses same API as Camera with expanded options. Titanium.Media.showCamera({ success:function(media,details) {}, cancel:function() {}, error:function(error) { ! if (error.code == Titanium.Media.NO_VIDEO) New Error Code ! { ! } }, allowEditing:true, mediaTypes: Titanium.Media.MEDIA_TYPE_VIDEO, Specify media type, videoMaximumDuration:10000, duration in ms and videoQuality:Titanium.Media.QUALITY_HIGH video quality }); Media types can be single value or array of values
  • 5. Video Recording Support Uses same API as Camera with expanded options. Titanium.Media.showCamera({ success:function(media,details) {}, cancel:function() {}, error:function(error) { ! if (error.code == Titanium.Media.NO_VIDEO) New Error Code ! { ! } }, allowEditing:true, mediaTypes: Titanium.Media.MEDIA_TYPE_VIDEO, Specify media type, videoMaximumDuration:10000, duration in ms and videoQuality:Titanium.Media.QUALITY_HIGH video quality }); Media types can be single value or array of values
  • 6. Native Maps Support Support for creating a new native Map view. var mapview = Titanium.Map.createView({ mapType: Titanium.Map.HYBRID_TYPE }); Maps are a native view similar to TableView, GroupedView, WebView, etc. Once you create a view, you need to add it to the window and then show it. Titanium.UI.currentWindow.addView(mapview); Titanium.UI.currentWindow.showView(mapview);
  • 7. Native Maps Support Maps allow you to control a number of configurable options. Configuring the map type: - mapType option on create Titanium.Map.HYBRID_TYPE Titanium.Map.SATELLITE_TYPE Titanium.Map.STANDARD_TYPE - mapview.setMapType(type) programatic API
  • 8. Native Maps Support Map type examples: standard hybrid satellite
  • 9. Native Maps Support Configuring the map region coordinates: - region option on create (object with key/values) {latitude, longitude, latitudeDelta, longitudeDelta} - mapview.setLocation(obj) programatic API
  • 10. Native Maps Support title rightButton leftButton pincolor subtitle
  • 11. Native Maps Support Android Native Maps
  • 12. Native Maps Support Showing users current location on map: - userLocation boolean value
  • 13. Native Maps Support Adding annotations (pins) to map: array of objects with each - annotations row having properties {latitude,longitude,title,subtitle,pincolor, animate,leftButton,rightButton} annotations is property of Titanium.Map.createView Titanium.Map.ANNOTATION_RED Titanium.Map.ANNOTATION_GREEN Titanium.Map.ANNOTATION_PURPLE 3 built-in pin colors
  • 14. Native Maps Support Maps support events: Click events are only for annotation clicks - click - with event properties: title - title supplied in pin source - click region (leftButton, rightButton, etc) - regionChanged - with event properties: longitude Fired when the region latitude of the map changes
  • 15. Coverflow View (iPhone) New Coverflow View: Native coverflow view which supports images (local or remote) Supports swiping gestures, reflection, etc
  • 16. Coverflow View (iPhone) Create view similar to other views: var view = Titanium.UI.createCoverFlowView({ images:images, backgroundColor:'#000' }); View takes array of images and optional backgroundColor Once you create a view, you need to add it to the window and then show it. Titanium.UI.currentWindow.addView(view); Titanium.UI.currentWindow.showView(view);
  • 17. Coverflow View (iPhone) Images can be changed dynamically: view.setURL(index,url); And view fires click events: view.addEventListener('click',function(evt){ ! ! ! ! ! ! // evt.index is the index of image clicked }); And ‘change’ events when an image is changed.
  • 18. Coverflow View (iPhone) Coverflow instance has selected property: view.selected Which indicates which image is selected (or the main visible image) You can also set the selected to change it: view.selected = 2;
  • 19. Push Notifications (iPhone) Device support for push notifications: Titanium.Network.registerForPushNotifications({ types:[ Titanium.Network.NOTIFICATION_TYPE_BADGE, type of Titanium.Network.NOTIFICATION_TYPE_ALERT,! notifications you Titanium.Network.NOTIFICATION_TYPE_SOUND want ], success: function() {deviceid}, error: function() {}, success is invoked with your device id callback: function(e) that needs to be sent to Apple APNS { } }); callback which is called when a notification is received
  • 20. Push Notifications (iPhone) Current limitations: - You will need to take the client device ID from the success call and store it remotely (via web service call) to use when pushing notifications to Apple APNS - You will need to push your own events to Apple APNS Appcelerator will be offering a fully integrated push service in the near future. In the meantime, we recommend Urban Airship.
  • 21. Table View Enhancements So many native improvements: - New native render template capability - Support for native search field and searching capabilities - Support for complete control of background, cells, etc.
  • 22. Table View Enhancements Complete native control Customized Grouped Customized TableView layout View
  • 23. Table View Enhancements Custom TableView Search field prior to Example of search result search in search field
  • 24. Table View Enhancements Custom TableView on Custom TableView on Example of TableView Android Android with search field
  • 25. Table View templating There is a new native templating feature that’s modeled after CSS for layout. This provides high performance native rendering. First create a “template” for the layout specification: var template = { selectedBackgroundColor:'#fff', backgroundColor:'#fff', rowHeight:100, layout:[ {type:'image', left:10, top:5, width:50, height:50, name:'photo'}, {type:'text', fontSize:16, fontWeight:'bold', left:70, top:2, width: 200, height:30, color:'#576996', name:'user'} ] }; This tells the layout engine how to construct the layout region.
  • 26. Table View templating Second, apply the template mapping in the data object: each data row can override spec values too! var data = [ {photo:'images/fred.png', user:'Fred Smith'}, {photo:'images/lucy.png', user:'Lucy Smith'} ]; In each data row, you map data properties to the names you specified in your template. In the above example, photo will maps to the spec: use CSS properties to specify layout - similar to relative positioning in CSS {type:'image', left:10, top:5, width:50, height:50, name:'photo'}, types supported in 0.8 are name property maps to the image, text -- more types will property in each data row be supported as needed
  • 27. Table View templating Lastly, apply the template when you create your Table View: var tv = Titanium.UI.createTableView({ ! template:template, ! data:data }, function(eventObject) { }); This will inform the native layer that it should use your template specification to render each row. native templating will be expanded in 0.9 to include more components and a pure “native” view -- for increased performance!
  • 28. Facebook Connect for Android Native support for Facebook Connect!
  • 29. Custom Keyboard Toolbar For textfields and textareas, you can now specify a keyboard toolbar to show on top of your keyboard. (iPhone only) var textfield = Titanium.UI.createTextField({ id:'textfield', height:30, keyboardToolbar: [clear,flexSpace,prev,fixSpace,next], keyboardToolbarColor:'#900', keyboardToolbarHeight: 40, width:300 }); Normal buttons created via Titanium.UI.createButton
  • 30. Pre-load your Database With 0.8, you can now install your pre-loaded database into your app using the following command: var db = Titanium.Database.install('testdb.db','quotes'); If your database is already installed, this will simply return an instance to it. So it’s safe to call each time.
  • 31. Beyond 0.8 to 0.9 Our main objective for 0.9 is going to be focus on performance, optimization, performance and optimization. We have a number of very specific performance optimizations we’re ready to make: - loading performance - on-going rendering speed - compiler speedups and detection and removal of dead code - reduction of need for extra web views - faster javascript execution 0.9 is targeted for end of year - 2009 - just in time for new years hacking!
  • 32. We need your help ! - Please, please, please report issues and problems to support.appcelerator.net -- we can’t fix it if we don’t know about it! - If we’re missing something or you can’t use Titanium because of something, please tell us. We want to support it if we can. - Please tell everyone about Appcelerator and follow us @appcelerator on twitter! If you’re interested in contributing to Appcelerator, please check out http:// github.com/appcelerator and send us an email at info@appcelerator.com to get involved!