SlideShare ist ein Scribd-Unternehmen logo
1 von 42
Downloaden Sie, um offline zu lesen
Š 2015 IBM Corporation
Building Effective
Applications with the IBM
MobileFirst Platform
Andrew Ferrier
andrew.ferrier@uk.ibm.com
Technical Lead, IBM Cloud Lab
Services EMEA
Agenda
•  Review of IBM MobileFirst Platform
•  Tips:
•  #1: Choose your client-side architecture wisely
•  #2: If you’re going hybrid, think about your tools
•  #3: Do Continuous Integration
•  #4: External properties for environment promotion
•  #5: Think about deployment to phones
•  #6: Consider your tests
•  #7: Consider adapter versioning
•  Further Learning
1
What is MobileFirst Platform?
Mobile Enterprise Application Platform =
A platform for construction of hybrid and
native mobile applications, along with
supporting mobile backend services such as
service adapters, unified push
notifications, a unified security and
authentication framework, operational
analytics, and so on.
2
3
4
JMS Queue /
Topic
Web / RESTfil
service
DB
HTTP (REST, SOAP)
SQL JMS
HTTP (CAST IRON)
JSON
Adaptors
MobileFirst
SERVER
Cloud
Service
WindowsAndroid Blackberry
Apple
Adapters
Tip	
  #1:	
  Choose	
  your	
  client-­‐side	
  architecture	
  
wisely	
  
3	
  different	
  ways	
  to	
  write	
  the	
  client-­‐side…	
  
(we’re	
  not	
  considering	
  Windows	
  Mobile,	
  Blackberry)	
  
NaFve	
  
(aka	
  NaFve	
  API)	
  
Xamarin	
  HTML5	
  
(aka	
  Hybrid)	
  
Hybrid
•  (aka	
  Web,	
  Cordova,	
  etc.)	
  
•  Core	
  skills:	
  HTML,	
  CSS,	
  JS,	
  and	
  a	
  JS	
  toolkit	
  
8
MFP Studio
Xcode
Android Studio
HTML CSS JS
Framework / Toolkit
Your App
MFP CLI
•  Apache	
  Cordova	
  -­‐	
  
hSp://cordova.apache.org/	
  	
  	
  
•  Previously	
  known	
  as	
  
PhoneGap	
  
•  Provides	
  a	
  wrapper	
  around	
  
web	
  content	
  to	
  make	
  it	
  
appear	
  as	
  a	
  naFve	
  app	
  
•  Also	
  provides	
  access	
  to	
  
device	
  APIs	
  
Cordova enables Hybrid
JS	
  Toolkits	
  
•  AngularJS + Ionic
•  Dojo Mobile
•  jQuery + jQuery Mobile
•  Sencha Touch
•  Many many others…
•  ‘What	
  all	
  the	
  cool	
  kids	
  are	
  using’	
  
•  Maintained	
  by	
  
•  Focus	
  Areas:	
  
•  One-­‐page	
  applicaFons	
  
•  MVC	
  –	
  strong	
  data	
  binding	
  
capabiliFes	
  
•  Not	
  specically	
  focused	
  on	
  mobile	
  
applicaFons,	
  so…	
  
•  AngularJS	
  +	
  Ionic	
  is	
  a	
  good	
  ‘default’	
  choice.	
  
•  There	
  are	
  established	
  paSerns	
  and	
  examples	
  for	
  
using	
  it	
  with	
  MobileFirst	
  Pla_orm:	
  
•  Open-source toolkit, IBM has some
involvement in development.
•  ‘All-in-one’ toolkit answer
•  Latest version (1.10.x) brings iOS 8
support
•  Strong support for structuring large
applications
•  e.g. AMD, Class system (dojo/
declare), dojox/app
•  Good option for multi-channel or desktop
apps
•  Good option for Blackberry or other
esoteric platforms
•  NOT	
  
•  Focuses	
  on	
  ‘core’	
  
funcFonality:	
  
•  DOM	
  traversal	
  and	
  
manipulaFon	
  
•  Event	
  Handling	
  
•  AJAX	
  /	
  XHR	
  
•  Mobile	
  Framework	
  
separate:	
  
	
  
Tip #2: If you’re going hybrid, think about the tools…
•  Frameworks such as Bootstrap, Ionic, etc. can help a lot in
creating the quality and performance you need for hybrid
15
•  Module	
  systems/Loaders:	
  RequireJS/AMD,	
  Dojo/
AMD,	
  CommonJS,	
  ExtJS	
  dene,	
  Flight/AMD,	
  
YUI.use()	
  
•  Package	
  manager:	
  Bower,	
  Dojo	
  Packages,	
  CPM,	
  
Volo,	
  yeoman	
  
•  Build	
  systems:	
  r.js(requirejs),	
  dojo	
  build,	
  
Component,	
  ClosureBuilder,	
  Shiger,	
  grunt	
  
•  Templates:	
  AngularJS,	
  Hogan.js,	
  Mustache.js,	
  
Handlebars,	
  Dijit	
  templates,	
  UnderscoreJS,	
  Lo-­‐
Dash,	
  Y.Template.Micro	
  
•  Data	
  Binding:	
  ReacFve,	
  Rivets,	
  Knockout,	
  
Backbone,	
  AngularJS,	
  Flight,	
  Dojo	
  Observable	
  
•  Rou>ng:	
  dojo/router,	
  Backbone	
  
•  App	
  Controllers:	
  dojox/app	
  (+ISSW),	
  Backbone,	
  
AuraJS	
  
•  Sync:	
  component/model,	
  AngularJS	
  services,	
  Dojo	
  
Object	
  Store,	
  YUI,	
  Backbone	
  Sync	
  
•  Widgets:	
  Closure	
  Library,	
  Dijit,	
  Dojo	
  mobile,	
  
jQuery/jQuery	
  Mobile,	
  etc.etc.,	
  Bootstrap	
  (jQuery),	
  
YUI,	
  Sencha,	
  EXTJS	
  
•  Bower - Package
Management –
bower.io
•  Grunt – ‘Task
Runner’ –
gruntjs.com
Android	
  NaFve	
  
•  Use	
  Java	
  to	
  code	
  against	
  Android	
  SDK	
  
