SlideShare uma empresa Scribd logo
1 de 61
Baixar para ler offline
USING COOL NEW FRAMEWORKS IN
(MOBILE) DOMINO APPS	

Dec. 16, 2015
Courtney Carter	

@Teamstudio	

Howard Greenberg	

@TLCC	

Paul Della-Nebbia	

@PaulDN	

Theo Heselmans	

@TheoHeselmans
Asking Questions	

Use the “Questions” pane to ask questions.	
  
AboutTeamstudio	

•  Manage, analyze, modernize, and mobilize Notes applications with
software and services from Teamstudio.	

•  1600+ active customers, 53 countries	

•  Offices in US, UK, and Japan
Teamstudio NotesTools	

•  Manage your Notes applications faster, better, and more easily.
Teamstudio Unplugged	

•  Mobile application platform that provides organizations with the capability to extend
their desktop and Web-based applications to mobile devices, giving users access to data
anywhere, anytime, even when they’re offline.	

•  Template applications: Continuity, CustomerView, OneView, Doc Library, Journal,
TeamRoom
Teamstudio XControls	

•  Set of controls for IBM Domino developers working on XPages apps and
Notes app modernization projects	

•  Full support for PC browser-based user interfaces, as well as mobile interfaces
Teamstudio Services	

•  Professional services for Web enablement, development, and
administration	

–  Assistance Programs	

–  Catalog Scan, Complexity Analysis, Usage Auditor	

–  Training	

–  Modernization Services
Using Cool New Frameworks in
(Mobile) Domino Apps
1
#XPages
Your Hosts Today:
Howard Greenberg
TLCC
@TLCCLtd
Using Cool New Frameworks in
(Mobile) Domino Apps!
Paul Della-Nebbia
TLCC
@PaulDN
How can TLCC Help YOU!
2
• Private classes at
your location or
virtual
•XPages Development
•Support Existing Apps
•Administration
• Let us help you
become an expert
XPages developer!
• Delivered via Notes
• XPages
• Development
• Admin
• User
Self-
Paced
Courses
Mentoring
Instructor-
Led
Classes
Application
Development
and
Consulting
Free
Demo
Courses!
3
 Save hundreds and even
Thousands of Dollars on the most
popular courses and packages
 Through December 31st
Click here for more information
Upcoming and Recorded Webinars
4
www.tlcc.com/xpages-webinar
View Previous Webinars
(use url above)
• To Be Announced – Watch for upcoming webinars at:
5
 Session Preview Tool is Now available!
 $100 discount for previous attendees
 Attend my session on XPages Performance!
More information at the Connect 2016 site!
Asking Questions – Q and A at the end
6
Use the Orange Arrow button to
expand the GoToWebinar panel
Then ask your questions in the
Questions pane!
We will answer your questions
verbally at the end of the
webinar
7
#XPages
Theo Heselmans
@theoheslemans
Using Cool New Frameworks in
(Mobile) Domino Apps!
Using Cool New
Frameworks
in (Mobile) Domino® Apps!
Theo Heselmans, Xceed / Engage
@TheoHeselmans
@TheoHeselmans
Pull your head
out of the sand!
@TheoHeselmans
๏ About myself
๏ What this session is not about
๏ The Domino® 'Stack'
๏ Frameworks & Libraries
Agenda
๏ Bootstrap
๏ Ratchet
๏ Backbone
๏ Knockout

๏ Links & More info
๏ Parting words

๏ Q&A
@TheoHeselmans
๏ Doing IBM® Notes® Development &

Project Mgt. for over 20 years!
๏ Independent consultant since 2001 for Xceed
๏ Coordinator of Engage (BLUG) past 6 years
About myself
@theoheselmans
๏ Head in the sand for too long
๏ Discovering there's a big world out there,

and it's cool
๏ I like wine and other beverages too
@TheoHeselmans
@TheoHeselmans
๏ Hard core development
๏ XPages
๏ 1000 different Frameworks / Libraries
๏ Mega big applications
What this is NOT about
@TheoHeselmans
๏ IBM® Notes/Domino® as the ultimate CMS
๏ Building Responsive Hybrid Websites & Mobile Apps
๏ Real live implementations of a few Frameworks/Libraries
๏ Lessons learned
๏ A free Notes CMS database for you to experiment with
What this IS about
@TheoHeselmans
๏ IBM Notes & Domino is a cool 'Stack'
๏ Powerful (no-SQL) database
๏ Top-notch security
๏ Domino Access Service (DAS) for RESTful interfaces
๏ Flexible development platform
๏ Great Notes Client
๏ Proven and out of the box solution

(but not free vs open source solutions)
The Domino 'Stack'
& HTML5 dev.
๏ Mobile HTML5 apps easy to create/test
๏ Android Chrome & iOS Safari remote debugging is a godsend
๏ Off line use of your apps is possible using manifest & localStorage
@TheoHeselmans
๏ My Definition:

Any set of CSS and/or JS code

that do the dirty work for you
๏ Deal with cross-browser issues
๏ Responsive & mobile first design in mind
๏ Reusable components
๏ Split

design - code - navigation - data
What's a Framework / Library
UI
Architecture
DOM๏ Layered schema:
๏ UI - Architecture - DOM
๏ Design - MVC - Supporting libs
@TheoHeselmans
๏ Frameworks
๏ As much tailored to your

(current) needs as possible
๏ Well documented
๏ Well maintained
๏ Broadly used/supported
๏ If MVC: REST support

see John Dalsgaard REST services
Requirements
๏ Your Skill set
๏ HTML(5)
๏ CSS(3)
๏ JavaScript
๏ Notes:
๏ Formula language
๏ LotusScript
๏ XPages
๏ Domino Access Service
๏ REST / JSON
@TheoHeselmans
๏ Tough to choose
๏ Impossible to read/try them all
๏ 'Best of' lists are a good start and # of stars on GitHub
๏ Peers and Social Media are (often) your friends
๏ Keep your eyes open
๏ Don't dive into something new headfirst
๏ Let it mature and prove its value first
๏ Many die out after a year
๏ Do use 'helper' JS tools: jQuery, Underscore.js, Zepto.js
A Gazillion frameworks
and Libraries
@TheoHeselmans
The IBM Notes App:
Content Management System
➡Quick Demo of the Website and the Notes App
@TheoHeselmans
Bootstrap
@TheoHeselmans
๏ A Front-End framework

Bootstrap is a free collection of tools for creating websites and web applications.

It contains HTML and CSS-based design templates for typography, forms, buttons,

navigation and other interface components, as well as optional JavaScript extensions
๏ Examples & Demo:
๏ EY Topics
๏ Engage website
๏ Countries
๏ Screenshots and HTML
๏ The Good & the Bad
Bootstrap
➡Bootstrap getbootstrap.com
@TheoHeselmans
๏ EY Topics
Bootstrap: Demo Screenshots
๏ Engage.ug
@TheoHeselmans
Bootstrap: Basic HTML (Part 1)
<!DOCTYPE HTML><html>
<head>
<title>ConnectED 2015</title>
<link rel="stylesheet" href="/mydb.nsf/css/bootstrap.min.css">
</head>
<body>
@TheoHeselmans
Bootstrap: Basic HTML (Part 2)
<!-- Fixed navbar -->
<nav id="nav" class="navbar navbar-default navbar-fixed-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar">
<span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="/mydb.nsf/">ConnectED 2015</a>
</div>
<div id="navbar" class="collapse navbar-collapse">
<ul class="nav navbar-nav navbar-right">
<li><a href="/mydb.nsf/pages/-home">Home</a></li>
<li><a href="/mydb.nsf/pages/bootstrapabout">About</a></li>
</ul>
</div>
</div>
</nav>
@TheoHeselmans
Bootstrap: Basic HTML (Part 3)
<!-- Begin page content -->
<div class="container">
Main Content goes here
</div>
<!-- Bootstrap & JQuery core JavaScript -->
<script src="/mydb.nsf/js/jquery-1.11.1.min.js"></script>
<script src="/mydb.nsf/js/bootstrap.min.js"></script>
</body>
</html>
@TheoHeselmans
๏ The Good
๏ August 2010: Twitter released
Bootstrap as open source.
๏ GitHub: over 90,000 stars

more than 38,000 forks

