41
© 2011 IBM Corporation Collaborative and agile development of mobile applications Ayushman Jain System Software Engineer

Collaborative and agile development of mobile applications

  • 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

Page 1: Collaborative and agile development of mobile applications

© 2011 IBM Corporation

Collaborative and agile development of mobile applications

Ayushman Jain – System Software Engineer

Page 2: Collaborative and agile development of mobile applications

© 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

Page 3: Collaborative and agile development of mobile applications

© 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

Page 4: Collaborative and agile development of mobile applications

© 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

Page 5: Collaborative and agile development of mobile applications

© 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

Page 6: Collaborative and agile development of mobile applications

© 2011 IBM Corporation 6

Market view: In what technologies will CIOs be investing?

-2011 IBM CIO study

Page 7: Collaborative and agile development of mobile applications

© 2011 IBM Corporation

Different kinds of mobile applications

7

Page 8: Collaborative and agile development of mobile applications

© 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.

Page 9: Collaborative and agile development of mobile applications

© 2011 IBM Corporation

Using Rational tools for collaborative and agile development

9

Page 10: Collaborative and agile development of mobile applications

© 2011 IBM Corporation

Rational Team Concert

10

Page 11: Collaborative and agile development of mobile applications

© 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

Page 12: Collaborative and agile development of mobile applications

© 2011 IBM Corporation

12

Page 13: Collaborative and agile development of mobile applications

© 2011 IBM Corporation 13

Page 14: Collaborative and agile development of mobile applications

© 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.

Page 15: Collaborative and agile development of mobile applications

© 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.

Page 16: Collaborative and agile development of mobile applications

© 2011 IBM Corporation 16

• Use-case diagrams can be added, linked to requirements imported from another tool such as Rational DOORS.

Page 17: Collaborative and agile development of mobile applications

© 2011 IBM Corporation 17

• Source code can be shared using Jazz source control in RTC. • Change sets can be associated with RTC work items.

Page 18: Collaborative and agile development of mobile applications

© 2011 IBM Corporation 18

• Emulator configurations can also be shared under source control – ensures consistency across the team.

Page 19: Collaborative and agile development of mobile applications

© 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.

Page 20: Collaborative and agile development of mobile applications

© 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.

Page 21: Collaborative and agile development of mobile applications

© 2011 IBM Corporation

• Rhapsody DiffMerge tool – compare your model with the one in central repository and merge changes using the visual editor.

21

Page 22: Collaborative and agile development of mobile applications

© 2011 IBM Corporation 22

• RTC Junit integration – create defects from failing tests. • Duplicate stack traces automatically found by RTC.

Page 23: Collaborative and agile development of mobile applications

© 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.

Page 24: Collaborative and agile development of mobile applications

© 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

Page 25: Collaborative and agile development of mobile applications

© 2011 IBM Corporation

Customize your development experience

25

Page 26: Collaborative and agile development of mobile applications

© 2011 IBM Corporation

Using Rational Application Developer(RAD) and Maqetta to develop web based mobile applications

26

Page 27: Collaborative and agile development of mobile applications

© 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

Page 28: Collaborative and agile development of mobile applications

© 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

Page 29: Collaborative and agile development of mobile applications

© 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.

Page 30: Collaborative and agile development of mobile applications

© 2011 IBM Corporation

• RAD also offers browser-based test emulators – helps testing the mobile app on various platforms.

30

Page 31: Collaborative and agile development of mobile applications

© 2011 IBM Corporation 31

• RAD integrates with Maqetta . • Only a few clicks to customize look and feel of the application.

Page 32: Collaborative and agile development of mobile applications

© 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

Page 33: Collaborative and agile development of mobile applications

© 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

Page 34: Collaborative and agile development of mobile applications

© 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.

Page 35: Collaborative and agile development of mobile applications

© 2011 IBM Corporation

Mobile application security with Appscan

35

Page 36: Collaborative and agile development of mobile applications

© 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!

Page 37: Collaborative and agile development of mobile applications

© 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

Page 38: Collaborative and agile development of mobile applications

© 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

Page 39: Collaborative and agile development of mobile applications

© 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

Page 40: Collaborative and agile development of mobile applications

© 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

Page 41: Collaborative and agile development of mobile applications

© 2011 IBM Corporation

THANK YOU!

41