SlideShare une entreprise Scribd logo
1  sur  41
Starting Mobile Development
     Mihai Corlan | Web Developer Evangelist | Adobe




© 2011 Adobe Systems Incorporated.
About Me

  Mihai Corlan
      Adobe Web Developer Evangelist
      Blog: http://corlan.org
      Twitter: mcorlan
      Email: mcorlan@adobe.com




   2
© 2011 Adobe Systems Incorporated.
How to become a mobile developer?
                                … or from web/desktop developer to mobile developer




© 2011 Adobe Systems Incorporated.
Practice beats everything!




  You have to start working on mobile apps




© 2011 Adobe Systems Incorporated.
Design a Plan and Follow it




© 2011 Adobe Systems Incorporated.
Example of Plans

      Create a mobile game for iPad
      Create a mobile application for the metro system from my town
      …




© 2011 Adobe Systems Incorporated.
Chemistry Brothers – iPad game build with AIR & ActionScript




© 2011 Adobe Systems Incorporated.
One Week

                                     Three People

                                     From Nothing
                                     to
                                     Finished Game




© 2011 Adobe Systems Incorporated.
Tuning the Idea

  1.        Build the app in a week or less
  2.        Build an app that solves a need you have or you are intimate with
  3.        Finish your app and publish it




© 2011 Adobe Systems Incorporated.
Your approach could be…

  1.        If you are a developer:
           Work for 2-4 weekends to build your app
           Most important thing is to finish your app and publish it
           Keep working on it to polish and explore new approaches


  2.        If you are a company:
       1.        Assemble a small team
       2.        Find an idea for an application
       3.        Define crystal clear what does complete app mean
       4.        Organize a bootcamp – could be 3 days or 7 days of work exclusively on the
                 project




© 2011 Adobe Systems Incorporated.
Creating Mobile Apps
  With AIR, Flex, & Flash Builder




© 2011 Adobe Systems Incorporated.
Understand the Tools – Flash Builder & Flash Professional

      Creating Flex and ActionScript projects
      Design View
      Testing the app in the desktop simulator
      Debugging the code in the desktop simulator or on the
       device
      Support for packaging the app - native installers for iOS,
       Android, and PlayBook
      Flash Builder for PHP




© 2011 Adobe Systems Incorporated.
Understand AIR runtime capabilities

      AIR 3.0 support for:
           iOS, Android, and PlayBook
           Captive Runtime
           Native Extensions
           …




© 2011 Adobe Systems Incorporated.
Understand Flex Support for Mobile Development




        Screen Metaphor              Session Persistency   Multi-Screen


© 2011 Adobe Systems Incorporated.
Creating Custom Components/Layout Managers

      Take a look at the existing Flex mobile components and learn how to
       extend them and build new ones
      Understand layout managers so you can build your own if necessary




© 2011 Adobe Systems Incorporated.
Understand Flex Mobile Skinning

      Using CSS
      Using FXG – start in Photoshop or Illustrator
      ActionScript based skins




© 2011 Adobe Systems Incorporated.
Creating Liquid UIs – dealing with screen fragmentation

      Master layout managers and APIs for detecting screen
       resolution/densities and operating system




© 2011 Adobe Systems Incorporated.
Stay Informed About What’s Coming Next

      No need to reinvent the wheel
      Ex. Flex 4.6 brings callout buttons and data spinner




© 2011 Adobe Systems Incorporated.
Question Everything




© 2011 Adobe Systems Incorporated.
Custom Look & Feel vs. Native UI

  1.        There are libraries that skin your app as an iOS or Android native app
            Examples:
       1.        http://e-skimo.com/index.php
       2.        https://github.com/olsonjj
       3.        http://madskool.wordpress.com/2011/03/18/madcomponents-wow/


  2.        I favor custom look & feel over native UI because:
       1.        You’ll save time that you can use for working on additional features or
                 improve the existing one
       2.        Customers care about great user experience
       3.        It is easier to bring your app to multiple OSs: iOS, Android, and PlayBook




© 2011 Adobe Systems Incorporated.
Conqu – Running on iOS / Android / PlayBook




© 2011 Adobe Systems Incorporated.
Question the UI: Lists

      Lists are one of the most abused UI components
      Ask yourself do I really need a list?




© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
If You Need A List Make The Best Possible List




© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
If You Need A List Make The Best Possible List




© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Question the UI: Built-in Keyboards vs. Custom Keyboard

      Can your app be more usable if using a custom keyboard?




© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Landscape and Portrait Orientation

      Don’t use both modes just because you can
      For some apps one could make more sense than the other




© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Mobile App – Server/Service Communication

      The vast majority of mobile apps don’t talk to a server or cloud service –
       so it doesn’t seem to be a must, right?
      Things are changing – Android synch services, Apple iCloud will make
       people to expect
             your app to support synchs data across multiple devices or user accounts
      There are companies providing synch services and storage
      You can use Peer2Peer support available in AIR




© 2011 Adobe Systems Incorporated.
Working with SQLite

      Use a desktop tool for creating database structure / adding data
      For Mac you can use SQLite Database Browser – free app




© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Working with SQLite

      Get the database file created by the tool and add it to your project
      When you first run your app just copy the database file from app directory
       to application storage folder

  public function initiliazeDB():void {

                       var file:File = File.applicationStorageDirectory.resolvePath(“myDatabaseFile”);

                   if(!file.exists) {
                      var destination:File = File.applicationStorageDirectory;
               var source:File = File.applicationDirectory.resolvePath("assets/orbdb");
                      source.copyTo(destination.resolvePath(DB), true);

                       }


                       sqlConnectionSync = new SQLConnection();
                       sqlConnectionSync.open(file, SQLMode.CREATE);

  }




© 2011 Adobe Systems Incorporated.
Persist Locally Internet Data




© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Providing Dummy Data for a Quick Start

      People using for the first time your application will learn faster how to use
       it
      See PeopleORB and aTabSplitter




                                                                              Hints for new users


© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Question Devices




                                     =



© 2011 Adobe Systems Incorporated.
Make Your App Available Everywhere

      Some say they’ve made more money with their PlayBook version of their
       apps than with the Android or iOS ones
      My app (aTabSplitter) had almost 10X more PlayBook downloads than
       Android’ downloads




                   Android Devices   iOS Devices    BlackBerry PlayBook
                   (+ NOOK Color)


© 2011 Adobe Systems Incorporated.
Conclusions




© 2011 Adobe Systems Incorporated.
It’s time for you to start building amazing mobile apps!




© 2011 Adobe Systems Incorporated.
Thank You!


                                     Question & Answers Time!


                 http://corlan.org

                 http://twitter.com/mcorlan

                 http://github.com/mcorlan

                 mcorlan@adobe.com




© 2011 Adobe Systems Incorporated.
Resources

      Flash Builder 4.5 (60-day trial period):
       www.adobe.com/go/try/flashbuilder
      Adobe Developer Connection:
       http://www.adobe.com/devnet/
      My blog:
       http://corlan.org




© 2011 Adobe Systems Incorporated.
My Approach

      Think of a mobile application you’d
       want to have
      Build that app and use this experience
       to learn how to build mobile apps




© 2011 Adobe Systems Incorporated.
Or Make It Better: Introducing the Section Tile List




© 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
© 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Adobe, the Adobe logo, Adobe AIR, the Adobe AIR logo, the Adobe PDF logo, AIR, ColdFusion, ColdFusion Builder, Flash, Flash Builder, the Flash logo, Flex, LiveCycle, and R
                       are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States and/or other countries. All other trademarks are the property of their respec
                       owners.
                       © 2010 Adobe Systems Incorporated. All rights reserved. Printed in the USA. 9102xxxx 3/10
Adobe, the Adobe logo, Adobe AIR, the Adobe AIR logo, ActionScript, AIR, Flash, Flash Builder, Flash Catalyst, the Flash logo, Flex, and LiveCycle are either registered trademarks or
trademarks of Adobe Systems Incorporated in the United States and/or other countries. Microsoft and Windows are either registered trademarks or trademarks of Microsoft Corporation in the
United States and/or other countries. Java is a trademark or registered trademark of Sun Microsystems, Inc. in the United States and other countries. All other trademarks are the property of
their respective owners.
Printed in the USA. 91023957 3/10

© 2011 Adobe Systems Incorporated.

Contenu connexe

Tendances

打造你的第一個iPhone APP
打造你的第一個iPhone APP打造你的第一個iPhone APP
打造你的第一個iPhone APP彼得潘 Pan
 
Mobile HTML5 Web Apps - Codemotion 2012
Mobile HTML5 Web Apps - Codemotion 2012Mobile HTML5 Web Apps - Codemotion 2012
Mobile HTML5 Web Apps - Codemotion 2012marcocasario
 
The future of the Adobe Flash platform
The future of the Adobe Flash platformThe future of the Adobe Flash platform
The future of the Adobe Flash platformMichael Chaize
 
Best Practice iPhone SDK App Design
Best Practice iPhone SDK App DesignBest Practice iPhone SDK App Design
Best Practice iPhone SDK App DesignBess Ho
 
Native vs Hybrid - Options to develop your mobile application
Native vs Hybrid - Options to develop your mobile applicationNative vs Hybrid - Options to develop your mobile application
Native vs Hybrid - Options to develop your mobile applicationLoic Ortola
 