over 650 contributors
๏ Regular updates: current version 3.3.6
๏ Many interface components
๏ Excellent documentation, and many
templates
๏ Easy to get started and implement
๏ Broadly used
Bootstrap: the good and the bad
๏ The Bad
๏ Broadly used
๏ Not an MVC model: only UI
➡Tip: Bootstrap for XPages
@TheoHeselmans
Ratchet.js
@TheoHeselmans
๏ A Front-End framework

Ratchet.js is used to build mobile apps with simple HTML‚ CSS‚ and
JS components
๏ Examples & Demo:
๏ Kemin Industries: Lysoforte
๏ Countries
๏ Why I changed my mind!
๏ Screenshots and HTML
๏ The Good & the Bad
Ratchet.js
➡Ratchet.js goratchet.com
@TheoHeselmans
Ratchet.js: Demo Screenshots
๏ Kemin Industries: Lysoforte ®
@TheoHeselmans
Ratchet.js: Basic HTML (Part 1)
<!DOCTYPE HTML><html>
<head>
<title>ConnectED 2015</title>
<!-- Include the compiled Ratchet CSS -->
<link href="/mydb.nsf/css/ratchet.min.css" rel="stylesheet">
<!-- Include the compiled Ratchet JS-->
<script src="/mydb.nsf/js/ratchet.min.js"></script>
</head>
<body>
@TheoHeselmans
Ratchet.js: Basic HTML (Part 2)
<header class="bar bar-nav">
<a class="icon icon-home pull-left" href="#"></a>
<a class="icon icon-compose pull-right"></a>
<a href="#myNavbar">
<h1 class="title">Welcome to Ratchet</span></h1>
</a>
</header>
<!-- Wrap all non-bar HTML in the .content div (this is actually what scrolls) -->
<div class="content">
Main Content here
</div>
@TheoHeselmans
Ratchet.js: Basic HTML (Part 3)
<nav class="bar bar-tab">
<a class="tab-item" href="home">
<span class="icon icon-home"></span><span class="tab-label">Home</span>
</a>
<a class="tab-item" href="about">
<span class="icon icon-person"></span><span class="tab-label">About</span>
</a>
<a class="tab-item" href="countries">
<span class="icon icon-list"></span><span class="tab-label">Countries</span>
</a>
</nav>
<script src="/mydb.nsf/js/jquery-1.11.1.min.js"></script>
</body>
</html>
@TheoHeselmans
Ratchet.js: the good and the bad
๏ The Good
๏ GitHub: almost 12,000 stars

and over 1,300 forks
๏ Easy to implement
๏ Current version 2.02
๏ Separate themes for Android
and iOS
๏ All basic mobile User Interface
components
๏ Nice documentation
๏ The Bad
๏ Relatively young (early 2013)
๏ Little evolution
๏ Limited number of supported
browsers: Android default and
Chrome, iOS Safari
๏ Only touch support: difficult to
test in desktop browsers
๏ Intercepts links
๏ Not an MVC model: only UI
@TheoHeselmans
Backbone.js
@TheoHeselmans
๏ A JavaScript library

Backbone.js is a JavaScript library with a RESTful JSON interface

and is based on the model–view–presenter (MVP) application design paradigm

(MVP is a derivative of the model–view–controller (MVC))
๏ Examples & Demo:
๏ mSurvey for a major Navy
๏ Countries
๏ Did it stick ?
๏ Screenshots, Code and HTML
๏ The Good & the Bad
Backbone.js
➡Backbone.js backbonejs.org
Model
Controller
View
Updates User Events
Events Updates
@TheoHeselmans
Backbone.js: Demo Screenshot
๏ Countries
@TheoHeselmans
Backbone.js: Code (Part 1)
// MODEL
var Country = Backbone.Model;
// COLLECTION
var CountryCollection = Backbone.Collection.extend({
model: Country,
url: '../GetCountries?openagent' //url that returns a correct JSON string
//url: '../api/data/collections/name/countries?count=300' //or use the view via DAS
});
@TheoHeselmans
Backbone.js: Code (Part 2)
// VIEW
var CountryView = Backbone.View.extend ({
el: '#countrydiv',
template: _.template($('#country-template').html()),
initialize: function () {
countryList.fetch({ //fetch the data
success: function() { //if successful, render them in the DOM
countryView.render(); }
})
},
render: function () { //render the countries using the template
this.$el.html(this.template({countries: countryList.models}));
return this; }
});
@TheoHeselmans
Backbone.js: Code (Part 3)
// RUN IT
var countryList = new CountryCollection(); //create the collection
var countryView = new CountryView(); //create the view
@TheoHeselmans
Backbone.js: HTML (Part 4)
<!-- Target DIV -->
<div id="countrydiv></div>
<!-- Template -->
<script type="text/template" id="country-template">
<div class="table-responsive">
<table class="table table-striped">
<thead><tr><th>Country</th><th>Capital</th></tr></thead>
<tbody>
<% _.each(countries, function(Country) { %>
<tr>
<td><%= Country.get("country") %></td>
<td><%= Country.get("capital") %></td>
</tr>
<% }); %>
</tbody></table></div>
</script>
@TheoHeselmans
Backbone.js: the good and the
bad
๏ The Good
๏ GitHub: over 23,000 stars

and more than 5,000 forks
๏ Good documentation
๏ Tiny in size (<7 kb)
๏ Nice integration with
Underscore.js,

especially for templates
๏ Routing is easy
๏ Widely used

(e.g. AirBnb, USA Today, Rdio, Hulu, Foursquare)
๏ REST support
๏ The Bad
๏ Totally different concept
๏ Steeper learning curve
๏ Decent knowledge of JS
required
๏ No data binding
๏ MVC model only: no UI
@TheoHeselmans
Knockout.js
@TheoHeselmans
๏ A JavaScript Framework

Knockout is a standalone JavaScript implementation of the Model-View-ViewModel pattern

with templates. The underlying principles are therefore:

• a clear separation between domain data, view components and data to be displayed

• the presence of a clearly defined layer of specialized code

to manage the relationships between the view components
๏ Examples & Demo:
๏ Countries
๏ mSurvey
๏ Wine Tasting CRUD
๏ Screenshots, Code and HTML
๏ The Good & the Bad
Knockout.js
➡Knockout.js knockoutjs.com
Model
ViewModel
View
Data
Binding Commands
@TheoHeselmans
Knockout.js: Demo Screenshots
๏ Countries ๏ Tastings
@TheoHeselmans
Knockout.js: Country Code VMMV
(Part 1)
function AppViewModel() {

var self = this;

self.countries = ko.observableArray([]); //create empty observable Array



$.getJSON("../GetCountries?openagent", function(data) { //get JSON of all countries

self.countries(data);

});

self.continents = ... //removed the code to get the unique list of continents from the countries

self.filteredCountries = function(cont) { //function to get countries for 1 continent only

return ko.utils.arrayFilter(self.countries(), function(country) {

return (country.continent === cont);

});

};

}

ko.applyBindings(new AppViewModel());
@TheoHeselmans
Knockout.js: Country Code HTML
(Part 2)
<!-- Tab panes -->
<div class="tab-content"
data-bind="template: { name: 'continent-template', foreach: continents }">
</div>
@TheoHeselmans
Knockout.js: Country Code
Templates (Part 3)
<script type="text/html" id="continent-template">

<div class="table-responsive">

<table class="table table-striped table-condensed">

<thead><tr><th>Country</th><th>Capital</th></tr></thead>

<tbody data-bind="template: { name: 'country-template',
foreach: $root.filteredCountries($data) }">
</tbody>

</table>

</div>

</script>


<script type="text/html" id="country-template">

<tr>
<td data-bind="text: country"></td><td data-bind="text: capital"></td>
</tr>

</script>
@TheoHeselmans
Knockout.js: Tasting Code
//trigger an AJAX request to get tastings when the main country selection changes

self.maincountry.subscribe( function(newValue) {

$.getJSON('../api/data/collections/name/tastings?count=50&keys=' + newValue,
function(data) {

var mappedTastings = $.map(data, function(item) { return new Tasting(item); });

self.tastings(mappedTastings);

});

});
//part of Saving Code: existing record, so update it (use patch, not post!)

self.saveTasting = function () {
$.ajax(thistasting.updatelink.href, {

data: ko.toJSON(thistasting), 

type: "patch", contentType: "application/json",

success: function(result) { void(0); }

});}
};

@TheoHeselmans
Knockout.js: the good and the bad
๏ The Good
๏ GitHub: over 7,000 stars

and 1,200+ forks
๏ Good documentation and

