mobile blast - mobile strategy for developers

Post on 09-May-2015

1.662 Views

Category:

Technology

5 Downloads

Preview:

Click to see full reader

DESCRIPTION

The slides to my session at DanNotes November 2013

TRANSCRIPT

A Story by John Jardin

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.

• 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

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.

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.

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.

• 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

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.

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.

• 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

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.

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.

• 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

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.

IBM Worklight

IBM Worklight

PhoneGap

PhoneGap

Appcelerator Titanium

Twitter Bootstrap

Twitter Bootstrap

Twitter Bootstrap

• 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

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?

• 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

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.

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.

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 (john.jardin@ukuvuma.co.za)

Thank you

top related