•  Use	
  Android	
  Studio	
  (hSp://developer.android.com/sdk/index.html)	
  -­‐	
  
based	
  on	
  IntelliJ	
  
•  Eclipse	
  plugins	
  (ADT)	
  will	
  likely	
  be	
  phased	
  out	
  
Android	
  NaFve	
  -­‐	
  Concepts	
  
= OR
iOS	
  NaFve	
  -­‐	
  UIKit	
  
•  On	
  iOS,	
  you	
  broadly	
  have	
  two	
  technology	
  choices:	
  
•  ObjecFve-­‐C	
  –	
  Older,	
  harder	
  to	
  learn	
  
•  Swig	
  –	
  Only	
  introduced	
  in	
  2014.	
  
iOS	
  NaFve	
  
•  For	
  all	
  apps	
  (not	
  just	
  naFve),	
  you	
  need	
  to	
  register	
  to	
  deploy	
  to	
  “real”	
  
devices	
  
•  Also	
  need	
  Xcode	
  development	
  environment	
  (only	
  supported	
  on	
  Mac)	
  
How	
  can	
  we	
  mix	
  all	
  of	
  these?	
  
•  Two	
  basic	
  styles:	
  
•  Hybrid	
  web	
  container	
  is	
  master	
  -­‐	
  in	
  MobileFirst	
  Pla_orm,	
  this	
  is	
  a	
  
Hybrid	
  applicaFon	
  (i.e.	
  Cordova)	
  
•  NaFve	
  code	
  is	
  master	
  -­‐	
  in	
  MobileFirst	
  Pla_orm,	
  this	
  is	
  a	
  Na>ve	
  API	
  
applicaFon	
  
Xamarin
•  Build applications natively in C# for Android and iOS
•  Develop business logic in C#
•  Develop UI design either in Xamarin.Forms (common cross-
platform) or in native tools/code
21
Summary	
  –	
  so	
  which	
  is	
  best?	
  
•  AngularJS	
  +	
  Ionic	
  is	
  a	
  good	
  default	
  choice	
  for	
  
those	
  with	
  web	
  skills	
  
•  Maximises	
  cross-­‐pla_orm	
  compaFbility	
  
•  Disadvantages:	
  tuning,	
  Android	
  variants	
  
•  iOS	
  NaFve	
  and	
  Android	
  NaFve	
  are	
  best	
  for	
  
those	
  looking	
  for	
  the	
  most	
  sophisFcated	
  
cupng-­‐edge	
  UX	
  
•  Disadvantages:	
  Typically	
  requires	
  more	
  
in-­‐depth,	
  specialised	
  skill.	
  
•  Xamarin	
  suitable	
  for	
  naFve	
  developers	
  with	
  
C#	
  skill	
  
Tip	
  #3:	
  Do	
  ConFnuous	
  IntegraFon	
  
MFP Server
Key artifacts
Server-side
•  .war
•  (aka Project / customisation
WAR – not to be confused
with MFP administration
WAR)
•  .wlapp
•  Per-application content,
a.k.a. application
understanding
•  .adapter
•  Per-adapter
24
Client-side
•  .ipa
•  Application for iOS
•  .apk
•  Application for Android
Building Artifacts
•  MFP provides the <war-builder>, <app-
builder> and <adapter-builder> ANT
tasks
•  Only builds the Server portion of the projects -
the .war customisation file, the .wlapp file, and
the .adapter files.
•  You will need to build the .apk and .ipa files
using platform-native process.
•  You need a Mac for iOS
Tip #4: Externalise properties for environment
promotion
•  worklightserverhost in <app-builder>
task – also can be exposed through user
screen:
<iphone bundleId="com.ibm.myapp" version="1.0”>!
!<worklightSettings include="true"/>!
…!
</iphone>!
Tip #4: Externalise properties for environment
promotion
•  server/conf/worklight.properties!
!
!
!
worklight.properties contains:!
!
myadapter.path = /mypath/somerestservice!
!!
Which becomes JNDI property:
<property name="myadapter.path" value="/myserver/somepath/service"/>!
27
For more
information:
http://
tinyurl.com/
losx42b)!
Tip #4: Externalise properties for environment
promotion
•  domain, port for the backend service in adapter.xml
28
Deploying
•  Deploy the .war using relevant application
server method
•  Deploy the .wlapp and .adapter server-side
portions of the application using <app-
deployer> and <adapter-deployer> ANT
tasks.
•  Deploy JNDI properties.
Tip #5: Think about deployment to phones
•  You still need to get the native
application (.ipa, .apk, etc.)
onto your user’s phones.
•  Dev Time/Small/Adhoc
Projects: Manual install
•  Testing lifecycle:
AppCenter - comes with
MobileFirst server editions
–  Install via AppCenter Web or
AppCenter App
Tip #5: Think about deployment to phones
•  B2C: public App Stores (Apple App Store, Google
Play Store)
•  B2E: IBM Endpoint Manager (MaaS360) or similar
31
Tip #6: Consider your tests
•  Typically you’ll want to test:
•  Manual UI on physical phones
– Coverage across devices
•  Automated UI
–  e.g. MobileFirst Test Workbench
•  (MFP) Adapters – unit / integration
performance tests
Automated Adapter Testing
33
MobileFirst Server Backend
Adapters
Automated Adapter Testing
•  Uses HTTP RPC API to drive adapters:
•  (good tools are and )
•  Unit Testing can be achieved by driving individual adapters with
stubbed backends
•  Store properties in worklight.properties, use them in
the .js to find URL
•  Integration Testing can be achieved by connecting adapters to
a real backend
•  Performance Testing can be achieved by driving adapters hard
over an extended period and plotting the results
34
Tip #7: Consider Adapter Versioning
•  Two mechanisms for versioning MFP Adapters:
•  Renaming them
•  Provide a version as additional metadata on each adapter call:
myAdapterProcedure(options, a, b…)
var options = { version: { major: 1, minor: 0, patch: 0 } }
WL.Client.invokeProcedure({
adapter : "RSSFeed",
procedure : "getData",
parameters : [options, "myTopic"]
});
Tips - Review
•  #1: Choose your client-side architecture wisely
•  #2: If you’re going hybrid, think about your tools
•  #3: Do Continuous Integration
•  #4: External properties for environment promotion
•  #5: Think about deployment to phones
•  #6: Consider your tests
•  #7: Consider adapter versioning
36
Find out more…
37
https://developer.ibm.com/mobilefirstplatform/
Further Learning – Other Resources
•  http://ibmmobiletipsntricks.com/
•  MobileFirst Test Workbench: http://tinyurl.com/m8n32ry
•  Using AngularJS and Ionic: http://youtu.be/a89W_atlhjg
•  IBM Worklight AngularJS + Ionic template: http://git.io/AffP
•  CI & Automated Testing with Worklight: http://tinyurl.com/nzng5lc
38
Notices and Disclaimers
Copyright Š 2015 by International Business Machines Corporation (IBM). No part of this document may be reproduced or
transmitted in any form without written permission from IBM.
U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with
IBM.
Information in these presentations (including information relating to products that have not yet been announced by IBM) has been
reviewed for accuracy as of the date of initial publication and could include unintentional technical or typographical errors. IBM
shall have no responsibility to update this information. THIS DOCUMENT IS DISTRIBUTED "AS IS" WITHOUT ANY WARRANTY,
EITHER EXPRESS OR IMPLIED. IN NO EVENT SHALL IBM BE LIABLE FOR ANY DAMAGE ARISING FROM THE USE OF
THIS INFORMATION, INCLUDING BUT NOT LIMITED TO, LOSS OF DATA, BUSINESS INTERRUPTION, LOSS OF PROFIT
OR LOSS OF OPPORTUNITY. IBM products and services are warranted according to the terms and conditions of the
agreements under which they are provided.
Any statements regarding IBM's future direction, intent or product plans are subject to change or withdrawal without
notice.
Performance data contained herein was generally obtained in a controlled, isolated environments. Customer examples are
presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual
performance, cost, savings or other results in other operating environments may vary.
References in this document to IBM products, programs, or services does not imply that IBM intends to make such products,
programs or services available in all countries in which IBM operates or does business.
Workshops, sessions and associated materials may have been prepared by independent session speakers, and do not
necessarily reflect the views of IBM. All materials and discussions are provided for informational purposes only, and are neither
intended to, nor shall constitute legal or other guidance or advice to any individual participant or their specific situation.
It is the customer’s responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal
counsel as to the identification and interpretation of any relevant laws and regulatory requirements that may affect the customer’s
business and any actions the customer may need to take to comply with such laws. IBM does not provide legal advice or
represent or warrant that its services or products will ensure that the customer is in compliance with any law.
Notices and Disclaimers (con’t)
Information concerning non-IBM products was obtained from the suppliers of those products, their published
announcements or other publicly available sources. IBM has not tested those products in connection with this
publication and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM
products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products.
IBM does not warrant the quality of any third-party products, or the ability of any such third-party products to
interoperate with IBM’s products. IBM EXPRESSLY DISCLAIMS ALL WARRANTIES, EXPRESSED OR IMPLIED,
INCLUDING BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE.
The provision of the information contained herein is not intended to, and does not, grant any right or license under any
IBM patents, copyrights, trademarks or other intellectual property right.
•  IBM, the IBM logo, ibm.com, Bluemix, Blueworks Live, CICS, Clearcase, DOORS®, Enterprise Document
Management System™, Global Business Services ®, Global Technology Services ®, Information on Demand,
ILOG, Maximo®, MQIntegrator®, MQSeries®, Netcool®, OMEGAMON, OpenPower, PureAnalytics™,
PureApplication®, pureCluster™, PureCoverage®, PureData®, PureExperience®, PureFlex®, pureQuery®,
pureScaleÂŽ, PureSystemsÂŽ, QRadarÂŽ, RationalÂŽ, RhapsodyÂŽ, SoDA, SPSS, StoredIQ, TivoliÂŽ, TrusteerÂŽ,
urban{code}ÂŽ, Watson, WebSphereÂŽ, WorklightÂŽ, X-ForceÂŽ and System zÂŽ Z/OS, are trademarks of
International Business Machines Corporation, registered in many jurisdictions worldwide. Other product and
service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on
the Web at "Copyright and trademark information" at: www.ibm.com/legal/copytrade.shtml.
Thank You
Your Feedback is
Important!
Access the InterConnect 2015
Conference CONNECT Attendee
Portal to complete your session
surveys from your smartphone,
laptop or conference kiosk.

