Building Functional Hybrid Apps For The iPhone And Android “The Zen of Mobile Apps”

Slides:



Advertisements
Similar presentations
12 October 2011 Andrew Brown IMu Technology EMu Global Users Group 12 October 2011 IMu Technology.
Advertisements

Web Toolkit Julie George & Ronald Lopez 1. Requirements  Java SDK version 1.5 or later  Apache Ant is also necessary to run command line arguments 
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.
Data Analysis and Visualization Dr. Frank van Ham, IBM Netherlands Target Conference 2014, Groningen Nov 4 th, 2014.
ILMT/SUA external demo- 11/07/2014
Best Practices for Supporting Oracle Hyperion EPM and Business Intelligence Solutions Mitra Veluri Senior Principal Technical Support Engineer David Valociek.
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Title Slide without Picture Subtitle Presenter’s Name Presenter’s Title Organization,
Performance testing of Progress Appservers and a plug-in for Jmeter
QAD .Net UI: New Enhancements
Creation of hybrid portlet application for file download using IBM Worklight and IBM Rational Application Developer v9 Gaurav Bhattacharjee Lakshmi Priya.
Project Rickshaw SEARCH - FIND - GO. Project Rickshaw TEAM MEMBERS KEVIN AUGUSTINO – MATT FOX – DAVID MOORE SPONSORS KARASU TECHNOLOGIES - ERIK PAUL -
NextGen Technology upgrade – Synerizip - Sandeep Kamble.
Social Media Apps Programming Min-Yuh Day, Ph.D. Assistant Professor Department of Information Management Tamkang University
SUNY Polytechnic Institute CS 490 – Web Design, AJAX, jQueryAngularJS AngularJS is a client-side JavaScript Framework for adding interactivity to HTML.
CS378 - Mobile Computing Web - WebView and Web Services.
Oracle Application Express 3.0 Joel R. Kallman Software Development Manager.
1 Mobile Document Capture using Apple iPhone and IBM Content Navigator October, 2012.
© 2006 IBM Corporation IBM WebSphere Portlet Factory Architecture.
Social Media Apps Programming Min-Yuh Day, Ph.D. Assistant Professor Department of Information Management Tamkang University
Enabling High-Quality Printing in Web Applications
IBM Software Group AIM Enterprise Platform Software IBM z/Transaction Processing Facility Enterprise Edition © IBM Corporation 2005 TPF Users Group.
Building Cognitive Apps with IBM Watson on Bluemix
WEB PUSH Johannes Brodwall. Outline The low down Is it time? Implementation notes Firefox Chrome Safari Implementation bits.
IBM Software Group AIM Enterprise Platform Software IBM z/Transaction Processing Facility Enterprise Edition © IBM Corporation 2005 TPF Users Group.
Tivoli Software © 2009 IBM Corporation Maximo Mobile Suite David Havican Lead Product Designer & Architect.
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. JD Edwards Summit Really Cool Demo Stuff – 2015 Edition!!!!! For demo content, please.
Mobile web Sebastian Lopienski IT Technical Forum 29 June 2012.
ECM User Interfaces and Solution Development Platform.
Click to add text © 2012 IBM Corporation 1 Visualization of View Data Susan L. Cline SWS Visualization.
“This presentation is for informational purposes only and may not be incorporated into a contract or agreement.”
Trunica Inc. 500 East Kennedy Blvd #300 Tampa, FL Cross Platform Mobile Apps With Cordova and Visual Studio 2015 © Copyright 2015.
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 1.
Workforce Scheduling Release 5.0 for Windows Implementation Overview OWS Development Team.
IBM Software Group AIM Enterprise Platform Software IBM z/Transaction Processing Facility Enterprise Edition © IBM Corporation 2005 TPF Users Group.
RESTful Microservices In Java With Jersey Jakub Podlešák Software Engineer Oracle, Application Server Group September 29, 2014 Copyright © 2014, Oracle.
 Phone Gap is a mobile application development frame work based upon the open source apache cordova project. Developed by Nitobi software Bought by Adobe.
