Blood on the keyboard
This presentation is the property of its rightful owner.
Sponsored Links
1 / 29

Blood on the Keyboard PowerPoint PPT Presentation


  • 48 Views
  • Uploaded on
  • Presentation posted in: General

Blood on the Keyboard. Experiences in developing Rich Internet Applications. Brendan Lawlor, DSI. Decare Systems Ireland. Based in Bishopstown, Cork. 150+ 140+ actually writing code for a living Java and .NET Enterprise Intranet Applications E-commerce Internet Applications. Themes.

Download Presentation

Blood on the Keyboard

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Blood on the keyboard

Blood on the Keyboard

Experiences in developing

Rich Internet Applications.

Brendan Lawlor, DSI.


Decare systems ireland

Decare Systems Ireland

  • Based in Bishopstown, Cork.

  • 150+

  • 140+ actually writing code for a living

  • Java and .NET

  • Enterprise Intranet Applications

  • E-commerce Internet Applications


Themes

Themes

  • Rich Internet Application development

  • Creative Development, XHTML, CSS, Javascript.

  • AJAX – a small but vital part of RIA development.

  • DSI’s experience in building RIAs.


Ria philosophy before

RIA Philosophy: Before

Javascript Sucks


Ria philosophy after

RIA Philosophy: After

Javascript Still Sucks

-but DOJO makes it a lot less sucky


Why dojo

Why DOJO?

We needed a safer way to use Javascript.

JSF ?


The ria platform

JSF

The RIA Platform

GWT

DOJO

CSS

XHTML

JS

Browser


What is dojo

What is DOJO?

  • It is a set of JavaScript libraries

  • Handles browser incompatibilities

  • Hides XMLHttpRequest processing

  • Provides for the building of Widgets

  • AOP in JavaScript!


Dojo packages

DOJO packages

  • dojo.widget

  • dojo.event

  • dojo.io

dojo.require(“dojo.widget.*”);


Dojo libraries dojo widget

DOJO Libraries: dojo.widget

<select class=“cb”>

<option value=“Java">java</option>

<option value=“Script">script</option>

<option value=“Still">still</option>

<option value=“Sucks">sucks</option>

</select>


Combobox html

ComboBox.html

<select class=“cb” dojoType=“ComboBox”>

<option value=“Java">java</option>

<option value=“Script">script</option>

<option value=“Still">still</option>

<option value=“Sucks">sucks</option>

</select>


Combobox css

ComboBox.css

.cb{

position: relative; top: 0px;

}


Combobox js

ComboBox.js

dojo.provide(“ComboBox");

dojo.widget.defineWidget( “ComboBox”,

templatePath:/ComboBox.html

templateCssPath:/ComboBox.css

//Event-Driven Behaviour


Creating the widget

Creating the Widget

<div dojoType=“ComboBox">


Dojo packages1

DOJO packages

  • dojo.widget

  • dojo.event

  • dojo.io


Dojo libraries dojo event

DOJO Libraries: dojo.event

  • RIA = component-based, event-driven

  • JS Events = cross-browser hell

  • DOJO = cross-browser event management

  • Also abstracts over all events.


Dojo packages2

DOJO packages

  • dojo.widget

  • dojo.event

  • dojo.io


Dojo libraries dojo io

DOJO Libraries: dojo.io

  • Abstracts the XMLHttpRequest

  • Everything is a ‘bind’

dojo.io.bind({

url: "http://foo.bar.com/read",

load: function(type, data, evt){ /*read something*/},

mimetype: "text/json“

formNode: dojo.byId(“myForm”)

});


How we use dojo

How we use DOJO


Natural habitats

Natural Habitats

We have a dedicated creative team:

  • No advantage of Java over Javascript.

  • They could work on both server platforms using DOJO alone.

  • Unity of platform gives unity of standards.


Dojo and presentation process

DOJO and Presentation Process.

Pictures

Wireframes

WF & data


Our dojo architecture

JS Controller

read.json

Read

read.json

Edit

Controller

edit.json

.html

Search

Struts Actions

Our DOJO Architecture


Summary

Summary

  • What we liked

  • What we hated

  • What we’re gonna do about it

  • What we wish somebody else would do


What did we like

What did we like?

  • Easy access for our creative staff

  • Very little change from Struts actions downwards

  • JS widgets are more easily reusable

  • Client development without the server!


Look ma no server

read.json

read.json

read.json

C:\test

.html

Look Ma – No Server!


What did we dislike

What did we dislike?

  • Widgets on Internet Explorer 6

  • DOJO 0.3 and IE6: a match made in Hell

  • Irresistible force meets immovable object


What next

What Next?

  • DOJO 0.9 just released

  • Hopefully will deal with IE6 problem


Final thoughts

Final thoughts

  • Just another view on how to write RIAs.

  • Not an attempt to say that DOJO is better.

  • Whatever framework we use, we need to live with JS.

  • Would somebody write a JS GUI builder already!?


Resources and credits

Resources and Credits

  • DSI: Paul Sheehan, Michal Bali, Conor Goulding

  • Sun: Sang Shin (Introduction to Dojo Toolkit)

  • http://dojotoolkit.org

  • http://blog.decaresystems.ie


  • Login