worklight_development_environment
worklight_development_environmentworklight_development_environment
worklight_development_environmentAravindharamanan S
 
Development mobile app cross device
Development mobile app cross deviceDevelopment mobile app cross device
Development mobile app cross devicePhuong Nguyen
 
Apps for journalists, spring 2018 - Val Hoeppner - Muncie NewsTrain - 3.24.18
Apps for journalists, spring 2018 - Val Hoeppner - Muncie NewsTrain - 3.24.18Apps for journalists, spring 2018 - Val Hoeppner - Muncie NewsTrain - 3.24.18
Apps for journalists, spring 2018 - Val Hoeppner - Muncie NewsTrain - 3.24.18News Leaders Association's NewsTrain
 
Flash and Flex in an HTML5 / App Store World
Flash and Flex in an HTML5 / App Store WorldFlash and Flex in an HTML5 / App Store World
Flash and Flex in an HTML5 / App Store WorldEffectiveUI
 
iPhone Introduction
iPhone IntroductioniPhone Introduction
iPhone Introductionardiri
 
Native vs Web vs Hybrid Mobile Application Development
Native vs Web vs Hybrid Mobile Application DevelopmentNative vs Web vs Hybrid Mobile Application Development
Native vs Web vs Hybrid Mobile Application DevelopmentKosala Nuwan Perera
 
Christopher Allen’s Presentation at eComm 2009
Christopher Allen’s Presentation at eComm 2009Christopher Allen’s Presentation at eComm 2009
Christopher Allen’s Presentation at eComm 2009eCommConf
 
Over the air 2.5 - Adobe AIR for Android
Over the air 2.5 - Adobe AIR for AndroidOver the air 2.5 - Adobe AIR for Android
Over the air 2.5 - Adobe AIR for AndroidMichael Chaize
 
Building Hybrid Apps with AngularJS and Ionic
Building Hybrid Apps with AngularJS and IonicBuilding Hybrid Apps with AngularJS and Ionic
Building Hybrid Apps with AngularJS and IonicYounes Adounis
 
Native vs Hybrid vs Web
Native vs Hybrid vs WebNative vs Hybrid vs Web
Native vs Hybrid vs WebRuckit
 
Mobile applications chapter 5
Mobile applications chapter 5Mobile applications chapter 5
Mobile applications chapter 5Akib B. Momin
 

Tendances (20)

打造你的第一個iPhone APP
打造你的第一個iPhone APP打造你的第一個iPhone APP
打造你的第一個iPhone APP
 
Mobile HTML5 Web Apps - Codemotion 2012
Mobile HTML5 Web Apps - Codemotion 2012Mobile HTML5 Web Apps - Codemotion 2012
Mobile HTML5 Web Apps - Codemotion 2012
 
The future of the Adobe Flash platform
The future of the Adobe Flash platformThe future of the Adobe Flash platform
The future of the Adobe Flash platform
 
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 - Options to develop your mobile application
Native vs Hybrid - Options to develop your mobile applicationNative vs Hybrid - Options to develop your mobile application
Native vs Hybrid - Options to develop your mobile application
 
worklight_development_environment
worklight_development_environmentworklight_development_environment
worklight_development_environment
 
Development mobile app cross device
Development mobile app cross deviceDevelopment mobile app cross device
Development mobile app cross device
 
Apps for journalists, spring 2018 - Val Hoeppner - Muncie NewsTrain - 3.24.18
Apps for journalists, spring 2018 - Val Hoeppner - Muncie NewsTrain - 3.24.18Apps for journalists, spring 2018 - Val Hoeppner - Muncie NewsTrain - 3.24.18
Apps for journalists, spring 2018 - Val Hoeppner - Muncie NewsTrain - 3.24.18
 
Flash and Flex in an HTML5 / App Store World
Flash and Flex in an HTML5 / App Store WorldFlash and Flex in an HTML5 / App Store World
Flash and Flex in an HTML5 / App Store World
 
iPhone Introduction
iPhone IntroductioniPhone Introduction
iPhone Introduction
 
Native vs Web vs Hybrid Mobile Application Development
Native vs Web vs Hybrid Mobile Application DevelopmentNative vs Web vs Hybrid Mobile Application Development
Native vs Web vs Hybrid Mobile Application Development
 
Christopher Allen’s Presentation at eComm 2009
Christopher Allen’s Presentation at eComm 2009Christopher Allen’s Presentation at eComm 2009
Christopher Allen’s Presentation at eComm 2009
 
Apple WWDC 2018
Apple WWDC 2018Apple WWDC 2018
Apple WWDC 2018
 
Over the air 2.5 - Adobe AIR for Android
Over the air 2.5 - Adobe AIR for AndroidOver the air 2.5 - Adobe AIR for Android
Over the air 2.5 - Adobe AIR for Android
 
