jquery - the world's most popular java script library comes to xpages

43
© 2013 IBM Corporation BP103 jQuery - The world's most popular JavaScript library comes to XPages Dr. Mark Roden Senior Consultant, PSC Group LLC

Upload: mark-roden

Post on 24-Jun-2015

8.811 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: jQuery - the world's most popular java script library comes to XPages

© 2013 IBM Corporation

BP103 jQuery - The world's most popular JavaScript library comes to XPages

Dr. Mark RodenSenior Consultant, PSC Group LLC

Page 2: jQuery - the world's most popular java script library comes to XPages

About Marky

Over 15 years IBM Notes Domino® work

Senior Consultant at PSC Group• XPages Developer • Project Leader• jQuery Specialist

Contact Information– Blog: http://www.xomino.com– Email: [email protected]– Twitter: @markyroden– Skype: marky.roden

www.psclistens.com @pscgroup

Page 3: jQuery - the world's most popular java script library comes to XPages

Agenda

What is jQuery?

What about Dojo? When should I use jQuery?

How does jQuery work?

How do I add jQuery to my XPages?

What are jQuery plugins?

How can jQuery plugins solve my requirements

Page 4: jQuery - the world's most popular java script library comes to XPages

Agenda

What is jQuery?

What about Dojo? When should I use jQuery?

How does jQuery work?

How do I add jQuery to my XPages?

What are jQuery plugins?

How can jQuery plugins solve my requirements

Page 5: jQuery - the world's most popular java script library comes to XPages

What is jQuery anyway?

A JavaScript library which simplifies the common every day web development tasks of Document Model manipulation, event handling, animation and AJAX/JSON

Created: June 2006 by John Resig

Removes browser dependencies

Open Source (MIT License)

Page 6: jQuery - the world's most popular java script library comes to XPages

What is jQuery anyway?

60% of world’s top 10,000 websites use jQuery http://trends.builtwith.com/javascript (*Dec 2012)

        Used by Microsoft .Net v4 as part of the ASP.NET AJAX framework        Some websites you probably know using jQuery       

Amazon Google        Twitter Dell        Wordpress Bank of America        Stackoverflow Drupal        BestBuy Wordpress

Page 7: jQuery - the world's most popular java script library comes to XPages

What is jQuery anyway?

Core– Document Model (DOM) Manipulation– Simple Animations

UI– Pre-packages functional capabilities– Analogous to Dojo Widgets

Mobile– A unified, HTML5-based user interface system for all popular mobile device platforms, built on the rock-solid jQuery and jQuery UI foundation.

Page 8: jQuery - the world's most popular java script library comes to XPages

Agenda

What is jQuery?

What about Dojo? When should I use jQuery?

How does jQuery work?

How do I add jQuery to my XPages?

What are jQuery plugins?

How can jQuery plugins solve my requirements

Page 9: jQuery - the world's most popular java script library comes to XPages

What about Dojo? When should I use jQuery?

Dojo and jQuery have the same basic premise:– Browser compatibility / Code simplification

Many similar capabilities.– DOM manipulation– Widgets (Date pickers, sliders etc)

Many differences– Dojo intended for larger client applications– jQuery intended to make coding as easy as possible

Page 10: jQuery - the world's most popular java script library comes to XPages

Where’s the balance?

Many factors determine the balance– Network connectivity– Functional requirements– Developmental experience with Dojo/jQuery– Project timeline– Maintainability of the application– jQuery v2.0 (future) will not support IE<9• “The entire jQuery core team instantly became giddy as they started

ripping out oldIE support for jQuery 2.0.” 17 Dec 2012 - Scott González (jQuery contributor)

Page 11: jQuery - the world's most popular java script library comes to XPages

Don’t use jQuery when….

There isn’t a justifiable reason to use it

jQuery is an additional download (~94k)– Version 1.8 does allow for exclusion of code which is not

necessary

When not to use jQuery :– Simple DOM manipulation– To provide functionality which is already provided by Dojo

Widgets– To determine runtime events in the onLoad event– If you are using OneUI (*not for beginners)– Because you don’t want to learn Dojo

Page 12: jQuery - the world's most popular java script library comes to XPages

Use jQuery when……

Enhanced functionality not provided by Dojo– Specific jQuery or jQuery UI functionality– Specific Animation requirements– Broader browser compatibility

