The document discusses various topics related to mobile application development. It covers consumer and enterprise application demands, popular consumer applications like messaging and games, enterprise applications like PIM and CRM software. It also discusses the growth of mobile apps, major mobile operating systems, and the typical lifecycle of mobile app development including design, development, testing, and distribution. Distribution methods for iOS and Android apps are also outlined.
2. Application Demands
• Consumer applications
• Communication
• Entertainment
• Enterprise and utility applications
• Business Collaboration
• Integration with PIM
• New application frontiers
• More capable devices open new possibilities (ex: smart watches)
2015.08.26 @Creo360 (Pvt) Ltd
2
3. Consumer Applications
• Messaging
• Text messaging is the top data service world wide
• Users want more use of picture and video messaging significantly increases
data traffic
• Games
• Driven by availability of better devices and increasing familiarity with
mobile internet
• On the phone games are fast, convenient, have nice user interface
• Information Retrieval
• From service provider to users
• Local news/weather/traffic alert subscriptions via text messaging
• From users to service providers
• Surveys, polls, discussions
2015.08.26 @Creo360 (Pvt) Ltd
3
4. Enterprise & Utility applications
• PIM (Personal/product information manager)
• Dedicated devices with seamless information sharing with the
desktop
• Ex: Address lists, TODOs, Reminders, File managers
• Other
• payment processing,
• customer support,
• email marketing systems,
• automated billing systems, customer relationship management
(CRM),
• business intelligence
2015.08.26 @Creo360 (Pvt) Ltd
4
10. Design
• Native Development
• iOS
Use XIB (X-Code Interface Builder) files to design Screens
For > iOS 5, “Storyboards” are used.
Auto-Layout for responsiveness
• Android
Can Use UI palette in Eclipse/NetBeans/IntelliJ IDEA/ etc.
Unlike iOS, xml code also can be used to design interfaces.
• Cross platform/Hybrid Development
• Xamarin
Xamarin Studio Toolbox
• Appcelerator (Titanium)
CSS, JavaScript and XML with Alloy Framework
• Cordova
CSS, JavaScript and HTML/ UI frameworks (ionic, onsen, jQuery mobile…)
2015.08.26 @Creo360 (Pvt) Ltd
10
11. Development
• Native Development
• iOS
• Using Objective C or Swift
• Segues are used to define flow
• More view templates with pre define event delegates
• Android
• Using Java in Eclipse (now Android Studio)
• Defined life cycle for an activity that governs when the activity starts,
pauses, resumes and stops.
• Layout Managers (like constraint system in iOS)
2015.08.26 @Creo360 (Pvt) Ltd
11
12. Development
• Cross platform/Hybrid Development
• Appcelerator
• Setup : Titanium SDK, Alloy, Java Runtime, Node.js (Proper Configuration required
it to work)
• Using JavaScript in Titanium IDE
• Cordova with Visual Studio
• Setup : Cordova tools for VS 2015 (include Java, Android SDK, Node.js)
• Can use AngularJS, WInJS or BackboneJS
• Run using ripple emulators, emulators or devices
• Have to configure remote build for iOS devices.
2015.08.26 @Creo360 (Pvt) Ltd
12
13. Service Development
WCF (Windows Communication Foundation)
• Security and Reliability
• WCF provides better security and reliability as compared to web services or ASMX services
• Form of auditing, authentication, authorization, confidentiality and integrity of messages
shared between the client and the service.
• Support for Plain XML, Ajax and REST
• Messages sent across the network use default format as SOAP (Simple Object Access
protocol)
• It also support other non XML formats such as Ajax and JSON.
• We can now build WCF services using REST (Representational State Transfer)
• Interoperability
• Exchange information using various network protocols and platforms
Ex: network protocols : HTTP, TCP, MSMQ etc.
• Client does not require .NET support (we can consume WCF in java)
2015.08.26 @Creo360 (Pvt) Ltd
13
14. Distribution
• The method of circulating the developed app among mobile users
• iOS distribution
2015.08.26 @Creo360 (Pvt) Ltd
14
15. Distribution
• Android distribution
Start publishing on Google Play in minutes by:
1. Registering for a Google Play publisher account
2. Setting up a Google payments merchant account, if you will sell apps or in-app
products.
3. Exploring the Google Play Developer Console and publishing tools.
• In the same time you can
• Distribute to Android Wear
• Distribute to Android TV
• Distribute to Android Auto
2015.08.26 @Creo360 (Pvt) Ltd
15
17. Agenda for Mobile development sessions
• Native iOS app development
• Session1 : UI design and basic development
• Session2 : Testing and Deployment
OS X on virtual box: https://www.youtube.com/watch?v=DYMEb0ZCfes
• Cross platform mobile development with apache
Cordova in Visual studio
• Session1 : UI design and basic development
• Session2 : Testing and Deployment
17