Building Hybrid Apps with AngularJS and Ionic
Building Hybrid Apps with AngularJS and IonicBuilding Hybrid Apps with AngularJS and Ionic
Building Hybrid Apps with AngularJS and Ionic
 
Montpellier - Flex UG
Montpellier - Flex UGMontpellier - Flex UG
Montpellier - Flex UG
 
Is HTML5 Ready for eLearning Development?
Is HTML5 Ready for eLearning Development?Is HTML5 Ready for eLearning Development?
Is HTML5 Ready for eLearning Development?
 
Flex mobile for JUG
Flex mobile for JUGFlex mobile for JUG
Flex mobile for JUG
 
Native vs Hybrid vs Web
Native vs Hybrid vs WebNative vs Hybrid vs Web
Native vs Hybrid vs Web
 
Mobile applications chapter 5
Mobile applications chapter 5Mobile applications chapter 5
Mobile applications chapter 5
 

Similaire à Starting mobile development

Android Development with Flash Platform
Android Development with Flash PlatformAndroid Development with Flash Platform
Android Development with Flash PlatformMihai Corlan
 
Debugging mobile websites and web apps
Debugging mobile websites and web appsDebugging mobile websites and web apps
Debugging mobile websites and web appsMihai Corlan
 
From Desktop to Mobile: Application Functionality for Small Screens
From Desktop to Mobile: Application Functionality for Small ScreensFrom Desktop to Mobile: Application Functionality for Small Screens
From Desktop to Mobile: Application Functionality for Small ScreensJoseph Labrecque
 
Flex 4.5 and mobile development
Flex 4.5 and mobile developmentFlex 4.5 and mobile development
Flex 4.5 and mobile developmentMichael Chaize
 
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 PlayBookMihai Corlan
 
Flash camp portugal - Let's talk about Flex baby
Flash camp portugal - Let's talk about Flex babyFlash camp portugal - Let's talk about Flex baby
Flash camp portugal - Let's talk about Flex babyMichael Chaize
 
Flash Builder for PHP and Mobile development
Flash Builder for PHP and Mobile developmentFlash Builder for PHP and Mobile development
Flash Builder for PHP and Mobile developmentMihai Corlan
 
Step-by-Step Guide to Developing a Successful iOS App.pdf
Step-by-Step Guide to Developing a Successful iOS App.pdfStep-by-Step Guide to Developing a Successful iOS App.pdf
Step-by-Step Guide to Developing a Successful iOS App.pdfBytes Technolab Inc.
 
Step-by-Step Guide to Developing a Successful iOS App.docx
Step-by-Step Guide to Developing a Successful iOS App.docxStep-by-Step Guide to Developing a Successful iOS App.docx
Step-by-Step Guide to Developing a Successful iOS App.docxBytes Technolab Inc.
 
iOS Application Development Step by Step to develop an iOS App.pdf
iOS Application Development Step by Step to develop an iOS App.pdfiOS Application Development Step by Step to develop an iOS App.pdf
iOS Application Development Step by Step to develop an iOS App.pdfJPLoft Solutions
 
Mobile Development With Flash Platform
Mobile Development With Flash PlatformMobile Development With Flash Platform
Mobile Development With Flash PlatformMihai Corlan
 
Best iOS Application Development Tools.pdf
Best iOS Application Development Tools.pdfBest iOS Application Development Tools.pdf
Best iOS Application Development Tools.pdfFuGenx Technologies
 
Reasons for Flash: Flash Development in an HTML5 and App Store World
Reasons for Flash: Flash Development in an HTML5 and App Store WorldReasons for Flash: Flash Development in an HTML5 and App Store World
Reasons for Flash: Flash Development in an HTML5 and App Store WorldEffectiveUI
 
Multiscreen Development with Adobe Air
Multiscreen Development with Adobe AirMultiscreen Development with Adobe Air
Multiscreen Development with Adobe Aireaselsolutions
 
Enterprise ipad Development with notes
Enterprise ipad Development with notesEnterprise ipad Development with notes
Enterprise ipad Development with notesjaxarcsig
 
Getting Acquainted with PhoneGap
Getting Acquainted with PhoneGapGetting Acquainted with PhoneGap
Getting Acquainted with PhoneGapJoseph Labrecque
 
Enterprise Hybrid Feasibility Analysis
Enterprise Hybrid Feasibility AnalysisEnterprise Hybrid Feasibility Analysis
Enterprise Hybrid Feasibility AnalysisLawrence Nyakiso
 
Flex multi-screen development
Flex multi-screen developmentFlex multi-screen development
Flex multi-screen developmenteaselsolutions
 