Interactive tutorials/examples
๏ Data binding (including
attributes)
๏ Automatic UI refresh
๏ Built-in Templating
๏ Mapping via plugin
๏ REST support
๏ The Bad
๏ Different concept
๏ Steeper learning curve
๏ Decent knowledge of JS
required
๏ Routing not provided
๏ MVVM model only: no UI
@TheoHeselmans
๏ 12 Useful JavaScript Resources and Tools smashingapps.com
๏ 35 Best HTML5 Development Tools To Save Your Time smashingapps.com
๏ Javascript Frameworks Comparison:

Angular, Knockout, Ember and Backbone slideshare.net
๏ ToDoMVC (Helping you select an MV* framework) todomvc.com
๏ Rich JavaScript Applications (the 7 Frameworks) blog.stevensanderson.com
๏ Top 50 Developer Tools & Services of 2014 stackshare.io
๏ The Most Trending JavaScript Frameworks & Libraries savedelete.com
๏ A Poll of Modern Frontend Web Developer’s Preferred Tools webdesignledger.com
A few interesting Links
@TheoHeselmans
๏ Try out different frameworks/Libraries
๏ None of them is ideal
๏ Use the best solution for the job
๏ (Major) version upgrades are usually not backwards compatible
๏ Frameworks/Libraries create code lock-ins
๏ Choose wisely

๏ Don't bury your head in the sand

Parting words
Be productive and have fun !
Questions????
8
Use the Orange Arrow button to
expand the GoToWebinar panel
Then ask your questions in the
Questions panel!
Remember, we will answer your
questions verbally
#XPages
@TheoHeselmans
@TLCCLtd
@Teamstudio
@PaulDN
Upcoming Events:
 Connect, Orlando – Jan. 31 to Feb. 3
 IBM InterConnect, Las Vegas, NV - Feb 21 to 25th
 Inform 2016 in Sydney, Australia – March 10 to 11th
 Engage, Eindhoven, the Netherlands – Mar. 23 to 24
 EntwicklerCamp, Gelsenkirchen, Germany – April 11 to 13
Question and Answer Time!
9
Teamstudio Questions?
contactus@teamstudio.com
978-712-0924
TLCC Questions?
howardg@tlcc.com paul@tlcc.com
888-241-8522 or 561-953-0095
Howard Greenberg
Courtney Carter
Theo Heselmans
Paul Della-Nebbia
Save Hundreds with TLCC’s End of Year Sale!!!!

Mais conteúdo relacionado

Mais procurados

Getting Started with the OpenNTF Domino API
Getting Started with the OpenNTF Domino APIGetting Started with the OpenNTF Domino API
Getting Started with the OpenNTF Domino APITeamstudio
 
AD1542 Get Hands On With Bluemix
AD1542 Get Hands On With BluemixAD1542 Get Hands On With Bluemix
AD1542 Get Hands On With BluemixMartin Donnelly
 
Building Responsive Applications Using XPages
Building Responsive Applications Using XPagesBuilding Responsive Applications Using XPages
Building Responsive Applications Using XPagesTeamstudio
 
Presenting Data – An Alternative to the View Control
Presenting Data – An Alternative to the View ControlPresenting Data – An Alternative to the View Control
Presenting Data – An Alternative to the View ControlTeamstudio
 
IBM Connect 2016 - AD1548 - Building Responsive XPages Applications
IBM Connect 2016 - AD1548 - Building Responsive XPages ApplicationsIBM Connect 2016 - AD1548 - Building Responsive XPages Applications
IBM Connect 2016 - AD1548 - Building Responsive XPages Applicationsbeglee
 
Optimus XPages Part 2: The Deep Dive
Optimus XPages Part 2: The Deep DiveOptimus XPages Part 2: The Deep Dive
Optimus XPages Part 2: The Deep DiveTeamstudio
 
XPages Application Layout Control - TLCC March, 2014 Webinar
XPages Application Layout Control - TLCC March, 2014 WebinarXPages Application Layout Control - TLCC March, 2014 Webinar
XPages Application Layout Control - TLCC March, 2014 WebinarHoward Greenberg
 
IBM ConnectED 2015 - AD302 - Responsive Application Development for XPages
IBM ConnectED 2015 - AD302 - Responsive Application Development for XPagesIBM ConnectED 2015 - AD302 - Responsive Application Development for XPages
IBM ConnectED 2015 - AD302 - Responsive Application Development for XPagesbeglee
 
JMP402 Master Class: Managed beans and XPages: Your Time Is Now
JMP402 Master Class: Managed beans and XPages: Your Time Is NowJMP402 Master Class: Managed beans and XPages: Your Time Is Now
JMP402 Master Class: Managed beans and XPages: Your Time Is NowRussell Maher
 
Extension Library - Viagra for XPages
Extension Library - Viagra for XPagesExtension Library - Viagra for XPages
Extension Library - Viagra for XPagesUlrich Krause
 
XPages: No Experience Needed
XPages: No Experience NeededXPages: No Experience Needed
XPages: No Experience NeededKathy Brown
 
Bootstrap4XPages webinar
Bootstrap4XPages webinarBootstrap4XPages webinar
Bootstrap4XPages webinarMark Leusink
 
MWLUG - Universal Java
MWLUG  -  Universal JavaMWLUG  -  Universal Java
MWLUG - Universal JavaPhilippe Riand
 
An Introduction to Web Components
An Introduction to Web ComponentsAn Introduction to Web Components
An Introduction to Web ComponentsRed Pill Now
 
App.Next - The Future of Domino Application Development
App.Next - The Future of Domino Application DevelopmentApp.Next - The Future of Domino Application Development
App.Next - The Future of Domino Application DevelopmentTeamstudio
 
Tips for Building your First XPages Java Application
Tips for Building your First XPages Java ApplicationTips for Building your First XPages Java Application
Tips for Building your First XPages Java ApplicationTeamstudio
 
SharePoint Development 101
SharePoint Development 101SharePoint Development 101
SharePoint Development 101Greg Hurlman
 
Show110 | Using the XPages Extension Library for the Real World
Show110 | Using the XPages Extension Library for the Real WorldShow110 | Using the XPages Extension Library for the Real World
Show110 | Using the XPages Extension Library for the Real Worldpdhannan
 
IBM Connect 2017: Your Data In the Major Leagues: A Practical Guide to REST S...
IBM Connect 2017: Your Data In the Major Leagues: A Practical Guide to REST S...IBM Connect 2017: Your Data In the Major Leagues: A Practical Guide to REST S...
IBM Connect 2017: Your Data In the Major Leagues: A Practical Guide to REST S...Serdar Basegmez
 
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
 

Mais procurados (20)

Getting Started with the OpenNTF Domino API
Getting Started with the OpenNTF Domino APIGetting Started with the OpenNTF Domino API
Getting Started with the OpenNTF Domino API
 
AD1542 Get Hands On With Bluemix
AD1542 Get Hands On With BluemixAD1542 Get Hands On With Bluemix
AD1542 Get Hands On With Bluemix
 
Building Responsive Applications Using XPages
Building Responsive Applications Using XPagesBuilding Responsive Applications Using XPages
Building Responsive Applications Using XPages
 
Presenting Data – An Alternative to the View Control
Presenting Data – An Alternative to the View ControlPresenting Data – An Alternative to the View Control
Presenting Data – An Alternative to the View Control
 
IBM Connect 2016 - AD1548 - Building Responsive XPages Applications
IBM Connect 2016 - AD1548 - Building Responsive XPages ApplicationsIBM Connect 2016 - AD1548 - Building Responsive XPages Applications
IBM Connect 2016 - AD1548 - Building Responsive XPages Applications
 
Optimus XPages Part 2: The Deep Dive
Optimus XPages Part 2: The Deep DiveOptimus XPages Part 2: The Deep Dive
Optimus XPages Part 2: The Deep Dive
 
XPages Application Layout Control - TLCC March, 2014 Webinar
XPages Application Layout Control - TLCC March, 2014 WebinarXPages Application Layout Control - TLCC March, 2014 Webinar
XPages Application Layout Control - TLCC March, 2014 Webinar
 
IBM ConnectED 2015 - AD302 - Responsive Application Development for XPages
IBM ConnectED 2015 - AD302 - Responsive Application Development for XPagesIBM ConnectED 2015 - AD302 - Responsive Application Development for XPages
IBM ConnectED 2015 - AD302 - Responsive Application Development for XPages
 