Weitere ähnliche Inhalte

Was ist angesagt?

DevBeat 2013 IBM Master Class presentation
DevBeat 2013 IBM Master Class presentationDevBeat 2013 IBM Master Class presentation
DevBeat 2013 IBM Master Class presentationLeigh Williamson
 
Hybrid Applications with WebSphere commerce and Worklight
Hybrid Applications with WebSphere commerce and WorklightHybrid Applications with WebSphere commerce and Worklight
Hybrid Applications with WebSphere commerce and WorklightMohammad Omer Raza
 
Security and Mobile Application Management with Worklight
Security and Mobile Application Management with WorklightSecurity and Mobile Application Management with Worklight
Security and Mobile Application Management with WorklightIBM WebSphereIndia
 
Soa architect summit mobile 2013_mar [compatibility mode]
Soa architect summit mobile 2013_mar [compatibility mode]Soa architect summit mobile 2013_mar [compatibility mode]
Soa architect summit mobile 2013_mar [compatibility mode]Sreeni Pamidala
 
Presentation build and connect apps, devices and data ibm worklight overview
Presentation   build and connect apps, devices and data ibm worklight overviewPresentation   build and connect apps, devices and data ibm worklight overview
Presentation build and connect apps, devices and data ibm worklight overviewxKinAnx
 
IBM Worklight
IBM WorklightIBM Worklight
IBM WorklightNir Elbaz
 
Worklight mobile v6
Worklight mobile v6 Worklight mobile v6
Worklight mobile v6 GameStop
 
Cross platform mobile application architecture for enterprise
Cross platform mobile application architecture for enterpriseCross platform mobile application architecture for enterprise
Cross platform mobile application architecture for enterpriseVenkat Alagarsamy
 
Philipe Riand - Building Social Applications using the Social Business Toolki...
Philipe Riand - Building Social Applications using the Social Business Toolki...Philipe Riand - Building Social Applications using the Social Business Toolki...
Philipe Riand - Building Social Applications using the Social Business Toolki...LetsConnect
 
IBM MobileFirst - Hybrid App Development
IBM MobileFirst - Hybrid App DevelopmentIBM MobileFirst - Hybrid App Development
IBM MobileFirst - Hybrid App DevelopmentWim Tobback
 
Application Development for IBM Connections with IBM Bluemix
Application Development  for IBM Connections with IBM BluemixApplication Development  for IBM Connections with IBM Bluemix
Application Development for IBM Connections with IBM BluemixIBM Connections Developers
 
AnDevCon: Introduction to Darwino
AnDevCon: Introduction to DarwinoAnDevCon: Introduction to Darwino
AnDevCon: Introduction to DarwinoPhilippe Riand
 
IBM Worklight Whitepaper
IBM Worklight WhitepaperIBM Worklight Whitepaper
IBM Worklight WhitepaperIBM Software India
 
Nordics IBM Mobile Foundation Integration in Action
Nordics IBM Mobile Foundation Integration in ActionNordics IBM Mobile Foundation Integration in Action
Nordics IBM Mobile Foundation Integration in ActionIBM Danmark
 
Worklight 5.0 Webinar 7 12 V2
Worklight 5.0 Webinar 7 12 V2Worklight 5.0 Webinar 7 12 V2
Worklight 5.0 Webinar 7 12 V2gaborvodics
 
architecture of mobile software applications
architecture of mobile software applicationsarchitecture of mobile software applications
architecture of mobile software applicationsHassan Dar
 
Programmatic Access to and Extensibility of the IBM SmartCloud for Social Bus...
Programmatic Access to and Extensibility of the IBM SmartCloud for Social Bus...Programmatic Access to and Extensibility of the IBM SmartCloud for Social Bus...
Programmatic Access to and Extensibility of the IBM SmartCloud for Social Bus...IBM Connections Developers
 
Apps, Apps, and More Apps: Meet the Very Best Open Source Apps from OpenNTF -...
Apps, Apps, and More Apps: Meet the Very Best Open Source Apps from OpenNTF -...Apps, Apps, and More Apps: Meet the Very Best Open Source Apps from OpenNTF -...
Apps, Apps, and More Apps: Meet the Very Best Open Source Apps from OpenNTF -...Bruce Elgort
 
