The Great Code Giveaway! Web 2.0 Edition Web 2.0 Edition

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

Transcript of The Great Code Giveaway! Web 2.0 Edition Web 2.0 Edition

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