ICM – API Server & Forms Gary Ratcliffe.
Click to add text © 2012 IBM Corporation 1 InfoSphere Streams Streams Console Applications InfoSphere Streams Version 3.0 Warren Acker InfoSphere Streams.
UNDERSTANDING YOUR OPTIONS FOR CLIENT-SIDE DEVELOPMENT IN OFFICE 365 Mark Rackley
Click to add text © 2012 IBM Corporation 1 Streams Console Application Graph Michael Pfeifer Streams Admin Console.
Introduction to JavaScript MIS 3502, Spring 2016 Jeremy Shafer Department of MIS Fox School of Business Temple University 2/2/2016.
Tools of the trade J SON, M AVEN, A PACHE COMMON Photo from
© 2010 IBM Corporation RESTFul Service Modelling in Rational Software Architect April, 2011.
IBM Innovate 2012 Title Presenter’s Name Presenter’s Title, Organization Presenter’s Address Session Track Number (if applicable)
Build Hybrid Mobile Apps with Ionic, Angular, & Cordova Brian
Building Solutions on the IBM FileNet P8 APIs, an Architect's Guide Bill Carpenter, ECM Architect, IBM TSB-3726B.
Guide To Develop Mobile Apps With Titanium. Agenda Overview Installation of Platform SDKs Pros of Appcelerator Titanium Cons of Appcelerator Titanium.
Mobilize Your Workforce Overview of Maximo Anywhere & Everyplace Steven Shull Projetech Solution Architect/Development Lead Gina Adkins Leonard IBM Maximo.
© 2009 IBM Corporation © Copyright IBM Corporation All rights reserved. IBM Retail Vendor template for WebSphere Portal v1.0 Supplier On-boarding.
Workload Scheduler plug-in for JSR 352 Java Batch IBM Workload Scheduler IBM.
Welcome to the IBM IS Tech Talk Virtual Tables in Information Analyzer
Business Directory REST API
Transparent Development Demo Day May 2017
Data Virtualization Tutorial… CORS and CIS
Node.js Express Web Services
Virtualization Engine console Bridge Concepts
Consumer Cloud Monitoring – Beta Sprint Demo
My Oracle Support (The next generation Metalink experience) lynn
OpenWorld 2018 How to Create Chatbots with OMCe
Build a Web App with Oracle REST Data Services &
Testing REST IPA using POSTMAN
WEB API.
OpenWorld 2018 Oracle API Platform: How to Manage Typical Workflows
IBM Blockchain An Enterprise Deployment of a Distributed Consensus-based Transaction Log Ben Smith & Kostantinos Christidis 1 ©2016 IBM Corporation.
Domino Mobile Apps.
What YOUR ORGANIZATION CAN be doing to prepare
Presentation transcript:

Building Functional Hybrid Apps For The iPhone And Android “The Zen of Mobile Apps”

IBM's statements regarding its plans, directions, and intent are subject to change or withdrawal 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. Please note…

Who are we? Michael C. Thompson [ ] Software Engineer, IBM Austin, TX IBM WebSphere Application github barecode Carlos N. Andreu [ ] Software Engineer, IBM Austin, TX IBM github cnandreu

We are not rocket scientists The Far Side comic, copyright Gary Larson

Why are we here? tools, technologies & practices

Why are we here? right choices = fun and easy!

Real world app quick (and dirty) What we build is not as important as how we choose to build it

Real world app

The Server

What are we building? TODO application service REST = CRUD operations JSON = data interchange

What are we building? Create POST /TODORESTService/ -- create a new item

What are we building? Create POST /TODORESTService/ -- create a new item Read GET /TODORESTService/ -- list all items GET /TODORESTService/count -- get number of items GET /TODORESTService/# -- get item by #

