mobile blast - mobile strategy for developers

29
A Story by John Jardin Mobile Blast. Mobile Strategy for Developers

Upload: john-jardin

Post on 09-May-2015

1.665 views

Category:

Technology


5 download

DESCRIPTION

The slides to my session at DanNotes November 2013

TRANSCRIPT

Page 1: Mobile Blast - Mobile strategy for developers

A Story by John Jardin

Mobile Blast. Mobile Strategy for Developers

Page 2: Mobile Blast - Mobile strategy for developers

Who is John Jardin?

• CTO of Ukuvuma Solutions.• Responsible for pushing the

boundaries on technology and productizing it for businesses.

• Developer for 12 Years, primarily focused on IBM Notes and Domino.

• I almost, almost, became a Domino Administrator.

• IBM Champion 2013.• Holding thumbs to be re-nominated

for 2014.

Page 3: Mobile Blast - Mobile strategy for developers

• HTML5 vs Native. Are they really enemies?• Mobile Web vs Hybrid Mobile Apps.• What’s missing in this mix?• Which are the preferred products to use?• The mobile decision-making checklist.• Some best practices when developing mobile applications.

What will be covered in this Presentation

Page 4: Mobile Blast - Mobile strategy for developers

Native Mobile Development

• Native mobile development, or at least what people know it to be, is developing a mobile application using the target operating system’s core programming language:• Objective-C for iOS• Java for Android and Blackberry• C# for Windows Mobile

• The problem with investing in a core programming language is that it becomes an extra specialized skillset, one that takes years to master and might not be re-used in other areas of your business.

Page 5: Mobile Blast - Mobile strategy for developers

HTML5 Development

• HTML5 for mobile can be divided into the following popular frameworks:• jQuery Mobile, Dojo Mobile and Sencha Touch• Kendo UI• Twitter Bootstrap

• You can use any of these frameworks to create online and mobile web applications.

• jQuery, Dojo and Sencha Touch are used to mimic native mobile controls, while Twitter Bootstrap is used to develop responsive web applications.

• Kendo UI provides you with a combination of both.

Page 6: Mobile Blast - Mobile strategy for developers

My opinion on HTML5 vs Native.

• Using a responsive framework like Twitter Bootstrap provides you with the means to develop a web application that can modify and extend itself based on the resolution of the screen it’s being displayed on.

• You could kick off your mobile strategy by developing a web application that responds nicely to all screen resolutions.

• From there, you can slowly start targeting mobile platforms and developing mobile applications, native or hybrid, for those targeted platforms.

Page 7: Mobile Blast - Mobile strategy for developers

• HTML5 vs Native. Are they really enemies?• Mobile Web vs Hybrid Mobile Apps.• What’s missing in this mix?• Which are the preferred products to use?• The mobile decision-making checklist.• Some best practices when developing mobile applications.

What will be covered in this Presentation

Page 8: Mobile Blast - Mobile strategy for developers

Hybrid Mobile App Development

• There is a mobile control called a “Web View”, that allows the rendering of HTML, CSS and JavaScript within a window inside a native mobile application.

• This Web View exists for all mobile SDKs.• PhoneGap, Worklight and many other hybrid development

environments make use of the Web View, to allow developers with little mobile development experience to create mobile web applications that can be installed on one or more mobile operating systems.

Page 9: Mobile Blast - Mobile strategy for developers

Hybrid Mobile App Development cont…• Using the Web View and a JavaScript framework like jQuery or Dojo Mobile,

you can now create a web application that looks similar to a mobile application, by mimicking native mobile controls.

• This means that no core programming skill is required. You can develop once and target multiple platforms.

• PhoneGap, via the Command Line Interface (CLI), builds a native mobile application which contains a native Web View control, which in turn renders your mobile web application.

• IBM Worklight is similar to PhoneGap, but offers way more in terms of functionality and development tools.

Page 10: Mobile Blast - Mobile strategy for developers

• HTML5 vs Native. Are they really enemies?• Mobile Web vs Hybrid Mobile Apps.• What’s missing in this mix?• Which are the preferred products to use?• The mobile decision-making checklist.• Some best practices when developing mobile applications.

What will be covered in this Presentation

Page 11: Mobile Blast - Mobile strategy for developers

Cross Platform Native Mobile App Development• Not too long ago, a new breed of mobile development

environments started showing their faces.• Appcelerator Mobile and Xamarin are 2 of the few environments

