Mobile Development Basics
Why?... Explosive Growth!
Mobile computing is expanding rapidly and we can expect there to be an increasing need for a workforce skilled at mobile development. According to idc.com �There were more than 450 million mobile Internet users worldwide in 2009, a number that is expected to more than double by the end of 2013.� A lot of this growth has been with mobile touchscreen devices, which grew 97% in 2010 alone. Mobile access to Internet-based content is rising along with the growth of devices themselves. Infact, some analysts think that the �mobile internet will soon overtake the fixed internet� by 2015. These are staggering numbers and reflect the growing need for a mobile development workforce.
Why?... Future Employment!
Plus... it is one of the fastest growing job markets out there.
Mobile Apps vs the Mobile Web
Based upon preliminary surveys, local companies (Asheville, NC) show that clients are requesting website content to be accessible on mobile devices. Using regular HTML and CSS it is possible to develop website content for either desktop or mobile, however, specialized skills are required for mobile devices as the screens and capabilities differ greatly from desktops.
These same skills can be used to create mobile apps� an application that is installed on the device itself and may or may not access internet-based content. Many mobile �web apps� access internet-based content, most notably social media apps like facebook and Twitter. Stats have revealed that mobile access to Facebook has risen 112% and Twitter has increased 347%.
There are many reasons such as market share, popularity, or new features, to consider specific mobile platforms but the main focus should be on technologies that are cross-platform. This way development would support most devices, including Apple, Android, RIM, Nokia, Windows and other platforms. As for which platform to use in classrooms, the debate seems to be primarily between Apple and Android. Recent surveys show that developers favor Android over Apple long-term. Testing and deployment is easier on Android devices and offers other benefits to our students such as Android being available on most major network carriers and competitive prices for the devices. Developing for Android allows us to use existing software and equipment, whereas Apple-specific development would require Apple/MAC computer labs and devices. Still, we feel the curriculum should not focus on specific platforms, but rather on the technologies that are cross-platform.
Our program can address mobile development in number of ways:
- �Web� Apps and mobile websites
- Cross-compiler apps
- Native Apps
We will receive input from the planning advisory board and others, but based on preliminary surveys we feel that the �Web Apps� method is recommended because the cross-platform nature of HTML5 development. We also plan to use the �cross-compiler� method since we have classes in place to support that method and it allows more flexibility with design.
Web Apps and mobile websites
Cross-Compilers (aka �native� apps)
�Cross compilers� are used when you create code in one language, and output it to another. The best examples of this are the Flash packager and the Unity 3D Engine that package for both Apple and Android. Flash/Actionscript3 can run either as a compiled native app or as regular Flash content on an Android, but Flash can only run as a compiled native app on Apple. Using Flash (Actionscript3) you can access nearly all the native capabilities of the devices.
"Native" apps are those created with the native programming language for their platform such as Objective-C for Apple devices or Java for Android devices. The benefit of this method is that you can take full advantage of all the capabilities and functions of the devices. It is arguably the best method for creating apps for devices since it offers the most robust performance, however the languages are more complicated and take longer to develop. Also, applications created this way are not transportable to a different platform. Therefore, this will not be our focus, but will be addressed in the curriculum.
We feel as though this new program would offer our students a competitive edge in the growing mobile development market and meet the needs of employers to offer mobile development services to their clients.