Kony plaform short
Kony plaform   shortKony plaform   short
Kony plaform shortDipesh Mukerji
 
Kony - The multi Channel Challenge
Kony - The multi Channel Challenge Kony - The multi Channel Challenge
Kony - The multi Channel Challenge mickeyheil
 

Was ist angesagt? (20)

DevBeat 2013 IBM Master Class presentation
DevBeat 2013 IBM Master Class presentationDevBeat 2013 IBM Master Class presentation
DevBeat 2013 IBM Master Class presentation
 
Hybrid Applications with WebSphere commerce and Worklight
Hybrid Applications with WebSphere commerce and WorklightHybrid Applications with WebSphere commerce and Worklight
Hybrid Applications with WebSphere commerce and Worklight
 
Security and Mobile Application Management with Worklight
Security and Mobile Application Management with WorklightSecurity and Mobile Application Management with Worklight
Security and Mobile Application Management with Worklight
 
Soa architect summit mobile 2013_mar [compatibility mode]
Soa architect summit mobile 2013_mar [compatibility mode]Soa architect summit mobile 2013_mar [compatibility mode]
Soa architect summit mobile 2013_mar [compatibility mode]
 
Presentation build and connect apps, devices and data ibm worklight overview
Presentation   build and connect apps, devices and data ibm worklight overviewPresentation   build and connect apps, devices and data ibm worklight overview
Presentation build and connect apps, devices and data ibm worklight overview
 
IBM Worklight
IBM WorklightIBM Worklight
IBM Worklight
 
Worklight mobile v6
Worklight mobile v6 Worklight mobile v6
Worklight mobile v6
 
Cross platform mobile application architecture for enterprise
Cross platform mobile application architecture for enterpriseCross platform mobile application architecture for enterprise
Cross platform mobile application architecture for enterprise
 
Philipe Riand - Building Social Applications using the Social Business Toolki...
Philipe Riand - Building Social Applications using the Social Business Toolki...Philipe Riand - Building Social Applications using the Social Business Toolki...
Philipe Riand - Building Social Applications using the Social Business Toolki...
 
IBM MobileFirst - Hybrid App Development
IBM MobileFirst - Hybrid App DevelopmentIBM MobileFirst - Hybrid App Development
IBM MobileFirst - Hybrid App Development
 
Application Development for IBM Connections with IBM Bluemix
Application Development  for IBM Connections with IBM BluemixApplication Development  for IBM Connections with IBM Bluemix
Application Development for IBM Connections with IBM Bluemix
 
AnDevCon: Introduction to Darwino
AnDevCon: Introduction to DarwinoAnDevCon: Introduction to Darwino
AnDevCon: Introduction to Darwino
 
IBM Worklight Whitepaper
IBM Worklight WhitepaperIBM Worklight Whitepaper
IBM Worklight Whitepaper
 
Nordics IBM Mobile Foundation Integration in Action
Nordics IBM Mobile Foundation Integration in ActionNordics IBM Mobile Foundation Integration in Action
Nordics IBM Mobile Foundation Integration in Action
 
Worklight 5.0 Webinar 7 12 V2
Worklight 5.0 Webinar 7 12 V2Worklight 5.0 Webinar 7 12 V2
Worklight 5.0 Webinar 7 12 V2
 
architecture of mobile software applications
architecture of mobile software applicationsarchitecture of mobile software applications
architecture of mobile software applications
 
Programmatic Access to and Extensibility of the IBM SmartCloud for Social Bus...
Programmatic Access to and Extensibility of the IBM SmartCloud for Social Bus...Programmatic Access to and Extensibility of the IBM SmartCloud for Social Bus...
Programmatic Access to and Extensibility of the IBM SmartCloud for Social Bus...
 
Apps, Apps, and More Apps: Meet the Very Best Open Source Apps from OpenNTF -...
Apps, Apps, and More Apps: Meet the Very Best Open Source Apps from OpenNTF -...Apps, Apps, and More Apps: Meet the Very Best Open Source Apps from OpenNTF -...
Apps, Apps, and More Apps: Meet the Very Best Open Source Apps from OpenNTF -...
 
Kony plaform short
Kony plaform   shortKony plaform   short
Kony plaform short
 
Kony - The multi Channel Challenge
Kony - The multi Channel Challenge Kony - The multi Channel Challenge
Kony - The multi Channel Challenge
 

Andere mochten auch

IBM Mobile First
IBM Mobile FirstIBM Mobile First
IBM Mobile FirstAnna Landolfi
 
Decomposing Lithium's Monolith with Kubernetes and OpenStack
Decomposing Lithium's Monolith with Kubernetes and OpenStackDecomposing Lithium's Monolith with Kubernetes and OpenStack
Decomposing Lithium's Monolith with Kubernetes and OpenStackLachlan Evenson
 
Become a Bluemix Architect in 45 Minutes
Become a Bluemix Architect in 45 MinutesBecome a Bluemix Architect in 45 Minutes
Become a Bluemix Architect in 45 MinutesAndrew Ferrier
 
Understanding Docker and IBM Bluemix Container Service
Understanding Docker and IBM Bluemix Container ServiceUnderstanding Docker and IBM Bluemix Container Service
Understanding Docker and IBM Bluemix Container ServiceAndrew Ferrier
 
How to Monitor Application Performance in a Container-Based World
How to Monitor Application Performance in a Container-Based WorldHow to Monitor Application Performance in a Container-Based World
How to Monitor Application Performance in a Container-Based WorldKen Owens
 
Decomposing Lithium's Monolith with Kubernetes and OpenStack
Decomposing Lithium's Monolith with Kubernetes and OpenStackDecomposing Lithium's Monolith with Kubernetes and OpenStack
Decomposing Lithium's Monolith with Kubernetes and OpenStackMirantis
 
From zero to exit: a full startup journey
From zero to exit: a full startup journeyFrom zero to exit: a full startup journey
From zero to exit: a full startup journeyMichele Orsi
 
Kubernetes and lastminute.com: our course towards better scalability and proc...
Kubernetes and lastminute.com: our course towards better scalability and proc...Kubernetes and lastminute.com: our course towards better scalability and proc...
Kubernetes and lastminute.com: our course towards better scalability and proc...Michele Orsi
 
JDV for Codemotion Rome 2017
JDV for Codemotion Rome 2017JDV for Codemotion Rome 2017
JDV for Codemotion Rome 2017Luigi Fugaro
 
Kubernetes to scale
Kubernetes to scaleKubernetes to scale
Kubernetes to scaleMichele Orsi
 
Delve into Helm - Advanced DevOps
Delve into Helm - Advanced DevOpsDelve into Helm - Advanced DevOps
Delve into Helm - Advanced DevOpsLachlan Evenson
 
