24
® BP311 The Great Code Giveaway! Web 2.0 Edition Rob Novak, President Viktor Krantz, Senior Software Engineer SNAPPS

The Great Code Giveaway! Web 2.0 Edition Web 2.0 Edition

Embed Size (px)

Citation preview

Page 1: The Great Code Giveaway! Web 2.0 Edition  Web 2.0 Edition

®

BP311The Great Code Giveaway! Web 2.0 Edition

Rob Novak, PresidentViktor Krantz, Senior Software EngineerSNAPPS

Page 2: The Great Code Giveaway! Web 2.0 Edition  Web 2.0 Edition

Agenda

� Toolkits and libraries and RIAs, oh my

� Introduce some popular open-source toolkits

� Put them into context (what do they do, who makes them, etc.)

� Map to obvious Domino integration possibilities

� Show a few examples

� Show one massive example

� Give it to you

Page 3: The Great Code Giveaway! Web 2.0 Edition  Web 2.0 Edition

Our Goal

We want you to say WOW.

We want you to say “I had no idea I could do that”

We want your boss and users to say “THAT’S DOMINO?!?!?”

Page 4: The Great Code Giveaway! Web 2.0 Edition  Web 2.0 Edition

First, We Make an Assumption

� There are two major paths to Rich Internet Applications (RIA):

Adobe Flex Ajax

(apologies to P&G)

Page 5: The Great Code Giveaway! Web 2.0 Edition  Web 2.0 Edition

Kinds of “Toolkits”, “Frameworks”, “RIAs” – Whatever!!!!

Time Savings in Development, Investment in Learning

Siz

e o

f Pro

ject

Libraries

Toolkits

RIA

Frameworks

Frameworks

Page 6: The Great Code Giveaway! Web 2.0 Edition  Web 2.0 Edition
Page 7: The Great Code Giveaway! Web 2.0 Edition  Web 2.0 Edition

Prototype: What is it?

� Base framework for building other frameworks

� Toolkit for class-driven development

� Shortcuts (like using $ vs. document.getelementbyID)

� A codebase for script.aculo.us and Rico

What’s in it for a Domino developer?

� Shortcuts for Ajax development

� Easily included in Domino projects, a single file, prototype.js

� Use the shortcuts, or use a dependent framework

Page 8: The Great Code Giveaway! Web 2.0 Edition  Web 2.0 Edition
Page 9: The Great Code Giveaway! Web 2.0 Edition  Web 2.0 Edition

Rico: What is it?

� Ajax support framework (XMLHttpRequest broker)

� Drag & drop controls

� Cinematic effects

� “Behaviors”

What’s in it for a Domino developer?

� Mostly UI controls – fun stuff to make it pretty…

� Nice “accordion” control

� Lightweight, easy to include in a Domino database

Page 10: The Great Code Giveaway! Web 2.0 Edition  Web 2.0 Edition
Page 11: The Great Code Giveaway! Web 2.0 Edition  Web 2.0 Edition

script.aculo.us: What is it?

� Animation framework

� Drag & drop controls

� Ajax controls

� DOM utilities

� Unit testing

What’s in it for a Domino developer?

� Mostly UI controls – fun stuff to make it pretty…

� Some Ajax handling

Page 12: The Great Code Giveaway! Web 2.0 Edition  Web 2.0 Edition
Page 13: The Great Code Giveaway! Web 2.0 Edition  Web 2.0 Edition

MooTools: What is it?

� Modular, object-oriented JavaScript framework

� 15 scripts

� Effects (moo.fx), Ajax (moo.ajax) and a DOM navigator (moo.dom), drag and drop, sortable lists, cookie manager,

� Extensible and able to be used as a codebase

What’s in it for a Domino developer?

� More full-featured with more scripts, but still easy to deploy

� Object-oriented to help transition the LotusScript or Java developer to Ajax

� Usable as a codebase, such as with SmoothGallery

Page 14: The Great Code Giveaway! Web 2.0 Edition  Web 2.0 Edition
Page 15: The Great Code Giveaway! Web 2.0 Edition  Web 2.0 Edition