dotFes KYOTO - スマホ開発にAIR & PhoneGapを勧める5つの理由
dotFes KYOTO - スマホ開発にAIR & PhoneGapを勧める5つの理由dotFes KYOTO - スマホ開発にAIR & PhoneGapを勧める5つの理由
dotFes KYOTO - スマホ開発にAIR & PhoneGapを勧める5つの理由Andy Hall
 

Similaire à Starting mobile development (20)

Android Development with Flash Platform
Android Development with Flash PlatformAndroid Development with Flash Platform
Android Development with Flash Platform
 
Debugging mobile websites and web apps
Debugging mobile websites and web appsDebugging mobile websites and web apps
Debugging mobile websites and web apps
 
From Desktop to Mobile: Application Functionality for Small Screens
From Desktop to Mobile: Application Functionality for Small ScreensFrom Desktop to Mobile: Application Functionality for Small Screens
From Desktop to Mobile: Application Functionality for Small Screens
 
Flex 4.5 and mobile development
Flex 4.5 and mobile developmentFlex 4.5 and mobile development
Flex 4.5 and mobile development
 
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
 
MMT 28: Adobe »Edge to the Flash«
MMT 28: Adobe »Edge to the Flash«MMT 28: Adobe »Edge to the Flash«
MMT 28: Adobe »Edge to the Flash«
 
Flash camp portugal - Let's talk about Flex baby
Flash camp portugal - Let's talk about Flex babyFlash camp portugal - Let's talk about Flex baby
Flash camp portugal - Let's talk about Flex baby
 
Flash Builder for PHP and Mobile development
Flash Builder for PHP and Mobile developmentFlash Builder for PHP and Mobile development
Flash Builder for PHP and Mobile development
 
Step-by-Step Guide to Developing a Successful iOS App.pdf
Step-by-Step Guide to Developing a Successful iOS App.pdfStep-by-Step Guide to Developing a Successful iOS App.pdf
Step-by-Step Guide to Developing a Successful iOS App.pdf
 
Step-by-Step Guide to Developing a Successful iOS App.docx
Step-by-Step Guide to Developing a Successful iOS App.docxStep-by-Step Guide to Developing a Successful iOS App.docx
Step-by-Step Guide to Developing a Successful iOS App.docx
 
iOS Application Development Step by Step to develop an iOS App.pdf
iOS Application Development Step by Step to develop an iOS App.pdfiOS Application Development Step by Step to develop an iOS App.pdf
iOS Application Development Step by Step to develop an iOS App.pdf
 
Mobile Development With Flash Platform
Mobile Development With Flash PlatformMobile Development With Flash Platform
Mobile Development With Flash Platform
 
Best iOS Application Development Tools.pdf
Best iOS Application Development Tools.pdfBest iOS Application Development Tools.pdf
Best iOS Application Development Tools.pdf
 
Reasons for Flash: Flash Development in an HTML5 and App Store World
Reasons for Flash: Flash Development in an HTML5 and App Store WorldReasons for Flash: Flash Development in an HTML5 and App Store World
Reasons for Flash: Flash Development in an HTML5 and App Store World
 
Multiscreen Development with Adobe Air
Multiscreen Development with Adobe AirMultiscreen Development with Adobe Air
Multiscreen Development with Adobe Air
 
Enterprise ipad Development with notes
Enterprise ipad Development with notesEnterprise ipad Development with notes
Enterprise ipad Development with notes
 
Getting Acquainted with PhoneGap
Getting Acquainted with PhoneGapGetting Acquainted with PhoneGap
Getting Acquainted with PhoneGap
 
Enterprise Hybrid Feasibility Analysis
Enterprise Hybrid Feasibility AnalysisEnterprise Hybrid Feasibility Analysis
Enterprise Hybrid Feasibility Analysis
 
Flex multi-screen development
Flex multi-screen developmentFlex multi-screen development
Flex multi-screen development
 
dotFes KYOTO - スマホ開発にAIR & PhoneGapを勧める5つの理由
dotFes KYOTO - スマホ開発にAIR & PhoneGapを勧める5つの理由dotFes KYOTO - スマホ開発にAIR & PhoneGapを勧める5つの理由
dotFes KYOTO - スマホ開発にAIR & PhoneGapを勧める5つの理由
 

Plus de Mihai Corlan

PhoneGap Session at Multi-Mania.be 2013
PhoneGap Session at Multi-Mania.be 2013PhoneGap Session at Multi-Mania.be 2013
PhoneGap Session at Multi-Mania.be 2013Mihai Corlan
 
Adobe Shadow - Amsterdam Adobe Camp
Adobe Shadow - Amsterdam Adobe CampAdobe Shadow - Amsterdam Adobe Camp
Adobe Shadow - Amsterdam Adobe CampMihai Corlan
 