Kubernetes and lastminute.com: our course towards better scalability and proc...
Kubernetes and lastminute.com: our course towards better scalability and proc...Kubernetes and lastminute.com: our course towards better scalability and proc...
Kubernetes and lastminute.com: our course towards better scalability and proc...Michele Orsi
 
KubeCon 2017: Kubernetes from Dev to Prod
KubeCon 2017: Kubernetes from Dev to ProdKubeCon 2017: Kubernetes from Dev to Prod
KubeCon 2017: Kubernetes from Dev to ProdSubhas Dandapani
 

Andere mochten auch (13)

IBM Mobile First
IBM Mobile FirstIBM Mobile First
IBM Mobile First
 
Decomposing Lithium's Monolith with Kubernetes and OpenStack
Decomposing Lithium's Monolith with Kubernetes and OpenStackDecomposing Lithium's Monolith with Kubernetes and OpenStack
Decomposing Lithium's Monolith with Kubernetes and OpenStack
 
Become a Bluemix Architect in 45 Minutes
Become a Bluemix Architect in 45 MinutesBecome a Bluemix Architect in 45 Minutes
Become a Bluemix Architect in 45 Minutes
 
Understanding Docker and IBM Bluemix Container Service
Understanding Docker and IBM Bluemix Container ServiceUnderstanding Docker and IBM Bluemix Container Service
Understanding Docker and IBM Bluemix Container Service
 
How to Monitor Application Performance in a Container-Based World
How to Monitor Application Performance in a Container-Based WorldHow to Monitor Application Performance in a Container-Based World
How to Monitor Application Performance in a Container-Based World
 
Decomposing Lithium's Monolith with Kubernetes and OpenStack
Decomposing Lithium's Monolith with Kubernetes and OpenStackDecomposing Lithium's Monolith with Kubernetes and OpenStack
Decomposing Lithium's Monolith with Kubernetes and OpenStack
 
From zero to exit: a full startup journey
From zero to exit: a full startup journeyFrom zero to exit: a full startup journey
From zero to exit: a full startup journey
 
Kubernetes and lastminute.com: our course towards better scalability and proc...
Kubernetes and lastminute.com: our course towards better scalability and proc...Kubernetes and lastminute.com: our course towards better scalability and proc...
Kubernetes and lastminute.com: our course towards better scalability and proc...
 
JDV for Codemotion Rome 2017
JDV for Codemotion Rome 2017JDV for Codemotion Rome 2017
JDV for Codemotion Rome 2017
 
Kubernetes to scale
Kubernetes to scaleKubernetes to scale
Kubernetes to scale
 
Delve into Helm - Advanced DevOps
Delve into Helm - Advanced DevOpsDelve into Helm - Advanced DevOps
Delve into Helm - Advanced DevOps
 
Kubernetes and lastminute.com: our course towards better scalability and proc...
Kubernetes and lastminute.com: our course towards better scalability and proc...Kubernetes and lastminute.com: our course towards better scalability and proc...
Kubernetes and lastminute.com: our course towards better scalability and proc...
 
KubeCon 2017: Kubernetes from Dev to Prod
KubeCon 2017: Kubernetes from Dev to ProdKubeCon 2017: Kubernetes from Dev to Prod
KubeCon 2017: Kubernetes from Dev to Prod
 

Ähnlich wie Building Effective and Rapid Applications with IBM MobileFirst Platform

Mobile Development Architecture Ppt with Slides, Book Notes on using Web Silv...
Mobile Development Architecture Ppt with Slides, Book Notes on using Web Silv...Mobile Development Architecture Ppt with Slides, Book Notes on using Web Silv...
Mobile Development Architecture Ppt with Slides, Book Notes on using Web Silv...Bala Subra
 
Mobilefirst - Build Enterprise Class Apps for Mobile First
Mobilefirst - Build Enterprise Class Apps for Mobile First Mobilefirst - Build Enterprise Class Apps for Mobile First
Mobilefirst - Build Enterprise Class Apps for Mobile First Sanjeev Kumar
 
Creating Effective Mobile Applications with IBM Bluemix
Creating Effective Mobile Applications with IBM BluemixCreating Effective Mobile Applications with IBM Bluemix
Creating Effective Mobile Applications with IBM BluemixAndrew Ferrier
 
Android Services Skill Sprint
Android Services Skill SprintAndroid Services Skill Sprint
Android Services Skill SprintJim McKeeth
 
Introduction to hybrid application development
Introduction to hybrid application developmentIntroduction to hybrid application development
Introduction to hybrid application developmentKunjan Thakkar
 
Anatomy of an HTML 5 mobile web app
Anatomy of an HTML 5 mobile web app Anatomy of an HTML 5 mobile web app
Anatomy of an HTML 5 mobile web app Ivano Malavolta
 
Cross Platform Mobile Development
Cross Platform Mobile DevelopmentCross Platform Mobile Development
Cross Platform Mobile DevelopmentManesh Lad
 
Transforming to Microservices
Transforming to MicroservicesTransforming to Microservices
Transforming to MicroservicesKyle Brown
 
Android Workshop Part 1
Android Workshop Part 1Android Workshop Part 1
Android Workshop Part 1NAILBITER
 
Android Application Development Training by NITIN GUPTA
Android Application Development Training by NITIN GUPTA Android Application Development Training by NITIN GUPTA
Android Application Development Training by NITIN GUPTA NITIN GUPTA
 
Android Seminar BY Suleman Khan.pdf
Android Seminar BY Suleman Khan.pdfAndroid Seminar BY Suleman Khan.pdf
Android Seminar BY Suleman Khan.pdfNomanKhan869872
 
Android complete basic Guide
Android complete basic GuideAndroid complete basic Guide
Android complete basic GuideAKASH SINGH
 
Overview of Adroid Architecture.pptx
Overview of Adroid Architecture.pptxOverview of Adroid Architecture.pptx
Overview of Adroid Architecture.pptxdebasish duarah
 
Intro to tech stacks bonny
Intro to tech stacks bonnyIntro to tech stacks bonny
Intro to tech stacks bonnyLama K Banna
 
JavaFX on Mobile (by Johan Vos)
JavaFX on Mobile (by Johan Vos)JavaFX on Mobile (by Johan Vos)
JavaFX on Mobile (by Johan Vos)Stephen Chin
 
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGapBuilding Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGapNick Landry
 

Ähnlich wie Building Effective and Rapid Applications with IBM MobileFirst Platform (20)

Mobile Development Architecture Ppt with Slides, Book Notes on using Web Silv...
Mobile Development Architecture Ppt with Slides, Book Notes on using Web Silv...Mobile Development Architecture Ppt with Slides, Book Notes on using Web Silv...
Mobile Development Architecture Ppt with Slides, Book Notes on using Web Silv...
 
Mobilefirst - Build Enterprise Class Apps for Mobile First
Mobilefirst - Build Enterprise Class Apps for Mobile First Mobilefirst - Build Enterprise Class Apps for Mobile First
Mobilefirst - Build Enterprise Class Apps for Mobile First
 
