1. FLASH MOBILE
Building Flash and Flex apps
for Mobile - Android and iOS
@jayfour000
2. Your Presenter
• Jason Hanson
• twitter @jayfour000
• flexfood.blogspot.com
• www.jasonhanson.com
• Building for Flash Platform since 1999
• Working with Hero SDK since Aug, 2010 (beta)
• Day Job as a contractor for Universal Mind
@jayfour000
4. Why Mobile?
• Mobile internet access on the rise
• Some users only internet access is on
a mobile device
• According to Mary Meeker of Morgan
Stanley mobile internet users will
overtake desktop users by 2014
• Go to where your users are!
@jayfour000
12. Flash Platform
Offers One Option
• Write core business code once
• Reuse on each new screen target
• Build custom views appropriate for
each screen target
• Modify core code as needed for
special cases
@jayfour000
14. Introducing
AIR for Mobile
• Adobe Integrated Runtime (AIR)
@jayfour000
15. Introducing
AIR for Mobile
• Adobe Integrated Runtime (AIR)
• Author in Flash and export to Mobile App
@jayfour000
16. Introducing
AIR for Mobile
• Adobe Integrated Runtime (AIR)
• Author in Flash and export to Mobile App
• AIR for Android - .apk (Requires 2.2+)
@jayfour000
17. Introducing
AIR for Mobile
• Adobe Integrated Runtime (AIR)
• Author in Flash and export to Mobile App
• AIR for Android - .apk (Requires 2.2+)
@jayfour000
18. Introducing
AIR for Mobile
• Adobe Integrated Runtime (AIR)
• Author in Flash and export to Mobile App
• AIR for Android - .apk (Requires 2.2+)
• AIR for iOS - .ipa (iPhone & iPad)
@jayfour000
19. Introducing
AIR for Mobile
• Adobe Integrated Runtime (AIR)
• Author in Flash and export to Mobile App
• AIR for Android - .apk (Requires 2.2+)
• AIR for iOS - .ipa (iPhone & iPad)
@jayfour000
20. Introducing
AIR for Mobile
• Adobe Integrated Runtime (AIR)
• Author in Flash and export to Mobile App
• AIR for Android - .apk (Requires 2.2+)
• AIR for iOS - .ipa (iPhone & iPad)
• AIR for Blackberry Table OS - .bar (Playbook)
@jayfour000
21. Introducing
AIR for Mobile
• Adobe Integrated Runtime (AIR)
• Author in Flash and export to Mobile App
• AIR for Android - .apk (Requires 2.2+)
• AIR for iOS - .ipa (iPhone & iPad)
• AIR for Blackberry Table OS - .bar (Playbook)
@jayfour000
22. Tools of the Trade
Flash Builder 4.5.x
• Developer tool built on top of Eclipse
• It is not Flash Professional
• It is not Flex (Flex is something else)
@jayfour000
23. Some Other Tools
For Mobile Flash
• IntelliJ IDEA
• Eclipse with Flash Builder plugin
• Flash Professional
• TextMate, Notepad, etc.
@jayfour000
24. Hello World
Flash Mobile
• Flex Library Project for shared code
• Mobile AIR project for each screen target
that requires different UX patterns
• Phone, Tablet, TV
• Build App (and unit tests)
• Test & Debug
• Export and Deploy
@jayfour000
25. Code Reuse with
Flash Builder 4.5
Web
Project core Test
lib Runner
Tablet
Project
Mobile
Desktop
Project Project
iOS Android Blackberry
33. Where to go
From Here?
• Get Flash Builder 4.5
• Check out other talks this week for
more details on different parts of what
I covered today
• Go build something!
@jayfour000
My name is Jason Hanson. I got involved with Flash in the late 90s while I was attending art school in Boston. In a multi-media class I was introduced to Flash 3. Next semester I dropped out of college to go work at a start-up building Flash apps. I have been building for the Flash Platform since ActionScript was still called FlashScript and I really had no idea what I was doing. I have stuck with the platform for the past 10+ years, started working with Flex Builder 2 when the beta came out and have been building projects with the beta of the 4.5 SDK since August of 2010.\nIf you are interested in learning more about me, what I do, or have questions after this presentation please feel free contact me via Twitter, my blog, or web site.\n
\n
It is likely a bit obvious to everyone in this room, but I will say it anyway. Desktop computing is quickly becoming a thing of the past. Computing power is going to the users, instead of the users going to the computers. I predict that in may emerging markets with little-to-no computer usage now desktop computers will be completely passed over in favor of mobile computing devices. The tech is staring to catch up to the humans that use it.\n
Here is an interesting chart from a report last year out by Morgan Stanley. Just one opinion of where we are headed, but a compelling one.\n
Okay. Mobile. Is Flash hear yet? The answer is yes, and no. It is a good choice for some applications, but severely lacking for others.\n
Here is a chart I made up from public data published by ComScore. Each color represents one of the top 5 smartphone platforms. Anyone care to guess what company is yellow? What about blue?\n
\n
So many screens, so little time. As we all know the devices and places that humans are using software applications is blowing up. Every few weeks it seems a new hardware device, or software platform comes out. As a software developer I need to go to where my users are at, and many of them are not on a desktop computer. Many don’t even own a traditional computer. \n
As you may be able to see in this image this tying machine had some new ground-breaking functions on it, bot a TAB key and a RIGHT key! The point is that the screens and devices I am building software application for are very different. The way the user interacts with the screen is very different. The expected behavior of the OS is very different. Building software for multiple screens is hard, and expensive.\n
Flash platform offers one option to take your software application to many screens. Other talks at this conference will go into great detail about the hows and whys, and ins and outs of each target screen that Flash and Flex supports. This talk will cover a way to get the most of out your code when targeting multiple screens.\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
Project Organization: Presently I am going to cover a way to organize your project that supports sharing code between multiple screens. The code is housed in multiple Flash Builder 4.5 created projects. The starting point is a Flex Library Project I like to call “core lib”. After that I will create several screen target projects for Web, Android, iOS, AIR, etc. Sometimes I may end up creating some view component what will work across multiple screen targets (like desktop AIR and browser Web). I make a Flex Library Project for those shared components. And lets not forgot testing! A test runner project can be created for running tests on all the “core lib” code, if you are into that type of thing.\n
\n
\n
\n
\n
\n
The full source code is included. You can import into Flash Builder 4.5 and poke around.\n