that allow the development of “native” mobile applications for multiple platforms using a single programming language:• JavaScript for Appcelerator Mobile• C# for Xamarin

• Very few restrictions exist when using these environments to develop mobile applications, an important one though is: • They don’t support all mobile operating systems.

• NOTE: These 2 technologies allow the use of the Web View.

Page 12: Mobile Blast - Mobile strategy for developers

My opinion on Hybrid vs Cross Platformnative development

• Try to stay away from hybrid mobile app development, although it might be the answer depending on time constraints, budget and scalability.

• Cross Platform mobile application development is in most cases the best option, as it offers almost full access to the target mobile operating system and provides the user with a UI experience that is to be expected by any native mobile application.

Page 13: Mobile Blast - Mobile strategy for developers

• HTML5 vs Native. Are they really enemies?• Mobile Web vs Hybrid Mobile Apps.• What’s missing in this mix?• Which are the preferred products to use?• The mobile decision-making checklist.• Some best practices when developing mobile applications.

What will be covered in this Presentation

Page 14: Mobile Blast - Mobile strategy for developers

Preferred Mobile Development Products• IBM Worklight – For enterprise level mobile app development.• PhoneGap – For hybrid mobile app development.• Appcelerator – For Cross Platform native mobile app

development.• Twitter Bootstrap – For responsive web application development

for all screen resolutions.

Page 15: Mobile Blast - Mobile strategy for developers

IBM Worklight

Page 16: Mobile Blast - Mobile strategy for developers

IBM Worklight

Page 17: Mobile Blast - Mobile strategy for developers

PhoneGap

Page 18: Mobile Blast - Mobile strategy for developers

PhoneGap

Page 19: Mobile Blast - Mobile strategy for developers

Appcelerator Titanium

Page 20: Mobile Blast - Mobile strategy for developers

Twitter Bootstrap

Page 21: Mobile Blast - Mobile strategy for developers

Twitter Bootstrap

Page 22: Mobile Blast - Mobile strategy for developers

Twitter Bootstrap

Page 23: Mobile Blast - Mobile strategy for developers

• HTML5 vs Native. Are they really enemies?• Mobile Web vs Hybrid Mobile Apps.• What’s missing in this mix?• Which are the preferred products to use?• The mobile decision-making checklist.• Some best practices when developing mobile applications.

What will be covered in this Presentation

Page 24: Mobile Blast - Mobile strategy for developers

Mobile Checklist• How many mobile platforms are you targeting?• Are you targeting smartphone and tablet devices?• Does a desktop/browser version of the mobile app you want to develop

already exist?• If not, is there a requirement to have a user interfacing desktop web

application?• Will the mobile app be performing read and write operations?• Will the mobile app be required to work offline?• If yes, how sensitive is the data that will be stored offline?• If yes, what is the lifespan of the data that will exist offline?• What hardware features will the mobile app need to integrate with?• Do you have a MDM solution to manage mobile devices?

Page 25: Mobile Blast - Mobile strategy for developers

• HTML5 vs Native. Are they really enemies?• Mobile Web vs Hybrid Mobile Apps.• What’s missing in this mix?• Which are the preferred products to use?• The mobile decision-making checklist.• Some best practices when developing mobile applications.

What will be covered in this Presentation

Page 26: Mobile Blast - Mobile strategy for developers

Mobile Development Best Practices• JSON Objects should be used as a means of managing data

models.• Use a JSON Store in place of SQLite to read and write data locally

on the mobile device.• Try to have the Web Service that your mobile app communicates

with accept a JSON Object as a parameter and return a JSON Object as a value. (If not a JSON Object, then at least a JSON string)

• Make sure all HTTP requests are secure.• If developing for iOS, enable Local Data Protection.

Page 27: Mobile Blast - Mobile strategy for developers

Mobile Development Best Practices cont…• If using SQLite for local storage, you will need to encrypt data

before storing it and decrypt it when referencing it.• Do not perform any operation in your mobile application that

could be performed on your remote server.• Apply a MVC Strategy wherever possible, to keep your code

clean, readable and reusable.

Page 28: Mobile Blast - Mobile strategy for developers

How to contact me

• johnjardin.ukuvuma.co.za - (My Blog)• www.ukuvuma.co.za - (Website)• Twitter – (@John_Ukuvuma)• LinkedIn – (John Jardin)• Google+ - (John Jardin)• E-Mail ([email protected])

Page 29: Mobile Blast - Mobile strategy for developers

Thank you