+ All Categories
Home > Technology > AD503: XPages Mobile Development in IBM Domino 9.0.1 and Beyond

AD503: XPages Mobile Development in IBM Domino 9.0.1 and Beyond

Date post: 21-Nov-2014
Category:
Upload: tony-mcguckin
View: 5,835 times
Download: 8 times
Share this document with a friend
Description:
IBM Connect 2014: AD503: XPages Mobile Development in IBM Domino 9.0.1 and Beyond
38
© 2014 IBM Corporation AD503: XPages Mobile Development in IBM Domino 9.0.1 and Beyond Eamon Muldoon, IBM Tony McGuckin, IBM
Transcript
Page 1: AD503: XPages Mobile Development in IBM Domino 9.0.1 and Beyond

© 2014 IBM Corporation

AD503: XPages Mobile Development in IBM Domino 9.0.1 and BeyondEamon Muldoon, IBMTony McGuckin, IBM

Page 2: AD503: XPages Mobile Development in IBM Domino 9.0.1 and Beyond

Please Note

IBM’s statements regarding its plans, directions, and intent are subject to change or withdrawal without notice at IBM’s sole discretion.

Information regarding potential future products is intended to outline our general product direction and it should not be relied on in making a purchasing decision.

The information mentioned regarding potential future products is not a commitment, promise, or legal obligation to deliver any material, code or functionality. Information about potential future products may not be incorporated into any contract. The development, release, and timing of any future features or functionality described for our products remains at our sole discretion

Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual throughput or performance that any user will experience will vary depending upon many factors, including considerations such as the amount of multiprogramming in the user’s job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve results similar to those stated here.

Page 3: AD503: XPages Mobile Development in IBM Domino 9.0.1 and Beyond

“IBM Domino 9.0.1 packs in quite a few new XPages goodies for mobile application development. In this demo-driven session you will learn first-hand how to build and debug XPages mobile apps for the tablet and smart phone using all the latest features, APIs, extensions and best practices available today. You will see how XPages apps can become responsive in nature and get a glimpse of what's coming in terms of XPages mobile futures. Lots to learn here!”

Page 4: AD503: XPages Mobile Development in IBM Domino 9.0.1 and Beyond

Tony McGuckinSenior Software Engineer

Ireland Software Labs@tonymcguckin

Eamon MuldoonDevelopment ManagerIreland Software Labs

@eamonmuldoon

Good Morning!Welcome to AD503…

Page 5: AD503: XPages Mobile Development in IBM Domino 9.0.1 and Beyond

This Mornings Agenda…

XPages Mobile Introduction

XPages Mobile Development in 9.0.1

Beyond Domino 9.0.1

Q&A

Page 6: AD503: XPages Mobile Development in IBM Domino 9.0.1 and Beyond

XPages Mobile Introduction

Page 7: AD503: XPages Mobile Development in IBM Domino 9.0.1 and Beyond

XPages*, HTML5, JS, CSS3, other runtime libraries packaged in the app. Executed in a native shell c/w extra JS API.

XPages, HTML5, JS, CSS3. Quick / Low cost development. Executed in a HTML browser so highly portable.

Platform-specific code / Unportable. Unique expertise. Pricey and longer to develop. Delivers rich user experience.

XPages Mobile IntroductionWhat is it?

* Requires additional hybrid integration

Page 8: AD503: XPages Mobile Development in IBM Domino 9.0.1 and Beyond

OpenNTF Mobile Controls Project

Released early 2010

Based on N/D 8.5.2

Based on Dojo 1.5

XPages Mobile IntroductionHow we got here…

OpenNTF XPages Extension Library

Incorporated into XPages Extension Library in 2011

Based on N/D 8.5.2

Upgrade Pack 1

XPages Mobile support released in Upgrade Pack 1

Based on N/D 8.5.3

Extending core product

N/D 9.0 Social Edition

More robust

Based on Dojo 1.8.1

Discussion / TeamRoom templates mobilized

N/D 9.0.1

Based on Dojo 1.8.3

Robust / Performant

New IBM OneUI IDX Mobile theme

New features & Increased extensibility

2010

2011

2012

2013

2013

Beyond N/D 9.0.1

OpenNTF XPages Extension Library Releases

Responsive, …

Page 9: AD503: XPages Mobile Development in IBM Domino 9.0.1 and Beyond

