Mobile App


Published on

How-To Guides to mobilemarketing and mobile app

Published in: Self Improvement
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Mobile App

  1. 1. ==== ====Hello from user. Check this ====Executive SummaryAdobe have recently released Flash Builder 4.5. This release enables developers to build "MobileApps" for a number of mobile device platforms, in addition to developing web applications anddesktop applications using MXML and Actionscript 3.This release seems squarely targeted at dealing with the recent comments from Steve Jobs andothers, and the ensuing debate over whether Flash is dead, given the capabilities of HTML 5 andother technological developments.Since this is quite a major release for Adobe and an important new capability for us Flexdevelopers we thought we would go through the process of developing a smallish App andimplementing it on a number of devices. The concept of being able to develop Mobile Apps for awide range of mobile devices using a single code base is definitely an appealing one.Overall, the developer experience that Adobe have delivered with Flash Builder 4.5 is prettyimpressive, although there are one or two quite fundamental omissions. Given the differences inOperating System, screen size, screen resolution and handset functionality, deploying a MobileApp for a range of devices is a daunting task. Whilst it doesnt solve all problems, Flash Builder4.5 is definitely an excellent start.Target MarketFlash Builder 4.5 doesnt target every mobile device on the market. It targets mobile devicesrunning Android 2.2 and upwards, iOS (iPhone 3G, iPhone 4 and iPad) and QNX (BlackberryPlaybook Tablet). These are basically the high functionality modern Operating Systems forSmartphones and Tablet PCs. That covers around 50% of the existing mobile device installedbase and quite possibly a much higher percentage of recent mobile device sales. The importantomissions to the target platforms available are Symbian, Blackberry Smartphones and WindowsMobile 7.Development Environment and ExperienceOverall, using Flash Builder 4.5 to develop Mobile Apps is broadly similar to using it to developdesktop applications for Adobe Air or web applications running in the Flash Player. The FlashBuilder development environment is nicely integrated with the rest of Adobes offerings such asCreative Suite 5.5 and Flash Catalyst so you can develop assets in those programs and importthem into Flash Builder easily. Developers use MXML and Actionscript to develop the App,however there is a more restricted range of user controls. Importantly there is the same
  2. 2. connectivity to data services using Web Services, AMF, http and similar.Differences to Developing an Air or Web ApplicationThe ViewNavigatorApplication TagThe first difference you notice with developing Mobile Apps is that instead of an Application tagwhich is used for developing Air and web applications, you have a ViewNavigatorApplication tag.With the Application tag you usually place a navigation control and then place child components(effectively the different views) within the navigator control. This gives developers the ability toknow what components are being used no matter how deep they are buried within the documenthierarchy. With ViewNavigator however when you navigate to a different View you "pop" adifferent View onto the screen by name. You can then pop other views later in response to eventsand user actions. You must go back to the home screen via the same view order, but in reverse.With the Application tag since you are aware of what components constitute your child screensyou can configure the application to pass any required data from the main application to the childcomponents. Since properties are usually strongly typed, Flash Builder will give build time errors ifyou are trying to access or pass a property that doesnt exist. With Mobile Apps and theViewNavigator tag, the compiler doesnt actually see the other Views that are part of theapplication until runtime thus the developer loses an important level of error checking beforeruntime. In addition, Views only have a single "Data" property. The Data property can be anyobject, so you can pass a collection of all the data you require but build time error checking is loston whether properties within the data being passed actually exist.No Drop Down ListThere isnt a drop down list in Flash Builder Mobile. No, there really isnt. To me this seems thebiggest oversight and I expect in Flash Builder 5, or hopefully before that, they will fix it. However,for now the workaround is to have a button that looks like a drop down list (has a skin with a dropdown list icon) and then when the user clicks the button, to pop up a component based around the"SkinnablePopUpContainer" with a list of your items inside it. So you can end up with somethingthat looks to the user like a drop down list but is actually a button that calls a pop up with a list ofitems.No MX Components Except ChartsNo MX components will work except charts. The MX namespace is not available in Mobile Appsso most of the MX components are not available in the drop down menu in the intellisense editor.In addition, some of the Spark components (eg dropdownlist) are "Not Mobile Optimized" which isAdobes way of saying they probably wont work. In general however, there are enough controls tocreate the screen you need.Styling and Sizing for Different DevicesWhen developing a Mobile App there are several issues that make styling for a range of devicesdifficult. In no particular order they are:
  3. 3. Different screen sizes;Different screen density. This is measured in dpi. Since an iPhone 4 has double the dpi of theiPad, any button of the same pixel measurements will be half the size in the iPhone 4;Different device specific gestures and built-in features For instance in the iPhone email client aswipe gesture results in a delete button popping up, and some devices have a back button alwaysavailable as part of the machine.From the look of it then, being able to come up with something that will look good on each screenseems like mission impossible. However, Flash Builder comes with built-in features that helpconsiderably. Firstly, you can say what screen density you are targeting and then when the Apploads if the device being used has a different screen density, the App will shrink and expandbuttons and other components as required. Flash Builder categorises each device as having oneof three screen densities, either 160, 240 or 320 dpi.Bitmap images however shrink and grow very poorly so the above method is not suitable. Tohandle this, Adobe have provided the "MultiDpiBitmapSource". This is where if you are using abitmap as the icon for a button, you can provide 3 different versions of the same bitmap to thebutton, each sized to target screen density 160, 240 or 320. Flash Builder will then detect what thedevice is and use the appropriate bitmap as the icon.Finally you can also provide different settings in your css file that enable you to change settings fordifferent screen densities, and also different Operating System.The result is that you can code once and then and then after spending some effort making sure itlooks as good as possible in various situations, it will look pretty good in most devices. If you aretargeting the full spectrum of devices you will have to have some sort of trade-off of time spent onstyling v the payback for each device. Some research into the audience size for each device andthen prioritization will enable you to make appropriate decisions on what the main device shouldbe and then how much time should be spent styling for the other devices.Testing the App in Flash BuilderFlash Builder comes with a good method of being able to see what your screen will look like ondifferent devices. Firstly at design time you can choose from a drop down list of devices and seethe results. Then by choosing different run configurations by Operating System and device, youcan run the application and see the results on each device.Other than styling issues there didnt seem to be any differences in how the App behaved on eachdevice in terms of runtime errors.Testing Your App on A DeviceOnce you have developed and styled your App using Flash Builder you will probably want to test iton the actual machines themselves prior to deploying it to the market place. The simulator withinFlash Builder gives a reasonable approximation of how the App will look on each device but its
  4. 4. not the same as using it on the actual device.There are a large number of smart phones available so rather than buying each individual deviceand testing it on each, you will probably prefer to test on one of each of the three operatingsystems which are Android, iOS (iPhone and iPad) and QNX (Blackberry Tablet). With Androiddevices the process is quite simple. Essentially you create a dummy certificate using Flash Builderand then you can connect and download your App to your device.Apple devices are considerably more difficult to test on. You have to apply to Apple to get adeveloper licence which provides you with a developer key, then get a key for your device and usethe two keys to deploy it to iTunes and then use iTunes to install it on your device.The Blackberry Playbook is still quite new and has not had demonstrably rave reviews so thenumber of your users that will actually install your App on a Blackberry Playbook is probably at thispoint quite small. A practical alternative to buying the actual machine is to test it on the BlackberryPlaybook Simulator which runs through VMWare. This gives a more advanced representation ofwhat the App will look and feel like compared to the simulator in Flash Builder.Deploying the AppOnce your App is ready for deployment you must go to the various App stores and go throughtheir individual processes of deployment.SummaryAdobe have recognised the challenge and opportunity that mobile devices represent and havedevoted a considerable amount of marketing, development and promotional muscle to getting therelease into the market. For experienced Flash Builder developers, creating a working version ofan Mobile App is a very similar process to what they are used to in creating a web or desktopapplication since the development environment is very similar.Styling the App for all devices however can take up a lot of time and development effort should beprioritized according to the devices expected for each project. However, the task that Adobe haveset themselves in being able to build mobile Apps for a multitude of devices using Flash Builder isan ambitious one that they have largely achieved.Article Source:
  5. 5. ==== ====Hello from user. Check this ====