Upload
aupsy
View
1.561
Download
2
Embed Size (px)
DESCRIPTION
This is the presentation I used in the 16 December IBM India webcast on mobile development and also the Dr. Dobb's webcast I did in November.It talks about mobile industry trends and technologies and shows how IBM Rational tools can help in developing and testing native or hybrid or web based mobile applications. It also talks about new technologies such as Phonegap and Dojo mobile.
Citation preview
© 2011 IBM Corporation
Collaborative and agile development of mobile applications
Ayushman Jain – System Software Engineer
© 2011 IBM Corporation
Agenda
Evolution of the Mobile industry.
Mobile industry trends and insights.
Kinds of mobile applications.
Using Rational tools in different scenarios.
Mobile app testing and security.
IBM Resources for mobile development.
2
© 2011 IBM Corporation 3
Evolution of Mobile phones
20 years ago – calling, texting. Now- everything (well almost!).
Technology has advanced rapidly.
Some problems on the way:
– lack of powerful mobile platforms and operating systems.
– Porting apps to new phones and operating systems coming out in rapid succession.
JAVA MIDlets – first solution – restricted access to hardware.
iPhones with iOS came next – but proprietary.
Android – access device hardware, share apps, etc. – by far the most flexible.
IBM Presentation Template Full Version
© 2011 IBM Corporation
The Mobile Age
Mobile computing growing exponentially.
By the end of 2014, Gartner forecast over 185 billion applications will have been
downloaded from mobile app stores, since the launch of the first one in July 2008.
4
© 2011 IBM Corporation
The Mobile Age
Mobile in B2C
– Enable banking, insurance, retail, trading anytime anywhere.
Mobile in B2E and B2B
– Empower field employees.
– Increase efficiency in supply chain.
– Exchange business information.
Mobile in M2M
– Enable exchange of information between businesses and machines.
5
© 2011 IBM Corporation 6
Market view: In what technologies will CIOs be investing?
-2011 IBM CIO study
© 2011 IBM Corporation
Different kinds of mobile applications
7
© 2011 IBM Corporation
Challenges for mobile development teams
Manage ever-increasing complexity of mobile applications
– Rapidly evolving mobile hardware and user interface
– Security, communication, data, social interactions, touch-friendly UI, multiple platforms.
Manage multiple disciplines – stakeholders, developers, testers, project managers.
Manage activities that span the entire lifecycle - gather requirements, model and design
mobile apps, develop, test and deploy.
Visibility and traceability across the board.
Efficient communication and coordination.
Using tools that facilitate and enable, rather than inhibit.
8
IBM Rational tools such as Rhapsody, Rational Team Concert, and Rational Application Developer help address these challenges.
© 2011 IBM Corporation
Using Rational tools for collaborative and agile development
9
© 2011 IBM Corporation
Rational Team Concert
10
© 2011 IBM Corporation
Rational Rhapsody
Collaborative design and development for systems engineers and software developers.
Modeling capabilities for Android applications.
Visual representation of the Android framework API that developers can reference from
within Rational Rhapsody.
Code generation from model, model generation from code.
Runtime animation of the class diagrams created for an Android application.
Integrates with Rational Team Concert.
11
© 2011 IBM Corporation
12
© 2011 IBM Corporation 13
© 2011 IBM Corporation 14
• Rhapsody provides models for all android classes and widgets.
• Drag and drop widgets into the model.
• Navigate to source code from model and vice versa.
© 2011 IBM Corporation 15
• Classes can be updated in the model - source code automatically generated and vice versa.
• Enables code centric development and model centric development.
© 2011 IBM Corporation 16
• Use-case diagrams can be added, linked to requirements imported from another tool such as Rational DOORS.
© 2011 IBM Corporation 17
• Source code can be shared using Jazz source control in RTC. • Change sets can be associated with RTC work items.
© 2011 IBM Corporation 18
• Emulator configurations can also be shared under source control – ensures consistency across the team.
© 2011 IBM Corporation
19
How to maintain records of relevant mobile device configurations? • Include the information in fields in the work items. • Helps bug filing and tracking – include info about problem as seen in a device
configuration.
© 2011 IBM Corporation 20
• RTC Snapshot tool – take snapshots of expected emulator output, models, buggy UI. • Snapshots can be attached to work items for reference or bug demonstration.
© 2011 IBM Corporation
• Rhapsody DiffMerge tool – compare your model with the one in central repository and merge changes using the visual editor.
21
© 2011 IBM Corporation 22
• RTC Junit integration – create defects from failing tests. • Duplicate stack traces automatically found by RTC.
© 2011 IBM Corporation 23
• RTC Web UI – for non-coding tasks. • View project dashboard, plans, work items, builds, reports, etc all in the browser. • Windows mobile development can be done using RTC Visual Studio client.
© 2011 IBM Corporation
Develop Blackberry applications too!
The Blackberry JDE (Java Development Environment) can be installed on the latest RTC
distro.
Latest simulators can be downloaded and different configurations can be released into RTC
source control.
24
© 2011 IBM Corporation
Customize your development experience
25
© 2011 IBM Corporation
Using Rational Application Developer(RAD) and Maqetta to develop web based mobile applications
26
© 2011 IBM Corporation
What is dojox.mobile
A dojo based widget set for creating mobile applications.
– Available since dojo 1.5.
Aims to provide lightweight UI widgets.
– Cannot do native device functionality.
Allows customization of app look and feel.
– Device-specific or device-neutral.
– Comes with iOS, Android and Blackberry themes currently.
Server technology agnostic.
27
© 2011 IBM Corporation
Maqetta
Open source project hosted by Dojo foundation.
Enables WYSIWYG visual authoring
of HTML5 and dojo applications.
Easily modify the stylesheet.
View the same app for different
platforms.
Test the app on the browser itself.
28
© 2011 IBM Corporation 29
• RAD offers a Rich Page editor that uses browsers as rendering engines. • A visual editing experience with drag-and-drop and direct page manipulation.
© 2011 IBM Corporation
• RAD also offers browser-based test emulators – helps testing the mobile app on various platforms.
30
© 2011 IBM Corporation 31
• RAD integrates with Maqetta . • Only a few clicks to customize look and feel of the application.
© 2011 IBM Corporation
Developing hybrid mobile applications
Example - web-based movie ticket booking application that lets you invite friends from the
phone contact book.
How can you query the platform's contact book from within your web app?
How can you do so in a platform agnostic way?
Phonegap shows the way - provides javascript APIs which abstract the platform's native
services.
Phonegap plugin for Eclipse integrates well with Rational tools.
Develop an app using HTML5, Dojo, javascript once. Package it for various platforms using
Phonegap.
Use any UI toolkit – Dojox.mobile, Sencha touch, Titanium, etc.
Facebook connect plugin NEW
32
© 2011 IBM Corporation
Developing Java ME applications
Android, iOS getting popular, but majority of people still
own older handsets.
Developer Economics 2010 and Beyond - Java ME as a
platform has an installed base of 3,000 million devices:
– 150 times that of Android,
– 50 times that of iOS.
Mobile Tools for Java (MTJ) is an Eclipse plugin, which
powers RTC for Java ME applications.
33
© 2011 IBM Corporation
Test mobile applications with Rational Quality Manager
34
• RQM integrates with DeviceAnywhere.
• Write a single automated test script.
• Test applications on a device cloud/device farm.
• Failures with screenshots captured in a defect by RQM and routed to developers.
© 2011 IBM Corporation
Mobile application security with Appscan
35
© 2011 IBM Corporation
IBM Mobile Technology Preview
Provides sample code and documentation that demonstrate
capabilities such as notification and the ability to build hybrid application.
Includes
–an application server runtime that uses the WebSphere Liberty Profile
of the WebSphere Application Server 8.5 Alpha (runs on Linux, Mac,
and Windows).
–a notification framework.
–a hybrid app development model using HTML, CSS, and JavaScript.
–basic management functions.
– location-based security.
–several samples featuring notifications, Dojo, PhoneGap, and a starter
insurance app for handling car accidents.
36
DOWNLOAD FREE!
© 2011 IBM Corporation
Jazzhub – http://jazz.net/hub
37
Rational Team Concert – in the cloud.
Develop directly on the Jazz.net website.
No download or installation required.
Start a new project in under a minute!
All of the features of Rational Team Concert!
Currently a beta program for professors, students, and academic researchers.
Extends IBM commitment to academia.
Jazz.net
© 2011 IBM Corporation
Many have already started…
38
Charter members from 8 different countries already making progress
Hosting “Software for a Cause” in Fall 2011
Communicate with other beta users in Jazz.net forums
JazzHub Charter Members
Paolo Maresca
Associate Professor
Faculty of Engineering
University of Naples Federico II
Alexander Chatzigeorgiou
Professor
University of Macedonia Dept. of Applied Informatics
Tao Xie
Associate Professor
North Carolina State University
Computer Science
Jim Yuill
Professor
North Carolina State University
Computer Science
Ken Bauer
Professor
Tecnológico de Monterrey
Computer Sciences
© 2011 IBM Corporation
Getting started…
39
To create projects in
the JazzHub, you must
have a project creation
code.
Codes can be
requested from the
JazzHub login screen.
Invitations are sent to
qualified academics as
we continue to grow
the beta program
Project creation code: 6ER1OPGKIP
© 2011 IBM Corporation
Further reading
Jazz website
IBM Mobile Frontier Blog
Developing applications for Android™ using IBM Rational Team Concert in an agile way
Developing applications for Android™ using IBM Rational Team Concert and IBM Rational
Rhapsody in an agile way
Agile Development of mobile applications using IBM Rational Team Concert and Phonegap
for Android, iOS and others
Developing Java ME applications using Rational Team Concert in an agile way
Maqetta website
IBM Mobile Technology Preview
40
© 2011 IBM Corporation
THANK YOU!
41