JMP402 Master Class: Managed beans and XPages: Your Time Is Now
JMP402 Master Class: Managed beans and XPages: Your Time Is NowJMP402 Master Class: Managed beans and XPages: Your Time Is Now
JMP402 Master Class: Managed beans and XPages: Your Time Is Now
 
Extension Library - Viagra for XPages
Extension Library - Viagra for XPagesExtension Library - Viagra for XPages
Extension Library - Viagra for XPages
 
XPages: No Experience Needed
XPages: No Experience NeededXPages: No Experience Needed
XPages: No Experience Needed
 
Bootstrap4XPages webinar
Bootstrap4XPages webinarBootstrap4XPages webinar
Bootstrap4XPages webinar
 
MWLUG - Universal Java
MWLUG  -  Universal JavaMWLUG  -  Universal Java
MWLUG - Universal Java
 
An Introduction to Web Components
An Introduction to Web ComponentsAn Introduction to Web Components
An Introduction to Web Components
 
App.Next - The Future of Domino Application Development
App.Next - The Future of Domino Application DevelopmentApp.Next - The Future of Domino Application Development
App.Next - The Future of Domino Application Development
 
Tips for Building your First XPages Java Application
Tips for Building your First XPages Java ApplicationTips for Building your First XPages Java Application
Tips for Building your First XPages Java Application
 
SharePoint Development 101
SharePoint Development 101SharePoint Development 101
SharePoint Development 101
 
Show110 | Using the XPages Extension Library for the Real World
Show110 | Using the XPages Extension Library for the Real WorldShow110 | Using the XPages Extension Library for the Real World
Show110 | Using the XPages Extension Library for the Real World
 
IBM Connect 2017: Your Data In the Major Leagues: A Practical Guide to REST S...
IBM Connect 2017: Your Data In the Major Leagues: A Practical Guide to REST S...IBM Connect 2017: Your Data In the Major Leagues: A Practical Guide to REST S...
IBM Connect 2017: Your Data In the Major Leagues: A Practical Guide to REST S...
 
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
 

Destaque

Connect 2016-Move Your XPages Applications to the Fast Lane
Connect 2016-Move Your XPages Applications to the Fast LaneConnect 2016-Move Your XPages Applications to the Fast Lane
Connect 2016-Move Your XPages Applications to the Fast LaneHoward Greenberg
 
D8 l55g formation-introduction-a-ibm-lotus-domino-8-5-xpages
D8 l55g formation-introduction-a-ibm-lotus-domino-8-5-xpagesD8 l55g formation-introduction-a-ibm-lotus-domino-8-5-xpages
D8 l55g formation-introduction-a-ibm-lotus-domino-8-5-xpagesCERTyou Formation
 
MWLUG 2016 : AD117 : Xpages & jQuery DataTables
MWLUG 2016 : AD117 : Xpages & jQuery DataTablesMWLUG 2016 : AD117 : Xpages & jQuery DataTables
MWLUG 2016 : AD117 : Xpages & jQuery DataTablesMichael Smith
 
Speed geeking-lotusscript
Speed geeking-lotusscriptSpeed geeking-lotusscript
Speed geeking-lotusscriptBill Buchan
 
What the App? : A Modernization Strategy for Your Business Applications
What the App? : A Modernization Strategy for Your Business ApplicationsWhat the App? : A Modernization Strategy for Your Business Applications
What the App? : A Modernization Strategy for Your Business ApplicationsJohn Head
 
XPages and jQuery DataTables: Simplifying View Creation while Maximizing Func...
XPages and jQuery DataTables: Simplifying View Creation while Maximizing Func...XPages and jQuery DataTables: Simplifying View Creation while Maximizing Func...
XPages and jQuery DataTables: Simplifying View Creation while Maximizing Func...Teamstudio
 

Destaque (6)

Connect 2016-Move Your XPages Applications to the Fast Lane
Connect 2016-Move Your XPages Applications to the Fast LaneConnect 2016-Move Your XPages Applications to the Fast Lane
Connect 2016-Move Your XPages Applications to the Fast Lane
 
D8 l55g formation-introduction-a-ibm-lotus-domino-8-5-xpages
D8 l55g formation-introduction-a-ibm-lotus-domino-8-5-xpagesD8 l55g formation-introduction-a-ibm-lotus-domino-8-5-xpages
D8 l55g formation-introduction-a-ibm-lotus-domino-8-5-xpages
 
MWLUG 2016 : AD117 : Xpages & jQuery DataTables
MWLUG 2016 : AD117 : Xpages & jQuery DataTablesMWLUG 2016 : AD117 : Xpages & jQuery DataTables
MWLUG 2016 : AD117 : Xpages & jQuery DataTables
 
Speed geeking-lotusscript
Speed geeking-lotusscriptSpeed geeking-lotusscript
Speed geeking-lotusscript
 
What the App? : A Modernization Strategy for Your Business Applications
What the App? : A Modernization Strategy for Your Business ApplicationsWhat the App? : A Modernization Strategy for Your Business Applications
What the App? : A Modernization Strategy for Your Business Applications
 
XPages and jQuery DataTables: Simplifying View Creation while Maximizing Func...
XPages and jQuery DataTables: Simplifying View Creation while Maximizing Func...XPages and jQuery DataTables: Simplifying View Creation while Maximizing Func...
XPages and jQuery DataTables: Simplifying View Creation while Maximizing Func...
 

Semelhante a Using Cool New Frameworks in (Mobile) Domino Apps

MongoDB.local Seattle 2019: MongoDB Stitch Tutorial
MongoDB.local Seattle 2019: MongoDB Stitch TutorialMongoDB.local Seattle 2019: MongoDB Stitch Tutorial
MongoDB.local Seattle 2019: MongoDB Stitch TutorialMongoDB
 
Making Your Site Look Great in IE7
Making Your Site Look Great in IE7Making Your Site Look Great in IE7
Making Your Site Look Great in IE7goodfriday
 
UTEP AITP Presentation - 10/17/2012
UTEP AITP Presentation - 10/17/2012UTEP AITP Presentation - 10/17/2012
UTEP AITP Presentation - 10/17/2012impulsedev
 
Does This Theme Make My Website Look Fat? (Wordcamp SLC 2013)
Does This Theme Make My Website Look Fat? (Wordcamp SLC 2013)Does This Theme Make My Website Look Fat? (Wordcamp SLC 2013)
Does This Theme Make My Website Look Fat? (Wordcamp SLC 2013)Adam Dunford
 
jQuery: The World's Most Popular JavaScript Library Comes to XPages
jQuery: The World's Most Popular JavaScript Library Comes to XPagesjQuery: The World's Most Popular JavaScript Library Comes to XPages
jQuery: The World's Most Popular JavaScript Library Comes to XPagesTeamstudio
 
MongoDB.local Dallas 2019: MongoDB Stitch Tutorial
MongoDB.local Dallas 2019: MongoDB Stitch TutorialMongoDB.local Dallas 2019: MongoDB Stitch Tutorial
MongoDB.local Dallas 2019: MongoDB Stitch TutorialMongoDB
 
AD113 Speed Up Your Applications w/ Nginx and PageSpeed
AD113  Speed Up Your Applications w/ Nginx and PageSpeedAD113  Speed Up Your Applications w/ Nginx and PageSpeed
AD113 Speed Up Your Applications w/ Nginx and PageSpeededm00se
 
MongoDB.local Atlanta: MongoDB Stitch Tutorial
MongoDB.local Atlanta: MongoDB Stitch TutorialMongoDB.local Atlanta: MongoDB Stitch Tutorial
MongoDB.local Atlanta: MongoDB Stitch TutorialMongoDB
 
Html5 today
Html5 todayHtml5 today
Html5 todayRoy Yu
 
Maximising Online Resource Effectiveness Workshop Session 3/8 Priority issues
Maximising Online Resource Effectiveness Workshop Session 3/8 Priority issuesMaximising Online Resource Effectiveness Workshop Session 3/8 Priority issues
Maximising Online Resource Effectiveness Workshop Session 3/8 Priority issuesPlatypus
 
Style Guide Best Practices
Style Guide Best PracticesStyle Guide Best Practices
Style Guide Best PracticesBrad Frost
 
European SharePoint Conference: Mobile Applications for SharePoint using HTML5
European SharePoint Conference: Mobile Applications for SharePoint using HTML5European SharePoint Conference: Mobile Applications for SharePoint using HTML5
European SharePoint Conference: Mobile Applications for SharePoint using HTML5Christian Heindel
 