Where you see the following image of Domino + OpenNTF being used throughout this presentation indicates that a combination of Notes/Domino 9.0.1 and the most recent available OpenNTF XPages Extension Library 9.0.1 Release is required for the particular feature being described

+

XPages Mobile IntroductionFor your interest…

Page 10: AD503: XPages Mobile Development in IBM Domino 9.0.1 and Beyond

XPages Mobile Developmentin Domino 9.0.1

Page 11: AD503: XPages Mobile Development in IBM Domino 9.0.1 and Beyond

XPages Mobile Development in Domino 9.0.1Single Page Application Control

UI behaviors like transitions, dynamic retrieval, scrolling, etc cannot be seamlessly achieved when switching/interacting with multiple pages in an application

– Due to regular HTTP Request / Response round-trip

Single Page Application (SPA) control handles this requirement

– A single client-side page is used to manage transitioning / interaction

– Content is made of “views” - one displayed at a time

• Transition effects happen when views are switched• Views can be statically or lazy-loaded as required

– Highly fluid, seamless behavior is exposed

– Commonly known as SPA or SPI (Single Page Interface)

Page 12: AD503: XPages Mobile Development in IBM Domino 9.0.1 and Beyond

The Wizard allows you to create an initial design framework for your XPages mobile application

It walks you through the process of creating new Application Pages (xe:appPage) and populating them with various mobile controls

Allows you to configure navigation between the Application Pages and generate Custom Controls for the content of each Application Page

Available on OpenNTF.orgsince 13th December 2013

XPages Mobile Development in Domino 9.0.1Single Page Application Wizard

+

Page 13: AD503: XPages Mobile Development in IBM Domino 9.0.1 and Beyond

A Single Page Application control is added to the XPage and Custom Controls as configured

XPages Mobile Development in Domino 9.0.1Single Page Application Wizard

Page 14: AD503: XPages Mobile Development in IBM Domino 9.0.1 and Beyond

The Wizard outputs a fully functional mobile application with the navigation between pages in place

XPages Mobile Development in Domino 9.0.1Single Page Application Wizard

Page 15: AD503: XPages Mobile Development in IBM Domino 9.0.1 and Beyond

XPages Mobile Development in Domino 9.0.1Mobile Theme Configuration Editor

Allows you to select a mobile theme– No longer stuck with just iPhone or

Android themes

Choose overrides for iOS and Android

Select your own custom theme if you need to

Provides a new Debug User Agent setting for development / testing where requests mimic the chosen user agent

Page 16: AD503: XPages Mobile Development in IBM Domino 9.0.1 and Beyond

XPages Mobile Development in Domino 9.0.1IBM OneUI IDX Mobile Theme

New IBM OneUI Dojo Extensions (aka IDX) mobile theme

– Common look & feel across devices

Page 17: AD503: XPages Mobile Development in IBM Domino 9.0.1 and Beyond

XPages Mobile Development in Domino 9.0.1Custom Mobile Theming

Custom theming now possible by creating / extending / overriding out-of-the-box themes

Custom resources are served last to ensure custom code takes precedence over out-of-the-box CSS and/or JavaScript

Page 18: AD503: XPages Mobile Development in IBM Domino 9.0.1 and Beyond

XPages Mobile Development in Domino 9.0.1Web vs Mobile Specific Rendering

Same DataView control rendered in web vs mobile

Page 19: AD503: XPages Mobile Development in IBM Domino 9.0.1 and Beyond

XPages Mobile Development in Domino 9.0.1DataView Touch Scrolling

Touch based “infinite” scrolling

Lazy loads the next set of rows using Partial Refresh

Computable infiniteScroll property on the <xe:dataView/> control

+

Page 20: AD503: XPages Mobile Development in IBM Domino 9.0.1 and Beyond

XPages Mobile Development in Domino 9.0.1Photo / File Upload

New in-built “Partial Refresh” photo/file upload for mobile & web

Page 21: AD503: XPages Mobile Development in IBM Domino 9.0.1 and Beyond

XPages Mobile Development in Domino 9.0.1Date / Time Pickers

Native control integration for Date & Time +

Page 22: AD503: XPages Mobile Development in IBM Domino 9.0.1 and Beyond

XPages Mobile Development in Domino 9.0.1Events & Actions

Events

– OnOrientationChange() / OnResize() / onBefore/AfterTransitionIn/Out()

