Mobile Device Development Mobile Device Development An Introduction to the Module
Agenda
Overview of Content Hardware and Software Jargon Busters! Module Assessment Tutorial and Module Resources
Module Content The module will feature the following topics:
Mobile Devices and Associated Development Frameworks Historical Overview and Current Device Technologies An Introduction to App Development for the Android and iOS Platforms Unity 3D Development for the Android and iOS Platforms Commercial Considerations, Deployment and Publishing
Module Hardware
Nexus 7 Tablets (Android Device)
Apple iPad Mini (iOS Device)
Software (Intel Platform)
Android Development Framework
Java JRE (Java Runtime Environment) Java SDK ( Software Development Kit) Eclipse IDE (Integrated Development Environment Android SDK (SDK relating to Android devices) Programming Language: Java
Supported Development Platforms: Windows, OSX, Linux
Software (OSX Platform)
iOS Development Framework
iOS iOS SDK including Cocoa UI framework XCode IDE Programming Language: ObjectiveC and Swift
Supported Development Platforms: OSX
Access to Nexus Tablets
Nexus 7 tablets available to loan from the project room for a maximum of three days
iOS to be advised
Unity 3D available from the website at www.unity3d.com
Download version 4.5.0 from here: http://www.unity3d.com/unity/download/archive
Jargon Buster : ‘Platform’
Hardware and related operating system of a particular range of computers and / or associated devices.
Windows ( Intel , Windows OS ( currenlty Windows 8)
OSX (MAC OS ( currently Mavericks (Yosemite) Intel)
Android ( mobile devices (phones, tablets etc.)
iOS (phones, tablets, watch)
Linux (Linux ‘Kernel’ plus ‘distribution’ of packages e.g. Debian Ubuntu, Slackware (oldest)
Jargon Buster : ‘SDK’
Collection of software resources to aid developers in learning and developing content for a particular software technology and related devices which usually includes: API (Application Programmer Interface) ready made functionality that developers can use in their applications (apps) Code Libraries ( libraries of software components that are of a particular type e.g. networking, media, data, animation etc.
Tools for testing and debugging
SDK ‘sample code’ that illustrates core functionality that is available to developers.
Often use as a starting point for new applications
Jargon Buster : ‘JRE’
Java Runtime Environment (JRE) Java is a cross-platform language that requires dedicated software (JRE) for a particular platform to host the Java application and provide the interface from the generic Java code to the native code environment of the host operating system
Java Application
JRE Host Operating System
Jargon Buster : ‘IDE’
Integrated Development Environment (IDE) Typically an IDE would usually provide for: Project code management (using one or more files and resources, e.g. images, sound, fonts) Syntax Highlighting (int, for, while) etc. Code compilation and project building (linking to libraries) Testing and Debugging facilities Version control (sometimes) Code refactoring (improving code structure without changing the behaviour of the code)
Jargon Buster : ‘Framework’ Software Framework:
Universal, reusable software environment
Facilitates the development of software applications, products and solutions
Software frameworks may include support programs, compilers, code libraries (SDKs), tool sets (IDEs) , application programming interfaces (APIs) that bring together all the different components to enable development of a project or software solution.
Module Assessment Your assessment for this module consists of the following components:
Portfolio of work associated with tutorial activities (Semester One) − Basic Android app deployed to Nexus − Basic iOS app deployed to iPad Mini − Unity 3D scenario featuring the touch API deployed to Nexus and iPad Mini
Assignment in Unity 3D (Semester Two)
Examination (3 hours duration)
Module Resources
Module homepage has link to relevant software and getting started tutorials e.g. Android and Eclipse ‘Bundle’, Apple Developer Resources Also see resources on lynda.com
Tutorials (Next few sessions
Using Eclipse IDE and Android SDK Expect to see a lot of code – most of which is generated for you! Some OOP ( object-oriented programming) resources will be available on the module homepage