Bootstrap for Beginners
Bootstrap for BeginnersBootstrap for Beginners
Bootstrap for BeginnersD'arce Hess
 
LvivCSS: Web Components as a foundation for Design System
LvivCSS: Web Components as a foundation for Design SystemLvivCSS: Web Components as a foundation for Design System
LvivCSS: Web Components as a foundation for Design SystemVlad Fedosov
 
Tip from ConnectED 2015: How to Use Those Cool New Frameworks in Mobile Domin...
Tip from ConnectED 2015: How to Use Those Cool New Frameworks in Mobile Domin...Tip from ConnectED 2015: How to Use Those Cool New Frameworks in Mobile Domin...
Tip from ConnectED 2015: How to Use Those Cool New Frameworks in Mobile Domin...SocialBiz UserGroup
 
Building Web Applications Without a Framework
Building Web Applications Without a FrameworkBuilding Web Applications Without a Framework
Building Web Applications Without a FrameworkAll Things Open
 

Semelhante a Using Cool New Frameworks in (Mobile) Domino Apps (20)

HTML5 and Joomla! 2.5 Template
HTML5 and Joomla! 2.5 TemplateHTML5 and Joomla! 2.5 Template
HTML5 and Joomla! 2.5 Template
 
MongoDB.local Seattle 2019: MongoDB Stitch Tutorial
MongoDB.local Seattle 2019: MongoDB Stitch TutorialMongoDB.local Seattle 2019: MongoDB Stitch Tutorial
MongoDB.local Seattle 2019: MongoDB Stitch Tutorial
 
Making Your Site Look Great in IE7
Making Your Site Look Great in IE7Making Your Site Look Great in IE7
Making Your Site Look Great in IE7
 
UTEP AITP Presentation - 10/17/2012
UTEP AITP Presentation - 10/17/2012UTEP AITP Presentation - 10/17/2012
UTEP AITP Presentation - 10/17/2012
 
Does This Theme Make My Website Look Fat? (Wordcamp SLC 2013)
Does This Theme Make My Website Look Fat? (Wordcamp SLC 2013)Does This Theme Make My Website Look Fat? (Wordcamp SLC 2013)
Does This Theme Make My Website Look Fat? (Wordcamp SLC 2013)
 
jQuery: The World's Most Popular JavaScript Library Comes to XPages
jQuery: The World's Most Popular JavaScript Library Comes to XPagesjQuery: The World's Most Popular JavaScript Library Comes to XPages
jQuery: The World's Most Popular JavaScript Library Comes to XPages
 
MongoDB.local Dallas 2019: MongoDB Stitch Tutorial
MongoDB.local Dallas 2019: MongoDB Stitch TutorialMongoDB.local Dallas 2019: MongoDB Stitch Tutorial
MongoDB.local Dallas 2019: MongoDB Stitch Tutorial
 
AD113 Speed Up Your Applications w/ Nginx and PageSpeed
AD113  Speed Up Your Applications w/ Nginx and PageSpeedAD113  Speed Up Your Applications w/ Nginx and PageSpeed
AD113 Speed Up Your Applications w/ Nginx and PageSpeed
 
1_Intro_toHTML.ppt
1_Intro_toHTML.ppt1_Intro_toHTML.ppt
1_Intro_toHTML.ppt
 
MongoDB.local Atlanta: MongoDB Stitch Tutorial
MongoDB.local Atlanta: MongoDB Stitch TutorialMongoDB.local Atlanta: MongoDB Stitch Tutorial
MongoDB.local Atlanta: MongoDB Stitch Tutorial
 
Html5 today
Html5 todayHtml5 today
Html5 today
 
Maximising Online Resource Effectiveness Workshop Session 3/8 Priority issues
Maximising Online Resource Effectiveness Workshop Session 3/8 Priority issuesMaximising Online Resource Effectiveness Workshop Session 3/8 Priority issues
Maximising Online Resource Effectiveness Workshop Session 3/8 Priority issues
 
Style Guide Best Practices
Style Guide Best PracticesStyle Guide Best Practices
Style Guide Best Practices
 
resume
resumeresume
resume
 
European SharePoint Conference: Mobile Applications for SharePoint using HTML5
European SharePoint Conference: Mobile Applications for SharePoint using HTML5European SharePoint Conference: Mobile Applications for SharePoint using HTML5
European SharePoint Conference: Mobile Applications for SharePoint using HTML5
 
Bootstrap for Beginners
Bootstrap for BeginnersBootstrap for Beginners
Bootstrap for Beginners
 
mini-project.pptx
mini-project.pptxmini-project.pptx
mini-project.pptx
 
LvivCSS: Web Components as a foundation for Design System
LvivCSS: Web Components as a foundation for Design SystemLvivCSS: Web Components as a foundation for Design System
LvivCSS: Web Components as a foundation for Design System
 
Tip from ConnectED 2015: How to Use Those Cool New Frameworks in Mobile Domin...
Tip from ConnectED 2015: How to Use Those Cool New Frameworks in Mobile Domin...Tip from ConnectED 2015: How to Use Those Cool New Frameworks in Mobile Domin...
Tip from ConnectED 2015: How to Use Those Cool New Frameworks in Mobile Domin...
 
Building Web Applications Without a Framework
Building Web Applications Without a FrameworkBuilding Web Applications Without a Framework
Building Web Applications Without a Framework
 

Mais de Teamstudio

Search Terms and Design Complexity: A Tutorial Before Modernizing or Migrating
Search Terms and Design Complexity: A Tutorial Before Modernizing or MigratingSearch Terms and Design Complexity: A Tutorial Before Modernizing or Migrating
Search Terms and Design Complexity: A Tutorial Before Modernizing or MigratingTeamstudio
 
SmartNSF - 100% Smart - and in Color!
SmartNSF - 100% Smart - and in Color!SmartNSF - 100% Smart - and in Color!
SmartNSF - 100% Smart - and in Color!Teamstudio
 
Back from the Dead: When Bad Code Kills a Good Server
Back from the Dead: When Bad Code Kills a Good ServerBack from the Dead: When Bad Code Kills a Good Server
Back from the Dead: When Bad Code Kills a Good ServerTeamstudio
 
Understand Usage with Detailed Access Information
Understand Usage with Detailed Access InformationUnderstand Usage with Detailed Access Information
Understand Usage with Detailed Access InformationTeamstudio
 
IBM Presents the Notes Domino Roadmap and a Deep Dive into Feature Pack 8
IBM Presents the Notes Domino Roadmap and a Deep Dive into Feature Pack 8IBM Presents the Notes Domino Roadmap and a Deep Dive into Feature Pack 8
IBM Presents the Notes Domino Roadmap and a Deep Dive into Feature Pack 8Teamstudio
 
Marty, You're Just Not Thinking Fourth Dimensionally
Marty, You're Just Not Thinking Fourth DimensionallyMarty, You're Just Not Thinking Fourth Dimensionally
Marty, You're Just Not Thinking Fourth DimensionallyTeamstudio
 
IBM Presents the IBM Notes and Domino Roadmap
IBM Presents the IBM Notes and Domino RoadmapIBM Presents the IBM Notes and Domino Roadmap
IBM Presents the IBM Notes and Domino RoadmapTeamstudio
 
Take a Trip Into the Forest: A Java Primer on Maps, Trees, and Collections
Take a Trip Into the Forest: A Java Primer on Maps, Trees, and Collections Take a Trip Into the Forest: A Java Primer on Maps, Trees, and Collections
Take a Trip Into the Forest: A Java Primer on Maps, Trees, and Collections Teamstudio
 
Understand the True Business Usage of Notes Applications with Usage Auditor
Understand the True Business Usage of Notes Applications with Usage AuditorUnderstand the True Business Usage of Notes Applications with Usage Auditor
Understand the True Business Usage of Notes Applications with Usage AuditorTeamstudio
 
An Introduction to the Model-View-Controller Pattern
An Introduction to the Model-View-Controller PatternAn Introduction to the Model-View-Controller Pattern
An Introduction to the Model-View-Controller PatternTeamstudio
 