PhoneGap/PhoneGap Build - Amsterdam Adobe Camp
PhoneGap/PhoneGap Build - Amsterdam Adobe CampPhoneGap/PhoneGap Build - Amsterdam Adobe Camp
PhoneGap/PhoneGap Build - Amsterdam Adobe CampMihai Corlan
 
Introduction to Adobe Brackets
Introduction to Adobe BracketsIntroduction to Adobe Brackets
Introduction to Adobe BracketsMihai Corlan
 
Getting started with PhoneGap
Getting started with PhoneGapGetting started with PhoneGap
Getting started with PhoneGapMihai Corlan
 
Introduction to Adobe Shadow
Introduction to Adobe ShadowIntroduction to Adobe Shadow
Introduction to Adobe ShadowMihai Corlan
 
Getting started with flash mobile development
Getting started with flash mobile developmentGetting started with flash mobile development
Getting started with flash mobile developmentMihai Corlan
 
Adobe AIR - Mobile Performance – Tips & Tricks
Adobe AIR - Mobile Performance – Tips & TricksAdobe AIR - Mobile Performance – Tips & Tricks
Adobe AIR - Mobile Performance – Tips & TricksMihai Corlan
 

Plus de Mihai Corlan (9)

PhoneGap Session at Multi-Mania.be 2013
PhoneGap Session at Multi-Mania.be 2013PhoneGap Session at Multi-Mania.be 2013
PhoneGap Session at Multi-Mania.be 2013
 
Adobe Shadow - Amsterdam Adobe Camp
Adobe Shadow - Amsterdam Adobe CampAdobe Shadow - Amsterdam Adobe Camp
Adobe Shadow - Amsterdam Adobe Camp
 
PhoneGap/PhoneGap Build - Amsterdam Adobe Camp
PhoneGap/PhoneGap Build - Amsterdam Adobe CampPhoneGap/PhoneGap Build - Amsterdam Adobe Camp
PhoneGap/PhoneGap Build - Amsterdam Adobe Camp
 
Introduction to Adobe Brackets
Introduction to Adobe BracketsIntroduction to Adobe Brackets
Introduction to Adobe Brackets
 
Getting started with PhoneGap
Getting started with PhoneGapGetting started with PhoneGap
Getting started with PhoneGap
 
PhoneGap/Cordova
PhoneGap/CordovaPhoneGap/Cordova
PhoneGap/Cordova
 
Introduction to Adobe Shadow
Introduction to Adobe ShadowIntroduction to Adobe Shadow
Introduction to Adobe Shadow
 
Getting started with flash mobile development
Getting started with flash mobile developmentGetting started with flash mobile development
Getting started with flash mobile development
 
Adobe AIR - Mobile Performance – Tips & Tricks
Adobe AIR - Mobile Performance – Tips & TricksAdobe AIR - Mobile Performance – Tips & Tricks
Adobe AIR - Mobile Performance – Tips & Tricks
 

Dernier

DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 

Dernier (20)

DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 

