• Like
Starting mobile development
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Starting mobile development

  • 866 views
Published

This session is about how to get started with mobile development. Most developers are used to build software for desktop. Regardless of the technology you pick up for building mobile apps there are …

This session is about how to get started with mobile development. Most developers are used to build software for desktop. Regardless of the technology you pick up for building mobile apps there are some tips and tricks that can help smooth your path.

Published in Technology , Business
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
866
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
12
Comments
0
Likes
4

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • Nothing beats practice. So you will have to get your hands dirty.
  • But don’t just throw yourself head first. Make a plan and follow it!
  • 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. 
  • 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
  • 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.
  • 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
  • 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.
  • 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.
  • This way the code will be cleaner
  • 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.
  • We still have some time for questions. Anyone?
  • This was our introduction to Flash Builder for PHP. I hope you like it and now we are opening the Q&A session.

Transcript

  • 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/10Adobe, 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 ortrademarks 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 theUnited 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 oftheir respective owners.Printed in the USA. 91023957 3/10© 2011 Adobe Systems Incorporated.