Vector Databases 101 - An introduction to the world of Vector Databases
Mobile Blast - Mobile strategy for developers
1. A Story by John Jardin
Mobile Blast. Mobile Strategy for Developers
2. 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.
3. What will be covered in this Presentation
•
•
•
•
•
•
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.
4. 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.
5. 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.
6. 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.
7. What will be covered in this Presentation
•
•
•
•
•
•
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.
8. 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.
9. 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.
10. What will be covered in this Presentation
•
•
•
•
•
•
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.
11. 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.
12. My opinion on Hybrid vs Cross Platform
native 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.
13. What will be covered in this Presentation
•
•
•
•
•
•
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.
14. 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.
23. What will be covered in this Presentation
•
•
•
•
•
•
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.
24. 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?
25. What will be covered in this Presentation
•
•
•
•
•
•
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.
26. 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.
27. 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.