Starting mobile development

  • 1. Starting Mobile Development Mihai Corlan | Web Developer Evangelist | Adobe © 2011 Adobe Systems Incorporated.
  • 2. About Me Mihai Corlan  Adobe Web Developer Evangelist  Blog: http://corlan.org  Twitter: mcorlan  Email: mcorlan@adobe.com 2 © 2011 Adobe Systems Incorporated.
  • 3. How to become a mobile developer? … or from web/desktop developer to mobile developer © 2011 Adobe Systems Incorporated.
  • 4. Practice beats everything! You have to start working on mobile apps © 2011 Adobe Systems Incorporated.
  • 5. Design a Plan and Follow it © 2011 Adobe Systems Incorporated.
  • 6. Example of Plans  Create a mobile game for iPad  Create a mobile application for the metro system from my town  … © 2011 Adobe Systems Incorporated.
  • 7. Chemistry Brothers – iPad game build with AIR & ActionScript © 2011 Adobe Systems Incorporated.
  • 8. One Week Three People From Nothing to Finished Game © 2011 Adobe Systems Incorporated.
  • 9. Tuning the Idea 1. Build the app in a week or less 2. Build an app that solves a need you have or you are intimate with 3. Finish your app and publish it © 2011 Adobe Systems Incorporated.
  • 10. Your approach could be… 1. If you are a developer:  Work for 2-4 weekends to build your app  Most important thing is to finish your app and publish it  Keep working on it to polish and explore new approaches 2. If you are a company: 1. Assemble a small team 2. Find an idea for an application 3. Define crystal clear what does complete app mean 4. Organize a bootcamp – could be 3 days or 7 days of work exclusively on the project © 2011 Adobe Systems Incorporated.
  • 11. Creating Mobile Apps With AIR, Flex, & Flash Builder © 2011 Adobe Systems Incorporated.
  • 12. Understand the Tools – Flash Builder & Flash Professional  Creating Flex and ActionScript projects  Design View  Testing the app in the desktop simulator  Debugging the code in the desktop simulator or on the device  Support for packaging the app - native installers for iOS, Android, and PlayBook  Flash Builder for PHP © 2011 Adobe Systems Incorporated.
  • 13. Understand AIR runtime capabilities  AIR 3.0 support for:  iOS, Android, and PlayBook  Captive Runtime  Native Extensions  … © 2011 Adobe Systems Incorporated.
  • 14. Understand Flex Support for Mobile Development Screen Metaphor Session Persistency Multi-Screen © 2011 Adobe Systems Incorporated.
  • 15. Creating Custom Components/Layout Managers  Take a look at the existing Flex mobile components and learn how to extend them and build new ones  Understand layout managers so you can build your own if necessary © 2011 Adobe Systems Incorporated.
  • 16. Understand Flex Mobile Skinning  Using CSS  Using FXG – start in Photoshop or Illustrator  ActionScript based skins © 2011 Adobe Systems Incorporated.
  • 17. Creating Liquid UIs – dealing with screen fragmentation  Master layout managers and APIs for detecting screen resolution/densities and operating system © 2011 Adobe Systems Incorporated.
  • 18. Stay Informed About What’s Coming Next  No need to reinvent the wheel  Ex. Flex 4.6 brings callout buttons and data spinner © 2011 Adobe Systems Incorporated.
  • 19. Question Everything © 2011 Adobe Systems Incorporated.
  • 20. Custom Look & Feel vs. Native UI 1. There are libraries that skin your app as an iOS or Android native app Examples: 1. http://e-skimo.com/index.php 2. https://github.com/olsonjj 3. http://madskool.wordpress.com/2011/03/18/madcomponents-wow/ 2. I favor custom look & feel over native UI because: 1. You’ll save time that you can use for working on additional features or improve the existing one 2. Customers care about great user experience 3. It is easier to bring your app to multiple OSs: iOS, Android, and PlayBook © 2011 Adobe Systems Incorporated.
  • 21. Conqu – Running on iOS / Android / PlayBook © 2011 Adobe Systems Incorporated.
  • 22. Question the UI: Lists  Lists are one of the most abused UI components  Ask yourself do I really need a list? © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  • 23. If You Need A List Make The Best Possible List © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  • 24. If You Need A List Make The Best Possible List © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  • 25. Question the UI: Built-in Keyboards vs. Custom Keyboard  Can your app be more usable if using a custom keyboard? © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  • 26. Landscape and Portrait Orientation  Don’t use both modes just because you can  For some apps one could make more sense than the other © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  • 27. Mobile App – Server/Service Communication  The vast majority of mobile apps don’t talk to a server or cloud service – so it doesn’t seem to be a must, right?  Things are changing – Android synch services, Apple iCloud will make people to expect  your app to support synchs data across multiple devices or user accounts  There are companies providing synch services and storage  You can use Peer2Peer support available in AIR © 2011 Adobe Systems Incorporated.
  • 28. Working with SQLite  Use a desktop tool for creating database structure / adding data  For Mac you can use SQLite Database Browser – free app © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  • 29. Working with SQLite  Get the database file created by the tool and add it to your project  When you first run your app just copy the database file from app directory to application storage folder public function initiliazeDB():void { var file:File = File.applicationStorageDirectory.resolvePath(“myDatabaseFile”); if(!file.exists) { var destination:File = File.applicationStorageDirectory; var source:File = File.applicationDirectory.resolvePath("assets/orbdb"); source.copyTo(destination.resolvePath(DB), true); } sqlConnectionSync = new SQLConnection(); sqlConnectionSync.open(file, SQLMode.CREATE); } © 2011 Adobe Systems Incorporated.
  • 30. Persist Locally Internet Data © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  • 31. Providing Dummy Data for a Quick Start  People using for the first time your application will learn faster how to use it  See PeopleORB and aTabSplitter Hints for new users © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  • 32. Question Devices = © 2011 Adobe Systems Incorporated.
  • 33. Make Your App Available Everywhere  Some say they’ve made more money with their PlayBook version of their apps than with the Android or iOS ones  My app (aTabSplitter) had almost 10X more PlayBook downloads than Android’ downloads Android Devices iOS Devices BlackBerry PlayBook (+ NOOK Color) © 2011 Adobe Systems Incorporated.
  • 34. Conclusions © 2011 Adobe Systems Incorporated.
  • 35. It’s time for you to start building amazing mobile apps! © 2011 Adobe Systems Incorporated.
  • 36. Thank You! Question & Answers Time! http://corlan.org http://twitter.com/mcorlan http://github.com/mcorlan mcorlan@adobe.com © 2011 Adobe Systems Incorporated.
  • 37. Resources  Flash Builder 4.5 (60-day trial period): www.adobe.com/go/try/flashbuilder  Adobe Developer Connection: http://www.adobe.com/devnet/  My blog: http://corlan.org © 2011 Adobe Systems Incorporated.
  • 38. My Approach  Think of a mobile application you’d want to have  Build that app and use this experience to learn how to build mobile apps © 2011 Adobe Systems Incorporated.
  • 39. Or Make It Better: Introducing the Section Tile List © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  • 40. © 2010 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
  • 41. Adobe, the Adobe logo, Adobe AIR, the Adobe AIR logo, the Adobe PDF logo, AIR, ColdFusion, ColdFusion Builder, Flash, Flash Builder, the Flash logo, Flex, LiveCycle, and R are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States and/or other countries. All other trademarks are the property of their respec owners. © 2010 Adobe Systems Incorporated. All rights reserved. Printed in the USA. 9102xxxx 3/10 Adobe, the Adobe logo, Adobe AIR, the Adobe AIR logo, ActionScript, AIR, Flash, Flash Builder, Flash Catalyst, the Flash logo, Flex, and LiveCycle are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States and/or other countries. Microsoft and Windows are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. Java is a trademark or registered trademark of Sun Microsystems, Inc. in the United States and other countries. All other trademarks are the property of their respective owners. Printed in the USA. 91023957 3/10 © 2011 Adobe Systems Incorporated.