Mobilisez vos Applications IBM Notes avec Teamstudio Unplugged ! (French Lang...
Mobilisez vos Applications IBM Notes avec Teamstudio Unplugged ! (French Lang...Mobilisez vos Applications IBM Notes avec Teamstudio Unplugged ! (French Lang...
Mobilisez vos Applications IBM Notes avec Teamstudio Unplugged ! (French Lang...Teamstudio
 
Domino, Notes, and Verse - Where are We and Whats the Future?
Domino, Notes, and Verse - Where are We and Whats the Future?Domino, Notes, and Verse - Where are We and Whats the Future?
Domino, Notes, and Verse - Where are We and Whats the Future?Teamstudio
 
Transformations: Smart Application Migration to XPages
Transformations: Smart Application Migration to XPagesTransformations: Smart Application Migration to XPages
Transformations: Smart Application Migration to XPagesTeamstudio
 
A Notes Developer's Journey into Java
A Notes Developer's Journey into JavaA Notes Developer's Journey into Java
A Notes Developer's Journey into JavaTeamstudio
 
Mobilize Your Business, Not Just an App
Mobilize Your Business, Not Just an AppMobilize Your Business, Not Just an App
Mobilize Your Business, Not Just an AppTeamstudio
 
Access Data from XPages with the Relational Controls
Access Data from XPages with the Relational ControlsAccess Data from XPages with the Relational Controls
Access Data from XPages with the Relational ControlsTeamstudio
 
Wireless Wednesdays: Introduction to XControls
Wireless Wednesdays: Introduction to XControlsWireless Wednesdays: Introduction to XControls
Wireless Wednesdays: Introduction to XControlsTeamstudio
 
The XPages Mobile Controls: What's New in Notes 9.0.1
The XPages Mobile Controls: What's New in Notes 9.0.1The XPages Mobile Controls: What's New in Notes 9.0.1
The XPages Mobile Controls: What's New in Notes 9.0.1Teamstudio
 

Mais de Teamstudio (18)

Search Terms and Design Complexity: A Tutorial Before Modernizing or Migrating
Search Terms and Design Complexity: A Tutorial Before Modernizing or MigratingSearch Terms and Design Complexity: A Tutorial Before Modernizing or Migrating
Search Terms and Design Complexity: A Tutorial Before Modernizing or Migrating
 
SmartNSF - 100% Smart - and in Color!
SmartNSF - 100% Smart - and in Color!SmartNSF - 100% Smart - and in Color!
SmartNSF - 100% Smart - and in Color!
 
Back from the Dead: When Bad Code Kills a Good Server
Back from the Dead: When Bad Code Kills a Good ServerBack from the Dead: When Bad Code Kills a Good Server
Back from the Dead: When Bad Code Kills a Good Server
 
Understand Usage with Detailed Access Information
Understand Usage with Detailed Access InformationUnderstand Usage with Detailed Access Information
Understand Usage with Detailed Access Information
 
IBM Presents the Notes Domino Roadmap and a Deep Dive into Feature Pack 8
IBM Presents the Notes Domino Roadmap and a Deep Dive into Feature Pack 8IBM Presents the Notes Domino Roadmap and a Deep Dive into Feature Pack 8
IBM Presents the Notes Domino Roadmap and a Deep Dive into Feature Pack 8
 
Marty, You're Just Not Thinking Fourth Dimensionally
Marty, You're Just Not Thinking Fourth DimensionallyMarty, You're Just Not Thinking Fourth Dimensionally
Marty, You're Just Not Thinking Fourth Dimensionally
 
IBM Presents the IBM Notes and Domino Roadmap
IBM Presents the IBM Notes and Domino RoadmapIBM Presents the IBM Notes and Domino Roadmap
IBM Presents the IBM Notes and Domino Roadmap
 
Take a Trip Into the Forest: A Java Primer on Maps, Trees, and Collections
Take a Trip Into the Forest: A Java Primer on Maps, Trees, and Collections Take a Trip Into the Forest: A Java Primer on Maps, Trees, and Collections
Take a Trip Into the Forest: A Java Primer on Maps, Trees, and Collections
 
Understand the True Business Usage of Notes Applications with Usage Auditor
Understand the True Business Usage of Notes Applications with Usage AuditorUnderstand the True Business Usage of Notes Applications with Usage Auditor
Understand the True Business Usage of Notes Applications with Usage Auditor
 
An Introduction to the Model-View-Controller Pattern
An Introduction to the Model-View-Controller PatternAn Introduction to the Model-View-Controller Pattern
An Introduction to the Model-View-Controller Pattern
 
Mobilisez vos Applications IBM Notes avec Teamstudio Unplugged ! (French Lang...
Mobilisez vos Applications IBM Notes avec Teamstudio Unplugged ! (French Lang...Mobilisez vos Applications IBM Notes avec Teamstudio Unplugged ! (French Lang...
Mobilisez vos Applications IBM Notes avec Teamstudio Unplugged ! (French Lang...
 
Domino, Notes, and Verse - Where are We and Whats the Future?
Domino, Notes, and Verse - Where are We and Whats the Future?Domino, Notes, and Verse - Where are We and Whats the Future?
Domino, Notes, and Verse - Where are We and Whats the Future?
 
Transformations: Smart Application Migration to XPages
Transformations: Smart Application Migration to XPagesTransformations: Smart Application Migration to XPages
Transformations: Smart Application Migration to XPages
 
A Notes Developer's Journey into Java
A Notes Developer's Journey into JavaA Notes Developer's Journey into Java
A Notes Developer's Journey into Java
 
Mobilize Your Business, Not Just an App
Mobilize Your Business, Not Just an AppMobilize Your Business, Not Just an App
Mobilize Your Business, Not Just an App
 
Access Data from XPages with the Relational Controls
Access Data from XPages with the Relational ControlsAccess Data from XPages with the Relational Controls
Access Data from XPages with the Relational Controls
 
Wireless Wednesdays: Introduction to XControls
Wireless Wednesdays: Introduction to XControlsWireless Wednesdays: Introduction to XControls
Wireless Wednesdays: Introduction to XControls
 
The XPages Mobile Controls: What's New in Notes 9.0.1
The XPages Mobile Controls: What's New in Notes 9.0.1The XPages Mobile Controls: What's New in Notes 9.0.1
The XPages Mobile Controls: What's New in Notes 9.0.1
 

Último

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
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
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
 
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
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
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
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
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
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 

Último (20)

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
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
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
 
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...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
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...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
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
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 

Using Cool New Frameworks in (Mobile) Domino Apps

  • 1. USING COOL NEW FRAMEWORKS IN (MOBILE) DOMINO APPS Dec. 16, 2015
  • 2. Courtney Carter @Teamstudio Howard Greenberg @TLCC Paul Della-Nebbia @PaulDN Theo Heselmans @TheoHeselmans
  • 3. Asking Questions Use the “Questions” pane to ask questions.  
  • 4. AboutTeamstudio •  Manage, analyze, modernize, and mobilize Notes applications with software and services from Teamstudio. •  1600+ active customers, 53 countries •  Offices in US, UK, and Japan
  • 5. Teamstudio NotesTools •  Manage your Notes applications faster, better, and more easily.
  • 6. Teamstudio Unplugged •  Mobile application platform that provides organizations with the capability to extend their desktop and Web-based applications to mobile devices, giving users access to data anywhere, anytime, even when they’re offline. •  Template applications: Continuity, CustomerView, OneView, Doc Library, Journal, TeamRoom
  • 7. Teamstudio XControls •  Set of controls for IBM Domino developers working on XPages apps and Notes app modernization projects •  Full support for PC browser-based user interfaces, as well as mobile interfaces
  • 8. Teamstudio Services •  Professional services for Web enablement, development, and administration –  Assistance Programs –  Catalog Scan, Complexity Analysis, Usage Auditor –  Training –  Modernization Services
  • 9. Using Cool New Frameworks in (Mobile) Domino Apps
  • 10. 1 #XPages Your Hosts Today: Howard Greenberg TLCC @TLCCLtd Using Cool New Frameworks in (Mobile) Domino Apps! Paul Della-Nebbia TLCC @PaulDN
  • 11. How can TLCC Help YOU! 2 • Private classes at your location or virtual •XPages Development •Support Existing Apps •Administration • Let us help you become an expert XPages developer! • Delivered via Notes • XPages • Development • Admin • User Self- Paced Courses Mentoring Instructor- Led Classes Application Development and Consulting Free Demo Courses!
  • 12. 3  Save hundreds and even Thousands of Dollars on the most popular courses and packages  Through December 31st Click here for more information
  • 13. Upcoming and Recorded Webinars 4 www.tlcc.com/xpages-webinar View Previous Webinars (use url above) • To Be Announced – Watch for upcoming webinars at:
  • 14. 5  Session Preview Tool is Now available!  $100 discount for previous attendees  Attend my session on XPages Performance! More information at the Connect 2016 site!
  • 15. Asking Questions – Q and A at the end 6 Use the Orange Arrow button to expand the GoToWebinar panel Then ask your questions in the Questions pane! We will answer your questions verbally at the end of the webinar
  • 16. 7 #XPages Theo Heselmans @theoheslemans Using Cool New Frameworks in (Mobile) Domino Apps!
  • 17. Using Cool New Frameworks in (Mobile) Domino® Apps! Theo Heselmans, Xceed / Engage @TheoHeselmans
  • 19. @TheoHeselmans ๏ About myself ๏ What this session is not about ๏ The Domino® 'Stack' ๏ Frameworks & Libraries Agenda ๏ Bootstrap ๏ Ratchet ๏ Backbone ๏ Knockout
 ๏ Links & More info ๏ Parting words
 ๏ Q&A
  • 20. @TheoHeselmans ๏ Doing IBM® Notes® Development &
 Project Mgt. for over 20 years! ๏ Independent consultant since 2001 for Xceed ๏ Coordinator of Engage (BLUG) past 6 years About myself @theoheselmans ๏ Head in the sand for too long ๏ Discovering there's a big world out there,
 and it's cool ๏ I like wine and other beverages too @TheoHeselmans
  • 21. @TheoHeselmans ๏ Hard core development ๏ XPages ๏ 1000 different Frameworks / Libraries ๏ Mega big applications What this is NOT about
  • 22. @TheoHeselmans ๏ IBM® Notes/Domino® as the ultimate CMS ๏ Building Responsive Hybrid Websites & Mobile Apps ๏ Real live implementations of a few Frameworks/Libraries ๏ Lessons learned ๏ A free Notes CMS database for you to experiment with What this IS about
  • 23. @TheoHeselmans ๏ IBM Notes & Domino is a cool 'Stack' ๏ Powerful (no-SQL) database ๏ Top-notch security ๏ Domino Access Service (DAS) for RESTful interfaces ๏ Flexible development platform ๏ Great Notes Client ๏ Proven and out of the box solution
 (but not free vs open source solutions) The Domino 'Stack' & HTML5 dev. ๏ Mobile HTML5 apps easy to create/test ๏ Android Chrome & iOS Safari remote debugging is a godsend ๏ Off line use of your apps is possible using manifest & localStorage
  • 24. @TheoHeselmans ๏ My Definition:
 Any set of CSS and/or JS code
 that do the dirty work for you ๏ Deal with cross-browser issues ๏ Responsive & mobile first design in mind ๏ Reusable components ๏ Split
 design - code - navigation - data What's a Framework / Library UI Architecture DOM๏ Layered schema: ๏ UI - Architecture - DOM ๏ Design - MVC - Supporting libs
  • 25. @TheoHeselmans ๏ Frameworks ๏ As much tailored to your
 (current) needs as possible ๏ Well documented ๏ Well maintained ๏ Broadly used/supported ๏ If MVC: REST support
 see John Dalsgaard REST services Requirements ๏ Your Skill set ๏ HTML(5) ๏ CSS(3) ๏ JavaScript ๏ Notes: ๏ Formula language ๏ LotusScript ๏ XPages ๏ Domino Access Service ๏ REST / JSON
  • 26. @TheoHeselmans ๏ Tough to choose ๏ Impossible to read/try them all ๏ 'Best of' lists are a good start and # of stars on GitHub ๏ Peers and Social Media are (often) your friends ๏ Keep your eyes open ๏ Don't dive into something new headfirst ๏ Let it mature and prove its value first ๏ Many die out after a year ๏ Do use 'helper' JS tools: jQuery, Underscore.js, Zepto.js A Gazillion frameworks and Libraries
  • 27. @TheoHeselmans The IBM Notes App: Content Management System ➡Quick Demo of the Website and the Notes App
  • 29. @TheoHeselmans ๏ A Front-End framework
 Bootstrap is a free collection of tools for creating websites and web applications.
 It contains HTML and CSS-based design templates for typography, forms, buttons,
 navigation and other interface components, as well as optional JavaScript extensions ๏ Examples & Demo: ๏ EY Topics ๏ Engage website ๏ Countries ๏ Screenshots and HTML ๏ The Good & the Bad Bootstrap ➡Bootstrap getbootstrap.com
  • 30. @TheoHeselmans ๏ EY Topics Bootstrap: Demo Screenshots ๏ Engage.ug
  • 31. @TheoHeselmans Bootstrap: Basic HTML (Part 1) <!DOCTYPE HTML><html> <head> <title>ConnectED 2015</title> <link rel="stylesheet" href="/mydb.nsf/css/bootstrap.min.css"> </head> <body>
  • 32. @TheoHeselmans Bootstrap: Basic HTML (Part 2) <!-- Fixed navbar --> <nav id="nav" class="navbar navbar-default navbar-fixed-top"> <div class="container"> <div class="navbar-header"> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar"> <span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span> </button> <a class="navbar-brand" href="/mydb.nsf/">ConnectED 2015</a> </div> <div id="navbar" class="collapse navbar-collapse"> <ul class="nav navbar-nav navbar-right"> <li><a href="/mydb.nsf/pages/-home">Home</a></li> <li><a href="/mydb.nsf/pages/bootstrapabout">About</a></li> </ul> </div> </div> </nav>
  • 33. @TheoHeselmans Bootstrap: Basic HTML (Part 3) <!-- Begin page content --> <div class="container"> Main Content goes here </div> <!-- Bootstrap & JQuery core JavaScript --> <script src="/mydb.nsf/js/jquery-1.11.1.min.js"></script> <script src="/mydb.nsf/js/bootstrap.min.js"></script> </body> </html>
  • 34. @TheoHeselmans ๏ The Good ๏ August 2010: Twitter released Bootstrap as open source. ๏ GitHub: over 90,000 stars
 more than 38,000 forks
 over 650 contributors ๏ Regular updates: current version 3.3.6 ๏ Many interface components ๏ Excellent documentation, and many templates ๏ Easy to get started and implement ๏ Broadly used Bootstrap: the good and the bad ๏ The Bad ๏ Broadly used ๏ Not an MVC model: only UI ➡Tip: Bootstrap for XPages
  • 36. @TheoHeselmans ๏ A Front-End framework
 Ratchet.js is used to build mobile apps with simple HTML‚ CSS‚ and JS components ๏ Examples & Demo: ๏ Kemin Industries: Lysoforte ๏ Countries ๏ Why I changed my mind! ๏ Screenshots and HTML ๏ The Good & the Bad Ratchet.js ➡Ratchet.js goratchet.com
  • 37. @TheoHeselmans Ratchet.js: Demo Screenshots ๏ Kemin Industries: Lysoforte ®
  • 38. @TheoHeselmans Ratchet.js: Basic HTML (Part 1) <!DOCTYPE HTML><html> <head> <title>ConnectED 2015</title> <!-- Include the compiled Ratchet CSS --> <link href="/mydb.nsf/css/ratchet.min.css" rel="stylesheet"> <!-- Include the compiled Ratchet JS--> <script src="/mydb.nsf/js/ratchet.min.js"></script> </head> <body>
  • 39. @TheoHeselmans Ratchet.js: Basic HTML (Part 2) <header class="bar bar-nav"> <a class="icon icon-home pull-left" href="#"></a> <a class="icon icon-compose pull-right"></a> <a href="#myNavbar"> <h1 class="title">Welcome to Ratchet</span></h1> </a> </header> <!-- Wrap all non-bar HTML in the .content div (this is actually what scrolls) --> <div class="content"> Main Content here </div>
  • 40. @TheoHeselmans Ratchet.js: Basic HTML (Part 3) <nav class="bar bar-tab"> <a class="tab-item" href="home"> <span class="icon icon-home"></span><span class="tab-label">Home</span> </a> <a class="tab-item" href="about"> <span class="icon icon-person"></span><span class="tab-label">About</span> </a> <a class="tab-item" href="countries"> <span class="icon icon-list"></span><span class="tab-label">Countries</span> </a> </nav> <script src="/mydb.nsf/js/jquery-1.11.1.min.js"></script> </body> </html>
  • 41. @TheoHeselmans Ratchet.js: the good and the bad ๏ The Good ๏ GitHub: almost 12,000 stars
 and over 1,300 forks ๏ Easy to implement ๏ Current version 2.02 ๏ Separate themes for Android and iOS ๏ All basic mobile User Interface components ๏ Nice documentation ๏ The Bad ๏ Relatively young (early 2013) ๏ Little evolution ๏ Limited number of supported browsers: Android default and Chrome, iOS Safari ๏ Only touch support: difficult to test in desktop browsers ๏ Intercepts links ๏ Not an MVC model: only UI
  • 43. @TheoHeselmans ๏ A JavaScript library
 Backbone.js is a JavaScript library with a RESTful JSON interface
 and is based on the model–view–presenter (MVP) application design paradigm
 (MVP is a derivative of the model–view–controller (MVC)) ๏ Examples & Demo: ๏ mSurvey for a major Navy ๏ Countries ๏ Did it stick ? ๏ Screenshots, Code and HTML ๏ The Good & the Bad Backbone.js ➡Backbone.js backbonejs.org Model Controller View Updates User Events Events Updates
  • 45. @TheoHeselmans Backbone.js: Code (Part 1) // MODEL var Country = Backbone.Model; // COLLECTION var CountryCollection = Backbone.Collection.extend({ model: Country, url: '../GetCountries?openagent' //url that returns a correct JSON string //url: '../api/data/collections/name/countries?count=300' //or use the view via DAS });
  • 46. @TheoHeselmans Backbone.js: Code (Part 2) // VIEW var CountryView = Backbone.View.extend ({ el: '#countrydiv', template: _.template($('#country-template').html()), initialize: function () { countryList.fetch({ //fetch the data success: function() { //if successful, render them in the DOM countryView.render(); } }) }, render: function () { //render the countries using the template this.$el.html(this.template({countries: countryList.models})); return this; } });
  • 47. @TheoHeselmans Backbone.js: Code (Part 3) // RUN IT var countryList = new CountryCollection(); //create the collection var countryView = new CountryView(); //create the view
  • 48. @TheoHeselmans Backbone.js: HTML (Part 4) <!-- Target DIV --> <div id="countrydiv></div> <!-- Template --> <script type="text/template" id="country-template"> <div class="table-responsive"> <table class="table table-striped"> <thead><tr><th>Country</th><th>Capital</th></tr></thead> <tbody> <% _.each(countries, function(Country) { %> <tr> <td><%= Country.get("country") %></td> <td><%= Country.get("capital") %></td> </tr> <% }); %> </tbody></table></div> </script>
  • 49. @TheoHeselmans Backbone.js: the good and the bad ๏ The Good ๏ GitHub: over 23,000 stars
 and more than 5,000 forks ๏ Good documentation ๏ Tiny in size (<7 kb) ๏ Nice integration with Underscore.js,
 especially for templates ๏ Routing is easy ๏ Widely used
 (e.g. AirBnb, USA Today, Rdio, Hulu, Foursquare) ๏ REST support ๏ The Bad ๏ Totally different concept ๏ Steeper learning curve ๏ Decent knowledge of JS required ๏ No data binding ๏ MVC model only: no UI
  • 51. @TheoHeselmans ๏ A JavaScript Framework
 Knockout is a standalone JavaScript implementation of the Model-View-ViewModel pattern
 with templates. The underlying principles are therefore:
 • a clear separation between domain data, view components and data to be displayed
 • the presence of a clearly defined layer of specialized code
 to manage the relationships between the view components ๏ Examples & Demo: ๏ Countries ๏ mSurvey ๏ Wine Tasting CRUD ๏ Screenshots, Code and HTML ๏ The Good & the Bad Knockout.js ➡Knockout.js knockoutjs.com Model ViewModel View Data Binding Commands
  • 53. @TheoHeselmans Knockout.js: Country Code VMMV (Part 1) function AppViewModel() {
 var self = this;
 self.countries = ko.observableArray([]); //create empty observable Array
 
 $.getJSON("../GetCountries?openagent", function(data) { //get JSON of all countries
 self.countries(data);
 });
 self.continents = ... //removed the code to get the unique list of continents from the countries
 self.filteredCountries = function(cont) { //function to get countries for 1 continent only
 return ko.utils.arrayFilter(self.countries(), function(country) {
 return (country.continent === cont);
 });
 };
 }
 ko.applyBindings(new AppViewModel());
  • 54. @TheoHeselmans Knockout.js: Country Code HTML (Part 2) <!-- Tab panes --> <div class="tab-content" data-bind="template: { name: 'continent-template', foreach: continents }"> </div>
  • 55. @TheoHeselmans Knockout.js: Country Code Templates (Part 3) <script type="text/html" id="continent-template">
 <div class="table-responsive">
 <table class="table table-striped table-condensed">
 <thead><tr><th>Country</th><th>Capital</th></tr></thead>
 <tbody data-bind="template: { name: 'country-template', foreach: $root.filteredCountries($data) }"> </tbody>
 </table>
 </div>
 </script> 
 <script type="text/html" id="country-template">
 <tr> <td data-bind="text: country"></td><td data-bind="text: capital"></td> </tr>
 </script>
  • 56. @TheoHeselmans Knockout.js: Tasting Code //trigger an AJAX request to get tastings when the main country selection changes
 self.maincountry.subscribe( function(newValue) {
 $.getJSON('../api/data/collections/name/tastings?count=50&keys=' + newValue, function(data) {
 var mappedTastings = $.map(data, function(item) { return new Tasting(item); });
 self.tastings(mappedTastings);
 });
 }); //part of Saving Code: existing record, so update it (use patch, not post!)
 self.saveTasting = function () { $.ajax(thistasting.updatelink.href, {
 data: ko.toJSON(thistasting), 
 type: "patch", contentType: "application/json",
 success: function(result) { void(0); }
 });} };

  • 57. @TheoHeselmans Knockout.js: the good and the bad ๏ The Good ๏ GitHub: over 7,000 stars
 and 1,200+ forks ๏ Good documentation and
 Interactive tutorials/examples ๏ Data binding (including attributes) ๏ Automatic UI refresh ๏ Built-in Templating ๏ Mapping via plugin ๏ REST support ๏ The Bad ๏ Different concept ๏ Steeper learning curve ๏ Decent knowledge of JS required ๏ Routing not provided ๏ MVVM model only: no UI
  • 58. @TheoHeselmans ๏ 12 Useful JavaScript Resources and Tools smashingapps.com ๏ 35 Best HTML5 Development Tools To Save Your Time smashingapps.com ๏ Javascript Frameworks Comparison:
 Angular, Knockout, Ember and Backbone slideshare.net ๏ ToDoMVC (Helping you select an MV* framework) todomvc.com ๏ Rich JavaScript Applications (the 7 Frameworks) blog.stevensanderson.com ๏ Top 50 Developer Tools & Services of 2014 stackshare.io ๏ The Most Trending JavaScript Frameworks & Libraries savedelete.com ๏ A Poll of Modern Frontend Web Developer’s Preferred Tools webdesignledger.com A few interesting Links
  • 59. @TheoHeselmans ๏ Try out different frameworks/Libraries ๏ None of them is ideal ๏ Use the best solution for the job ๏ (Major) version upgrades are usually not backwards compatible ๏ Frameworks/Libraries create code lock-ins ๏ Choose wisely
 ๏ Don't bury your head in the sand
 Parting words Be productive and have fun !
  • 60. Questions???? 8 Use the Orange Arrow button to expand the GoToWebinar panel Then ask your questions in the Questions panel! Remember, we will answer your questions verbally
  • 61. #XPages @TheoHeselmans @TLCCLtd @Teamstudio @PaulDN Upcoming Events:  Connect, Orlando – Jan. 31 to Feb. 3  IBM InterConnect, Las Vegas, NV - Feb 21 to 25th  Inform 2016 in Sydney, Australia – March 10 to 11th  Engage, Eindhoven, the Netherlands – Mar. 23 to 24  EntwicklerCamp, Gelsenkirchen, Germany – April 11 to 13 Question and Answer Time! 9 Teamstudio Questions? contactus@teamstudio.com 978-712-0924 TLCC Questions? howardg@tlcc.com paul@tlcc.com 888-241-8522 or 561-953-0095 Howard Greenberg Courtney Carter Theo Heselmans Paul Della-Nebbia Save Hundreds with TLCC’s End of Year Sale!!!!