SmoothGallery: What is it?

� A really cool photo management and browse toolkit

� Based on MooTools

� Standards compliant, cross-browser alternative to Flash presentation

� Lightweight, 16k

What’s in it for a Domino developer?

� If you have pictures, this is just entirely too cool to ignore

� Build an image upload application, or grab one from SNAPPS or openNTF.org

� Add this toolkit to it, create pages with dynamic photo sources (from views)

� Excellent presentation layer for employee photos, product shots, great for use in blogs, etc.

Page 16: The Great Code Giveaway! Web 2.0 Edition  Web 2.0 Edition
Page 17: The Great Code Giveaway! Web 2.0 Edition  Web 2.0 Edition

Backbase: What is it?

� Rich Internet Application framework

� Full featured UI development

� Struts, JSF and Client editions (so you can see Java developers getting interested)

� Lots of examples

What’s in it for a Domino developer?

� A little hard to decide, it’s so all-encompassing and targeted to PHP developers

� Forums indicate a few users on Domino (including us)

� Very nice layout and organization controls (i.e. tabbed tables)

� Good candidate for converting view data or use in pages with embedded views or computed fields

Page 18: The Great Code Giveaway! Web 2.0 Edition  Web 2.0 Edition
Page 19: The Great Code Giveaway! Web 2.0 Edition  Web 2.0 Edition

Dojo: What is it?

� Large, mature JavaScript framework and toolkit

� Supported by Dojo Foundation, including IBM

� “More than one guy”

� (new) Offline engine – used by offline GMail and Blogger

� Coming in QuickPlace 8, used in QWiki, QBlog, QDoc, and sessions in the AD track with Domino 8…

� WIDGETS

What’s in it for a Domino developer?

� Massively customizable, introduces “widgets” – which you can build

� Toolkit is compilable into smaller distributions, using just what you need

� We built 9 widgets for QBlog and QWiki’s rich text editor, and more for this presentation

� i18n is a major new component for internationalization

Page 20: The Great Code Giveaway! Web 2.0 Edition  Web 2.0 Edition

Domino and Dojo: Happy Together

� The data (one or multiple Domino calendars)

� Time zone array from $Preferences.nsf, the nsf that isn’t

� Code is in a Domino database Page design element

� Calendar script library, agent to support drag & drop

� Dojo base code on file system – performance!!!

� Dojo is available as a toolkit plugin for Eclipse…hmmm…

� Let’s see some form-based demos…wizardry….!

Page 21: The Great Code Giveaway! Web 2.0 Edition  Web 2.0 Edition

Key Points – Why Open Source & Domino Together?

� Someone smart has written a LOT of code for you

� It’s professional grade, even moreso through the process of community involvement and contribution

� The Domino integration points are easy to spot – views, calendars, forms, pages…

� Domino Designer IDE lends itself to simple integration

� Professional grade open source code requires professional grade developers – engage with them to make your applications shine!

� Don’t ignore Domino core capabilities, leverage them

Page 22: The Great Code Giveaway! Web 2.0 Edition  Web 2.0 Edition

Open Source Web 2.0 / Ajax Resources

� If you want to be mesmerized daily by options, check out Ajaxian.com –news site for all things Ajax

� developerWorks – 300+ articles on Ajax� Foundation: http://www-128.ibm.com/developerworks/web/library/wa-richiapp/index.html

� Follow Ajax blogs – several Domino guys & gals do it

� JMP301, HND104, AD401, AD402 presentations here at Lotusphere

� Get the goods:

downloads.snapps.com

Page 23: The Great Code Giveaway! Web 2.0 Edition  Web 2.0 Edition

It’s Time to Play…

Page 24: The Great Code Giveaway! Web 2.0 Edition  Web 2.0 Edition

Thank You

� Please remember to fill out your evaluation.

� We’re here all week – feel free to ask questions about your specific situations.

� Contact info:

[email protected]

[email protected]

http://www.snapps.com

http://www.LotusRockStar.com