What are we building? Create POST /TODORESTService/ -- create a new item Read GET /TODORESTService/ -- list all items GET /TODORESTService/count -- get number of items GET /TODORESTService/# -- get item by # Update PUT /TODORESTService/# -- update an item by #

What are we building? Create POST /TODORESTService/ -- create a new item Read GET /TODORESTService/ -- list all items GET /TODORESTService/count -- get number of items GET /TODORESTService/# -- get item by # Update PUT /TODORESTService/# -- update an item by # Delete DELETE /TODORESTService/ -- delete all items DELETE /TODORESTService/# -- delete item by #

Development environment simple technologies => simple tools

Hourly Daily Weekly Monthly Frequency Modify file within an application Debug a problem in an application Restart/redeploy application Restart server Share code with team Change app structure Make config change Share config change with team Reproduce problem from another environment Upgrade to new service release Create application Install server fastest faster fast Time to complete Development environment

Eclipse for Web Developers

Development environment IBM WebSphere Application Server V8.5 Liberty Profile

Development environment Liberty Developer Tools Installation from Eclipse Market Place

Source!

The Client

Goals Mobile Application Eclipse IDE DRY REST API Fast to Market

Options native vs hybrid

Mockup

Mockup

IBM Worklight

User Interface – Typical Web Apps Twitter BootstrapZurb Foundation

User Interface – Mobile Apps

jQuery Mobile Pages Buttons Form Elements List Views Content formatting Events Themes jquerymobile.com

jQuery Mobile – Getting started

jQuery Mobile – Getting started 

jQuery Mobile – common/todo.html Todo App Hello World!

jQuery Mobile – common/todo.html Todo App Hello World!

jQuery Mobile – inside the content div … …

jQuery Mobile – inside the content div … Add New Delete Done …

jQuery Mobile – inside the content div … Add New Delete Done Buy Milk and Cookies Finish App …

jQuery Mobile – inside the content div … Add New Delete Done Buy Milk and Cookies Finish App Empty List …

jQuery Mobile – Output

Navigation – HTML/CSS

Apache Cordova Accelerometer Capture Geolocation Notifications Contacts File System Access Events Even your own via Cordova plugins! incubator.apache.org/cordova/

Apache Cordova + IBM Worklight WL.TabBar

Apache Cordova + IBM Worklight WL.TabBarWL.OptionsMenu

Adapters

Adapters Multiple Backend Support Consistent Security Cache Requests No CORS or JSONP

Adapters

Adapters http THE_SERVER.austin.ibm.com 9080

Adapters function all() { var input = { method : 'get', returnedContentType : 'json', path : "TODORESTService” }; return WL.Server.invokeHttp(input); }

Adapters - Output { "array": [ { "content": "Master REST and JSON", "done": false, "id": 0 }, { "content": "Finish OSCON app!", "done": true, "id": 1 } ], "isSuccessful": true, "statusCode": 200, "statusReason": "OK" }

JavaScript Modules

 Start Auto Executing Function  End Auto Executing Function

JavaScript

JavaScript

JavaScript

QUnit JavaScript Unit Testing Made by the JQuery Team qunitjs.com

QUnit

QUnit  Unit Tests

QUnit test( "hello test", function() { ok( 1 == "1", "Passed!" ); });

QUnit test( "hello test", function() { ok( 1 == "1", "Passed!" ); });

QUnit test('asynchronous test', function() { // Pause the test first stop(); setTimeout(function() { ok(true); // After the assertion has been called, // continue the test start(); }, 100); });

QUnit test('asynchronous test', function() { // Pause the test first stop(); setTimeout(function() { ok(true); // After the assertion has been called, // continue the test start(); }, 100); });

Time to see the code!

Summary Liberty - Eclipse Market Place service = REST data = JSON

Summary IBM Worklight - Eclipse Market Place UI = jQuery mobile native = Apache Cordova REST = adapters test = QUnit

Questions

Thank you