The business plan supports jQuery usage

The requirements are best suited to a jQuery solution

>>>>> The Plugin Community <<<<

Page 13: jQuery - the world's most popular java script library comes to XPages

Agenda

What is jQuery?

What about Dojo? When should I use jQuery?

How does jQuery work?

How do I add jQuery to my XPages?

What are jQuery plugins?

How can jQuery plugins solve my requirements

Page 14: jQuery - the world's most popular java script library comes to XPages

How does jQuery work - API References

Example API reference methods and propertieshttp://api.jquery.com

API references  Examples

Selectors (“ELEMENT”) (“.class”) (“#idTag”)

Attributes     .attr() .html() .toggleClass()Traversing     .children() .closest() .find() Manipulation   .appendTo() .css() .val() CSS           .height() .position() .width() Events         .blur() .bind() .keypress() Effects       .animate() .fadeIn() .slideToggle()Ajax           .get() .getJSON() .serialize() Utilities     .grep() .each() .inArray() Internals     .error() .pushStack() .context()

Page 15: jQuery - the world's most popular java script library comes to XPages

Select and conquer

1) Select the DOM elements you wish to affect

$(‘.myClass’)

2) Concatenate the API reference to use

$(‘.myClass’).css(‘display’, ‘none’)

3) Execute

Select all elements with a class “myClass”

Set the display style to none

Page 16: jQuery - the world's most popular java script library comes to XPages

Chaining

All methods/properties return a jQuery object– Allows for chaining of *all* other API references

$("p") .find(":contains('t')") .css('color','red')

Advantages– Object reuse: Lower memory consumption and faster– Shorter more manageable code – Easier syntax for beginners – Easy plugin creation

Select All Paragraph nodesWithin each node find all words containing the letter t

Color those matches red

Page 17: jQuery - the world's most popular java script library comes to XPages

Agenda

What is jQuery?

What about Dojo? When should I use jQuery?

How does jQuery work?

How do I add jQuery to my XPages?

What are jQuery plugins?

How can jQuery plugins solve my requirements

Page 18: jQuery - the world's most popular java script library comes to XPages

Adding jQuery to the application

jQuery is a Client Side JavaScript library– Can be added to the application– Can be referenced externally to the database

jQuery plugins contain images and style sheets– A complete miniaturized application– More than just JavaScript Code– Could be complicated to maintain if all files were added as resources

Page 19: jQuery - the world's most popular java script library comes to XPages

Adding jQuery to the database

Download the jQuery library– http://jquery.com– Save in a “js” folder on your computer

Page 20: jQuery - the world's most popular java script library comes to XPages

Adding jQuery to the database

Don’t add it to the database as a file resource

Don’t add it to the database as a js library

Domino Designer in Eclipse (DDE) reads and processes resources

– More time consuming (slows DDE)

Less maintainable

Page 21: jQuery - the world's most popular java script library comes to XPages

Adding jQuery to the database

The WebContent folder– Acts like the root folder within your database– All files referenced to the .nsf/ in the URL– Much easier to maintain files in one place– Makes jQuery plugin management much easier

Page 22: jQuery - the world's most popular java script library comes to XPages

Adding jQuery to the database

Drag and Drop the js folder into WebContent

Page 23: jQuery - the world's most popular java script library comes to XPages

Adding jQuery to the application

Directly added to the XPage source panel

<script type="text/javascript" src="js/jquery-1.8.3.min.js"></script>

Page 24: jQuery - the world's most popular java script library comes to XPages

Adding jQuery to the application

Through a Theme<resource>

<content-type>application/x-javascript</content-type>

<href>js/jquery-1.8.3.min.js</href>

</resource>

Page 25: jQuery - the world's most popular java script library comes to XPages

Adding jQuery to your XPages - Example

Modernizing a notes view

Page 26: jQuery - the world's most popular java script library comes to XPages

Adding User interactivity

Add a basic viewPanel control to your XPage

An un-styled viewPanel

Functional but not aesthetically pleasing

Page 27: jQuery - the world's most popular java script library comes to XPages

Adding User interactivity - demonstration

Using jQuery, user interactivity can be added to a viewPanel to make it more functional and improve the user experience.

http://bit.ly/MarkyIC13Demo

The following link has an example of the demonstration