Actions

– MoveTo SimpleAction– XSP.moveToMPage( view, moveTo, dir, transition, params )

• view The currently selected view.• moveTo The id of the view to be moved to.• dir The direction of the transition.• transition The type of transition to perform.• params Can be a string (&k=v) or an object of key/value pairs {"k":"v"}

– Eg: XSP.moveToMPage(dijit.byId("devicePage"), "#modelPage", 1, "none")

Page 23: AD503: XPages Mobile Development in IBM Domino 9.0.1 and Beyond

XPages Mobile Development in Domino 9.0.1Device Bean / RESS

New Device Bean available for direct use within SSJS and/or custom Java

– Makes it easy to adapt the contents and resources within an XPage on the server-side to suit the requesting device

– Beneficial when used in a “Responsive” manner (aka “Responsive Server Side”) to complement client-side Responsive techniques

Predefined set of methods / properties available

– deviceBean.isIphone() / deviceBean.isAndroid() / etc

Extensible via extension point to allow future / custom methods / properties to be supported

– Eg: deviceBean.getAddressBook() / deviceBean.getOrientation()

Page 24: AD503: XPages Mobile Development in IBM Domino 9.0.1 and Beyond

Beyond Domino 9.0.1

Page 25: AD503: XPages Mobile Development in IBM Domino 9.0.1 and Beyond

The “Art of the Possible”

Dojo Mobile 1.8.3 is available for direct use within XPages in Domino 9.0.1

Client-side JS Script using Touch API onTouchStart/Move/End etc

Use Dojo Mobile ScrollableView/Pane's with in-built Touch Scrolling etc

Make leaner, lighter Mobile applications by using Responsive Server-Side (RESS) capabilities via the deviceBean, and client-side Responsive Web Design (RWD) using CSS Media Queries / JavaScript mediaQuery Listeners

http://openntf.org/XSnippets.nsf/snippet.xsp?id=react-to-css-media-queries-to-invoke-dynamic-server-side-content-and-logic

http://openntf.org/XSnippets.nsf/snippet.xsp?id=react-to-css-media-queries-using-client-side-javascript

Use a responsive framework/toolkit to provide “Responsive” applications

Bootstrap4XPages OpenNTF Project

Beyond Domino 9.0.1Think!

Page 26: AD503: XPages Mobile Development in IBM Domino 9.0.1 and Beyond

Key Focus Areas

– Responsive Web Design

– Progressive Enhancement

Delivery Mechanism

– OpenNTF Extension Library Releases

Beyond Domino 9.0.1Key Focus Areas / Delivery Mechanism

Page 27: AD503: XPages Mobile Development in IBM Domino 9.0.1 and Beyond

Responsive Web Design (RWD)─ Realizing the true vision of build once,

run anywhere─ Increase the number of XPages

controls with responsive renderings

Progressive Enhancement (PE)─ Support additional gestures/functions

where applicable─ Support additional events to provide

finer grained control for developers─ Utilize device specific services─ Automatic and optional configuration of

controls for desktop, web, or mobile webexperience

Beyond Domino 9.0.1Key Focus Areas

Page 28: AD503: XPages Mobile Development in IBM Domino 9.0.1 and Beyond

Beyond Domino 9.0.1RWD / PE – Enablers

Responsive Web Design (RWD) and Responsive Server-Side (RESS) capabilities would allow you to:

– View the exact same XPages codebase across different form factors (desktop, tablet, smartphone, …)

– Use in-built capabilities to streamline content delivery/exposure on server-side and client-side relative to User Experience design decisions

Progressive Enhancement (PE) capabilities would allow you to:

– Leverage touch based gestures to enrich the user experience interaction model

Page 29: AD503: XPages Mobile Development in IBM Domino 9.0.1 and Beyond

Beyond Domino 9.0.1RWD / PE – Enablers

PE capabilities would allow you to:

– Touch Scroll a DataView (already available in latest Domino 9.0.1 OpenNTF Release via infiniteScroll)

– Horizontal Swipe a DataView to reveal / lazyload more columns in a narrow form factor

– Double-Tap a Panel to Maximize / Restore size complete with optional lazyload capability

• Also useful for a FormTable to show more form fields when maximized / utilizing more real estate

– Pinch/Zoom a DataView “detail row” to toggle in/out of in-context editing mode