Creating Effective Mobile Applications with IBM Bluemix
Creating Effective Mobile Applications with IBM BluemixCreating Effective Mobile Applications with IBM Bluemix
Creating Effective Mobile Applications with IBM Bluemix
 
Android Services Skill Sprint
Android Services Skill SprintAndroid Services Skill Sprint
Android Services Skill Sprint
 
Introduction to hybrid application development
Introduction to hybrid application developmentIntroduction to hybrid application development
Introduction to hybrid application development
 
Anatomy of an HTML 5 mobile web app
Anatomy of an HTML 5 mobile web app Anatomy of an HTML 5 mobile web app
Anatomy of an HTML 5 mobile web app
 
Cross Platform Mobile Development
Cross Platform Mobile DevelopmentCross Platform Mobile Development
Cross Platform Mobile Development
 
Transforming to Microservices
Transforming to MicroservicesTransforming to Microservices
Transforming to Microservices
 
Android Workshop Part 1
Android Workshop Part 1Android Workshop Part 1
Android Workshop Part 1
 
Android Application Development Training by NITIN GUPTA
Android Application Development Training by NITIN GUPTA Android Application Development Training by NITIN GUPTA
Android Application Development Training by NITIN GUPTA
 
Android Seminar BY Suleman Khan.pdf
Android Seminar BY Suleman Khan.pdfAndroid Seminar BY Suleman Khan.pdf
Android Seminar BY Suleman Khan.pdf
 
Android ppt
Android ppt Android ppt
Android ppt
 
Android Applications
Android ApplicationsAndroid Applications
Android Applications
 
Android ppt
Android pptAndroid ppt
Android ppt
 
Android complete basic Guide
Android complete basic GuideAndroid complete basic Guide
Android complete basic Guide
 
Overview of Adroid Architecture.pptx
Overview of Adroid Architecture.pptxOverview of Adroid Architecture.pptx
Overview of Adroid Architecture.pptx
 
Intro to tech stacks bonny
Intro to tech stacks bonnyIntro to tech stacks bonny
Intro to tech stacks bonny
 
Android
AndroidAndroid
Android
 
JavaFX on Mobile (by Johan Vos)
JavaFX on Mobile (by Johan Vos)JavaFX on Mobile (by Johan Vos)
JavaFX on Mobile (by Johan Vos)
 
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGapBuilding Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
Building Mobile Cross-Platform Apps with HTML5, jQuery Mobile & PhoneGap
 

Mehr von Andrew Ferrier

Artificial Intelligence 101: What is It and Why is it Suddenly a Big Deal Again?
Artificial Intelligence 101: What is It and Why is it Suddenly a Big Deal Again?Artificial Intelligence 101: What is It and Why is it Suddenly a Big Deal Again?
Artificial Intelligence 101: What is It and Why is it Suddenly a Big Deal Again?Andrew Ferrier
 
What *Is* Cloud? - A introduction for non-techies
What *Is* Cloud? - A introduction for non-techiesWhat *Is* Cloud? - A introduction for non-techies
What *Is* Cloud? - A introduction for non-techiesAndrew Ferrier
 
Integration (Application?) Modernization with IBM Garage
Integration (Application?) Modernization with IBM GarageIntegration (Application?) Modernization with IBM Garage
Integration (Application?) Modernization with IBM GarageAndrew Ferrier
 
Why is Infrastructure-as-Code essential in the Cloud Age?
Why is Infrastructure-as-Code essential in the Cloud Age?Why is Infrastructure-as-Code essential in the Cloud Age?
Why is Infrastructure-as-Code essential in the Cloud Age?Andrew Ferrier
 
Become an IBM Cloud Architect in 40 Minutes
Become an IBM Cloud Architect in 40 MinutesBecome an IBM Cloud Architect in 40 Minutes
Become an IBM Cloud Architect in 40 MinutesAndrew Ferrier
 
MEAPs meet the Cloud
MEAPs meet the CloudMEAPs meet the Cloud
MEAPs meet the CloudAndrew Ferrier
 
WebSphere User Group UK: Larger Applications with Worklight
WebSphere User Group UK: Larger Applications with WorklightWebSphere User Group UK: Larger Applications with Worklight
WebSphere User Group UK: Larger Applications with WorklightAndrew Ferrier
 
Real-world Dojo Mobile
Real-world Dojo MobileReal-world Dojo Mobile
Real-world Dojo MobileAndrew Ferrier
 

Mehr von Andrew Ferrier (8)

Artificial Intelligence 101: What is It and Why is it Suddenly a Big Deal Again?
Artificial Intelligence 101: What is It and Why is it Suddenly a Big Deal Again?Artificial Intelligence 101: What is It and Why is it Suddenly a Big Deal Again?
Artificial Intelligence 101: What is It and Why is it Suddenly a Big Deal Again?
 
What *Is* Cloud? - A introduction for non-techies
What *Is* Cloud? - A introduction for non-techiesWhat *Is* Cloud? - A introduction for non-techies
What *Is* Cloud? - A introduction for non-techies
 
Integration (Application?) Modernization with IBM Garage
Integration (Application?) Modernization with IBM GarageIntegration (Application?) Modernization with IBM Garage
Integration (Application?) Modernization with IBM Garage
 
Why is Infrastructure-as-Code essential in the Cloud Age?
Why is Infrastructure-as-Code essential in the Cloud Age?Why is Infrastructure-as-Code essential in the Cloud Age?
Why is Infrastructure-as-Code essential in the Cloud Age?
 
Become an IBM Cloud Architect in 40 Minutes
Become an IBM Cloud Architect in 40 MinutesBecome an IBM Cloud Architect in 40 Minutes
Become an IBM Cloud Architect in 40 Minutes
 
MEAPs meet the Cloud
MEAPs meet the CloudMEAPs meet the Cloud
MEAPs meet the Cloud
 
WebSphere User Group UK: Larger Applications with Worklight
WebSphere User Group UK: Larger Applications with WorklightWebSphere User Group UK: Larger Applications with Worklight
WebSphere User Group UK: Larger Applications with Worklight
 
Real-world Dojo Mobile
Real-world Dojo MobileReal-world Dojo Mobile
Real-world Dojo Mobile
 

KĂźrzlich hochgeladen

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel AraĂşjo
 

KĂźrzlich hochgeladen (20)

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 