Page 28: jQuery - the world's most popular java script library comes to XPages

Agenda

What is jQuery?

What about Dojo? When should I use jQuery?

How does jQuery work?

How do I add jQuery to my XPages?

What are jQuery plugins?

How can jQuery plugins solve my requirements

Page 29: jQuery - the world's most popular java script library comes to XPages

jQuery plugins

Extensions of the jQuery API code base

The plugin is called in the same was as a normal API reference

$(‘.myClass’).doSomething()

To achieve the desired functionality additional resources are often necessary

– CSS– Images– Other JavaScript files

Page 30: jQuery - the world's most popular java script library comes to XPages

jQuery plugins

Additional JavaScript Libraries– May also include • Images• CSS

– Added to your XPage database through WebContent folder as before

Page 31: jQuery - the world's most popular java script library comes to XPages

31

jQuery plugins - example

Joyride.js – Website feature tour

– Requirement: • Provide a visual cue for website users

to the new features available• Make it simple to use• Make it one time only

Page 32: jQuery - the world's most popular java script library comes to XPages

32

jQuery plugins - example

Joyride – Website feature tour

By clicking a button users are guided around the new website

Page 33: jQuery - the world's most popular java script library comes to XPages

33

jQuery plugins - example

Joyride – Website feature tour

All the properties available with the Joyride plugin

Page 34: jQuery - the world's most popular java script library comes to XPages

jQuery plugins

For more information on how to add a jQuery plugin to your database:

Notes in 9 Episode 74– Getting started with jQuery Plugins in XPages

http://bit.ly/Nin9Ep74

Page 35: jQuery - the world's most popular java script library comes to XPages

Agenda

What is jQuery?

What about Dojo? When should I use jQuery?

How does jQuery work?

How do I add jQuery to my XPages?

What are jQuery plugins?

How can jQuery plugins solve my requirements

Page 36: jQuery - the world's most popular java script library comes to XPages

Functionality in a box

Yesterday your boss could have said:–“I need a slideshow adding to the website by tomorrow, needs to

allow users to see thumbnails and cycle through them quickly…..”

You would have panicked

You could have remembered Google is your friend..

and found a great reference on jQuery slideshows

http://speckyboy.com/2009/06/03/15-amazing-jquery-image-galleryslideshow-plugins-and-tutorials/

You would then have responded: “Which one sir?”

Page 37: jQuery - the world's most popular java script library comes to XPages

Functionality in a box

Over 3000 jQuery plugins created and registered

Charting Modal WindowForm Validation MobileResponsive Layouts Web TypographySliders AnimationGalleries TablesCarousels Form Select and ComboTime and Date Pickers

And almost all of them are FREE

Page 38: jQuery - the world's most popular java script library comes to XPages

Demonstrations

Demonstrations of jQuery plugins in XPages can be found at:

http://www.xomino.com/IBMConnect13Demo

http://demo.xomino.com

Page 39: jQuery - the world's most popular java script library comes to XPages

Questions and Answers

http://www.xomino.com

http://demo.xomino.com

twitter: @MarkyRoden

Please don’t forget to do your evaluations

Page 40: jQuery - the world's most popular java script library comes to XPages

40 © 2013 IBM Corporation

Legal disclaimer

© IBM Corporation 2013. All Rights Reserved.

The information contained in this publication is provided for informational purposes only. While efforts were made to verify the completeness and accuracy of the information contained in this publication, it is provided AS IS without warranty of any kind, express or implied. In addition, this information is based on IBM’s current product plans and strategy, which are subject to change by IBM without notice. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, this publication or any other materials. Nothing contained in this publication 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.

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. Product release dates and/or capabilities referenced in this presentation may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. 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.

Page 41: jQuery - the world's most popular java script library comes to XPages
Page 42: jQuery - the world's most popular java script library comes to XPages

Extra Slides

Page 43: jQuery - the world's most popular java script library comes to XPages

Resources

www.jquery.com        Download the latest version        Review the documentation        Look through the Tutorials        www.jqueryui.com        Fantastic working examples/code        Themebuilder        www.jquerymobile.com        Documentation        Example code        Example builder

www.stackoverflow.com (*Jan 2013)

        ~267,000 questions/answers tagged jQuery !        (~4,300 questions tagged Dojo)        (~950 questions tagged XPages)