– Drag’n’Drop to a File Upload or from a File Download, or Rich Text Editor directly to/from the underlying file system

– Copy/Paste to/from a Rich Text Editor directly to/from the underlying clipboard / file system

+

Page 30: AD503: XPages Mobile Development in IBM Domino 9.0.1 and Beyond

Beyond Domino 9.0.1Think!

Transparent access via desktop or mobile...

Responsive Server-Side Web Design (RESS) using deviceBean API Touch scrolling plus other in-built gestures

like swipe / double-tap etc

Responsive Client-Side Web Design (RWD) using CSS3/Media Queries/RWD Theme

Mobile specific controls can be embedded in hybrid model

Page 31: AD503: XPages Mobile Development in IBM Domino 9.0.1 and Beyond

Partner Solutionsand Services

Page 32: AD503: XPages Mobile Development in IBM Domino 9.0.1 and Beyond

Partner Mobile Solutions & Services TeamStudio Unplugged

─ http://unplugged.teamstudio.com/

We4IT Doclinkr─ http://www.doclinkr.com/en/

Redpill Mobile─ http://redpilldevelopment.com/

Cognizant─ http://www.cognizant.com/InsightsWhitepapers/Lotus-Notes-Mobile-Application-Development-

Using-XPages.pdf

Maarga─ http://www.maargasystems.com/maargas-mobility-services.shtml

And many others....

Page 33: AD503: XPages Mobile Development in IBM Domino 9.0.1 and Beyond

Public XPages Mobile Case Studies

Hendricks Regional Health─ Using XPages to improve staff scheduling & communication, mobile access to field protocols for

EMTs, an insulin drip calculator and more─ Click → Link to case study

Imaging Business Machines, LLC.─ Using XPages to modernize existing business applications─ Click → Link to case study

VCC ─ XPages mobile controls provide mobile access to VCC's Endeavor project management solution─ Click → Link to case study

Page 34: AD503: XPages Mobile Development in IBM Domino 9.0.1 and Beyond

Q&A

Page 35: AD503: XPages Mobile Development in IBM Domino 9.0.1 and Beyond
Page 36: AD503: XPages Mobile Development in IBM Domino 9.0.1 and Beyond

Access Connect Online to complete your session surveys using any:– Web or mobile browser – Connect Online kiosk onsite

Page 37: AD503: XPages Mobile Development in IBM Domino 9.0.1 and Beyond

Engage Online

SocialBiz User Group socialbizug.org– Join the epicenter of Notes and Collaboration user groups

Follow us on Twitter– @IBMConnect and @IBMSocialBiz

LinkedIn http://bit.ly/SBComm– Participate in the IBM Social Business group on LinkedIn:

Facebook https://www.facebook.com/IBMSocialBiz– Like IBM Social Business on Facebook

Social Business Insights blog ibm.com/blogs/socialbusiness– Read and engage with our bloggers

Page 38: AD503: XPages Mobile Development in IBM Domino 9.0.1 and Beyond

Acknowledgements and Disclaimers

© Copyright IBM Corporation 2014. All rights reserved.

U.S. Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.

IBM, the IBM logo, ibm.com, Notes, Domino, and XPages are trademarks or registered trademarks of International Business Machines Corporation in the United States, other countries, or both. If these and other IBM trademarked terms are marked on their first occurrence in this information with a trademark symbol (® or ™), these symbols indicate U.S. registered or common law trademarks owned by IBM at the time this information was published. Such trademarks may also be registered or common law trademarks in other countries. A current list of IBM trademarks is available on the Web at “Copyright and trademark information” at www.ibm.com/legal/copytrade.shtml

Other company, product, or service names may be trademarks or service marks of others.

Availability. References in this presentation to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates.

The workshops, sessions and materials have been prepared by IBM or the session speakers and reflect their own views. They are provided for informational purposes only, and are neither intended to, nor shall have the effect of being, legal or other guidance or advice to any participant. While efforts were made to verify the completeness and accuracy of the information contained in this presentation, it is provided AS-IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, this presentation or any other materials. Nothing contained in this presentation is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software.

All customer examples described are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual environmental costs and performance characteristics may vary by customer. Nothing contained in these materials is intended to, nor shall have the effect of, stating or implying that any activities undertaken by you will result in any specific sales, revenue growth or other results.


Recommended