Building Effective and Rapid Applications with IBM MobileFirst Platform

  • 1. Š 2015 IBM Corporation Building Effective Applications with the IBM MobileFirst Platform Andrew Ferrier andrew.ferrier@uk.ibm.com Technical Lead, IBM Cloud Lab Services EMEA
  • 2. Agenda •  Review of IBM MobileFirst Platform •  Tips: •  #1: Choose your client-side architecture wisely •  #2: If you’re going hybrid, think about your tools •  #3: Do Continuous Integration •  #4: External properties for environment promotion •  #5: Think about deployment to phones •  #6: Consider your tests •  #7: Consider adapter versioning •  Further Learning 1
  • 3. What is MobileFirst Platform? Mobile Enterprise Application Platform = A platform for construction of hybrid and native mobile applications, along with supporting mobile backend services such as service adapters, unified push notifications, a unified security and authentication framework, operational analytics, and so on. 2
  • 4. 3
  • 5. 4
  • 6. JMS Queue / Topic Web / RESTfil service DB HTTP (REST, SOAP) SQL JMS HTTP (CAST IRON) JSON Adaptors MobileFirst SERVER Cloud Service WindowsAndroid Blackberry Apple Adapters
  • 7. Tip  #1:  Choose  your  client-­‐side  architecture   wisely  
  • 8. 3  different  ways  to  write  the  client-­‐side…   (we’re  not  considering  Windows  Mobile,  Blackberry)   NaFve   (aka  NaFve  API)   Xamarin  HTML5   (aka  Hybrid)  
  • 9. Hybrid •  (aka  Web,  Cordova,  etc.)   •  Core  skills:  HTML,  CSS,  JS,  and  a  JS  toolkit   8 MFP Studio Xcode Android Studio HTML CSS JS Framework / Toolkit Your App MFP CLI
  • 10. •  Apache  Cordova  -­‐   hSp://cordova.apache.org/       •  Previously  known  as   PhoneGap   •  Provides  a  wrapper  around   web  content  to  make  it   appear  as  a  naFve  app   •  Also  provides  access  to   device  APIs   Cordova enables Hybrid
  • 11. JS  Toolkits   •  AngularJS + Ionic •  Dojo Mobile •  jQuery + jQuery Mobile •  Sencha Touch •  Many many others…
  • 12. •  ‘What  all  the  cool  kids  are  using’   •  Maintained  by   •  Focus  Areas:   •  One-­‐page  applicaFons   •  MVC  –  strong  data  binding   capabiliFes   •  Not  specically  focused  on  mobile   applicaFons,  so…  
  • 13. •  AngularJS  +  Ionic  is  a  good  ‘default’  choice.   •  There  are  established  paSerns  and  examples  for   using  it  with  MobileFirst  Pla_orm:  
  • 14. •  Open-source toolkit, IBM has some involvement in development. •  ‘All-in-one’ toolkit answer •  Latest version (1.10.x) brings iOS 8 support •  Strong support for structuring large applications •  e.g. AMD, Class system (dojo/ declare), dojox/app •  Good option for multi-channel or desktop apps •  Good option for Blackberry or other esoteric platforms
  • 15. •  NOT   •  Focuses  on  ‘core’   funcFonality:   •  DOM  traversal  and   manipulaFon   •  Event  Handling   •  AJAX  /  XHR   •  Mobile  Framework   separate:    
  • 16. Tip #2: If you’re going hybrid, think about the tools… •  Frameworks such as Bootstrap, Ionic, etc. can help a lot in creating the quality and performance you need for hybrid 15 •  Module  systems/Loaders:  RequireJS/AMD,  Dojo/ AMD,  CommonJS,  ExtJS  dene,  Flight/AMD,   YUI.use()   •  Package  manager:  Bower,  Dojo  Packages,  CPM,   Volo,  yeoman   •  Build  systems:  r.js(requirejs),  dojo  build,   Component,  ClosureBuilder,  Shiger,  grunt   •  Templates:  AngularJS,  Hogan.js,  Mustache.js,   Handlebars,  Dijit  templates,  UnderscoreJS,  Lo-­‐ Dash,  Y.Template.Micro   •  Data  Binding:  ReacFve,  Rivets,  Knockout,   Backbone,  AngularJS,  Flight,  Dojo  Observable   •  Rou>ng:  dojo/router,  Backbone   •  App  Controllers:  dojox/app  (+ISSW),  Backbone,   AuraJS   •  Sync:  component/model,  AngularJS  services,  Dojo   Object  Store,  YUI,  Backbone  Sync   •  Widgets:  Closure  Library,  Dijit,  Dojo  mobile,   jQuery/jQuery  Mobile,  etc.etc.,  Bootstrap  (jQuery),   YUI,  Sencha,  EXTJS   •  Bower - Package Management – bower.io •  Grunt – ‘Task Runner’ – gruntjs.com
  • 17. Android  NaFve   •  Use  Java  to  code  against  Android  SDK   •  Use  Android  Studio  (hSp://developer.android.com/sdk/index.html)  -­‐   based  on  IntelliJ   •  Eclipse  plugins  (ADT)  will  likely  be  phased  out  
  • 18. Android  NaFve  -­‐  Concepts   = OR
  • 19. iOS  NaFve  -­‐  UIKit   •  On  iOS,  you  broadly  have  two  technology  choices:   •  ObjecFve-­‐C  –  Older,  harder  to  learn   •  Swig  –  Only  introduced  in  2014.  
  • 20. iOS  NaFve   •  For  all  apps  (not  just  naFve),  you  need  to  register  to  deploy  to  “real”   devices   •  Also  need  Xcode  development  environment  (only  supported  on  Mac)  
  • 21. How  can  we  mix  all  of  these?   •  Two  basic  styles:   •  Hybrid  web  container  is  master  -­‐  in  MobileFirst  Pla_orm,  this  is  a   Hybrid  applicaFon  (i.e.  Cordova)   •  NaFve  code  is  master  -­‐  in  MobileFirst  Pla_orm,  this  is  a  Na>ve  API   applicaFon  
  • 22. Xamarin •  Build applications natively in C# for Android and iOS •  Develop business logic in C# •  Develop UI design either in Xamarin.Forms (common cross- platform) or in native tools/code 21
  • 23. Summary  –  so  which  is  best?   •  AngularJS  +  Ionic  is  a  good  default  choice  for   those  with  web  skills   •  Maximises  cross-­‐pla_orm  compaFbility   •  Disadvantages:  tuning,  Android  variants   •  iOS  NaFve  and  Android  NaFve  are  best  for   those  looking  for  the  most  sophisFcated   cupng-­‐edge  UX   •  Disadvantages:  Typically  requires  more   in-­‐depth,  specialised  skill.   •  Xamarin  suitable  for  naFve  developers  with   C#  skill  
  • 24. Tip  #3:  Do  ConFnuous  IntegraFon   MFP Server
  • 25. Key artifacts Server-side •  .war •  (aka Project / customisation WAR – not to be confused with MFP administration WAR) •  .wlapp •  Per-application content, a.k.a. application understanding •  .adapter •  Per-adapter 24 Client-side •  .ipa •  Application for iOS •  .apk •  Application for Android
  • 26. Building Artifacts •  MFP provides the <war-builder>, <app- builder> and <adapter-builder> ANT tasks •  Only builds the Server portion of the projects - the .war customisation file, the .wlapp file, and the .adapter files. •  You will need to build the .apk and .ipa files using platform-native process. •  You need a Mac for iOS
  • 27. Tip #4: Externalise properties for environment promotion •  worklightserverhost in <app-builder> task – also can be exposed through user screen: <iphone bundleId="com.ibm.myapp" version="1.0”>! !<worklightSettings include="true"/>! …! </iphone>!
  • 28. Tip #4: Externalise properties for environment promotion •  server/conf/worklight.properties! ! ! ! worklight.properties contains:! ! myadapter.path = /mypath/somerestservice! !! Which becomes JNDI property: <property name="myadapter.path" value="/myserver/somepath/service"/>! 27 For more information: http:// tinyurl.com/ losx42b)!
  • 29. Tip #4: Externalise properties for environment promotion •  domain, port for the backend service in adapter.xml 28
  • 30. Deploying •  Deploy the .war using relevant application server method •  Deploy the .wlapp and .adapter server-side portions of the application using <app- deployer> and <adapter-deployer> ANT tasks. •  Deploy JNDI properties.
  • 31. Tip #5: Think about deployment to phones •  You still need to get the native application (.ipa, .apk, etc.) onto your user’s phones. •  Dev Time/Small/Adhoc Projects: Manual install •  Testing lifecycle: AppCenter - comes with MobileFirst server editions –  Install via AppCenter Web or AppCenter App
  • 32. Tip #5: Think about deployment to phones •  B2C: public App Stores (Apple App Store, Google Play Store) •  B2E: IBM Endpoint Manager (MaaS360) or similar 31
  • 33. Tip #6: Consider your tests •  Typically you’ll want to test: •  Manual UI on physical phones – Coverage across devices •  Automated UI –  e.g. MobileFirst Test Workbench •  (MFP) Adapters – unit / integration performance tests
  • 34. Automated Adapter Testing 33 MobileFirst Server Backend Adapters
  • 35. Automated Adapter Testing •  Uses HTTP RPC API to drive adapters: •  (good tools are and ) •  Unit Testing can be achieved by driving individual adapters with stubbed backends •  Store properties in worklight.properties, use them in the .js to find URL •  Integration Testing can be achieved by connecting adapters to a real backend •  Performance Testing can be achieved by driving adapters hard over an extended period and plotting the results 34
  • 36. Tip #7: Consider Adapter Versioning •  Two mechanisms for versioning MFP Adapters: •  Renaming them •  Provide a version as additional metadata on each adapter call: myAdapterProcedure(options, a, b…) var options = { version: { major: 1, minor: 0, patch: 0 } } WL.Client.invokeProcedure({ adapter : "RSSFeed", procedure : "getData", parameters : [options, "myTopic"] });
  • 37. Tips - Review •  #1: Choose your client-side architecture wisely •  #2: If you’re going hybrid, think about your tools •  #3: Do Continuous Integration •  #4: External properties for environment promotion •  #5: Think about deployment to phones •  #6: Consider your tests •  #7: Consider adapter versioning 36
  • 39. Further Learning – Other Resources •  http://ibmmobiletipsntricks.com/ •  MobileFirst Test Workbench: http://tinyurl.com/m8n32ry •  Using AngularJS and Ionic: http://youtu.be/a89W_atlhjg •  IBM Worklight AngularJS + Ionic template: http://git.io/AffP •  CI & Automated Testing with Worklight: http://tinyurl.com/nzng5lc 38
  • 40. Notices and Disclaimers Copyright Š 2015 by International Business Machines Corporation (IBM). No part of this document may be reproduced or transmitted in any form without written permission from IBM. U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM. Information in these presentations (including information relating to products that have not yet been announced by IBM) has been reviewed for accuracy as of the date of initial publication and could include unintentional technical or typographical errors. IBM shall have no responsibility to update this information. THIS DOCUMENT IS DISTRIBUTED "AS IS" WITHOUT ANY WARRANTY, EITHER EXPRESS OR IMPLIED. IN NO EVENT SHALL IBM BE LIABLE FOR ANY DAMAGE ARISING FROM THE USE OF THIS INFORMATION, INCLUDING BUT NOT LIMITED TO, LOSS OF DATA, BUSINESS INTERRUPTION, LOSS OF PROFIT OR LOSS OF OPPORTUNITY. IBM products and services are warranted according to the terms and conditions of the agreements under which they are provided. Any statements regarding IBM's future direction, intent or product plans are subject to change or withdrawal without notice. Performance data contained herein was generally obtained in a controlled, isolated environments. Customer examples are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual performance, cost, savings or other results in other operating environments may vary. References in this document to IBM products, programs, or services does not imply that IBM intends to make such products, programs or services available in all countries in which IBM operates or does business. Workshops, sessions and associated materials may have been prepared by independent session speakers, and do not necessarily reflect the views of IBM. All materials and discussions are provided for informational purposes only, and are neither intended to, nor shall constitute legal or other guidance or advice to any individual participant or their specific situation. It is the customer’s responsibility to insure its own compliance with legal requirements and to obtain advice of competent legal counsel as to the identification and interpretation of any relevant laws and regulatory requirements that may affect the customer’s business and any actions the customer may need to take to comply with such laws. IBM does not provide legal advice or represent or warrant that its services or products will ensure that the customer is in compliance with any law.
  • 41. Notices and Disclaimers (con’t) Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not tested those products in connection with this publication and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products. IBM does not warrant the quality of any third-party products, or the ability of any such third-party products to interoperate with IBM’s products. IBM EXPRESSLY DISCLAIMS ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. The provision of the information contained herein is not intended to, and does not, grant any right or license under any IBM patents, copyrights, trademarks or other intellectual property right. •  IBM, the IBM logo, ibm.com, Bluemix, Blueworks Live, CICS, Clearcase, DOORSÂŽ, Enterprise Document Management System™, Global Business Services ÂŽ, Global Technology Services ÂŽ, Information on Demand, ILOG, MaximoÂŽ, MQIntegratorÂŽ, MQSeriesÂŽ, NetcoolÂŽ, OMEGAMON, OpenPower, PureAnalytics™, PureApplicationÂŽ, pureCluster™, PureCoverageÂŽ, PureDataÂŽ, PureExperienceÂŽ, PureFlexÂŽ, pureQueryÂŽ, pureScaleÂŽ, PureSystemsÂŽ, QRadarÂŽ, RationalÂŽ, RhapsodyÂŽ, SoDA, SPSS, StoredIQ, TivoliÂŽ, TrusteerÂŽ, urban{code}ÂŽ, Watson, WebSphereÂŽ, WorklightÂŽ, X-ForceÂŽ and System zÂŽ Z/OS, are trademarks of International Business Machines Corporation, registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at "Copyright and trademark information" at: www.ibm.com/legal/copytrade.shtml.
  • 42. Thank You Your Feedback is Important! Access the InterConnect 2015 Conference CONNECT Attendee Portal to complete your session surveys from your smartphone, laptop or conference kiosk.