Notes de l'éditeur

  1. Nothing beats practice. So you will have to get your hands dirty.
  2. But don’t just throw yourself head first. Make a plan and follow it!
  3. Now what it is cool about this project is the way they approach it and execute it. They have great expertise in creating Flash applications and games for desktops. But on mobile and tablets they didn’t have any. Not native nor Flash mobile. So they started basically from nothing. But they set their goal crystal clear: creating a complete game ready to be published to App Store in one week. So what did they do? They moved out from Timisoara to Satu Mare for some sort of a boot camp so nothing will distract them. With no distraction they were able to focus from dawn to dusk. So they went in one week from nothing to a game concept and story and then to a complete application. Stefan told me that they are happy with how the game is sold so far. And I think it is great because in the worst-case scenario if something went horrible wrong, they would have wasted just one week. 
  4. 1. Choose to resolve a need that is small enough to be implemented in less than a weekChoose an idea that is complex enough to make you think especially on the UI and workflowsThis way you will be able to maintain your focus and finish the app2. You will be both the customer and developer – this is a deluxe seat to be in trust me!3. Get feedback from usersLearn the publishing processKeep working on the app to test new approaches or to polish it up
  5. 1.Shoot for a short period of time so you can maintain your focus. It is must finishing the app and publishing it. Even if you have built an app that solves a need you have, chances are that you missed bits. Having he app published you will get feedback from others.2.
  6. Before showing you some code let me tell you about some of the Flex mobile features.First, Flex supports screen metaphor. You can easily create and push a new screen or navigate to the previous one.Second, on mobile devices it is important to persist the state of the views in terms of data and the state of the application like for example on which view the user was. Why? Because the app can be closed by the operating system without notice.And finally, mobile devices are note equal. They have different screen sizes and densities. Flex offers a bunch of APIs for dealing with these so you can create an application that can adapt to any screen size
  7. What you see here is an utility application you can find in all major app stores (Apple’s, Android’s, and BlackBerry’s). It helps people who commute in San Francisco bay area to find the next connection. As you can see it has a beautiful design. And this is another advantage of the Flash Platform. When it comes to creating highly customized applications then it is pretty easy to do this using the Flash Platform. First of all because it is easier to create custom components and designs in Adobe AIR and second there is a large pool of Flash and Flex developers.
  8. What you see here is an utility application you can find in all major app stores (Apple’s, Android’s, and BlackBerry’s). It helps people who commute in San Francisco bay area to find the next connection. As you can see it has a beautiful design. And this is another advantage of the Flash Platform. When it comes to creating highly customized applications then it is pretty easy to do this using the Flash Platform. First of all because it is easier to create custom components and designs in Adobe AIR and second there is a large pool of Flash and Flex developers.
  9. This way the code will be cleaner
  10. A tablet is not just a bigger phone.However most developer think they are alike.What’s the biggest difference? People use tablets in different places and they’d love to produce stuff using them. You use a phone to consume stuff. Like minutes, data plan, emails, twitts.Tablets can be used to produce stuff.
  11. We still have some time for questions. Anyone?
  12. This was our introduction to Flash Builder for PHP. I hope you like it and now we are opening the Q&A session.