Developing rich internet applications
Download
1 / 32

Developing Rich Internet Applications - PowerPoint PPT Presentation


  • 181 Views
  • Uploaded on

Developing Rich Internet Applications. Walter Higgins. Definition. “Rich Internet Applications (RIA) are web applications that have the features and functionality of traditional desktop applications.” – Wikipedia.org. RIA Technologies. JavaScript MacroMedia Flash Player (plug-in required)

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Developing Rich Internet Applications' - gaston


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

Definition
Definition

“Rich Internet Applications (RIA) are web applications that have the features and functionality of traditional desktop applications.” – Wikipedia.org


Ria technologies
RIA Technologies

  • JavaScript

  • MacroMedia Flash Player (plug-in required)

  • Java Applets (plug-in required)



Perl

"When we were young, we were told that 'Everybody else is doing it' was a really stupid reason to do something. Now it's the standard reason for picking a particular software package." -- Barry Gehm



Dynamic languages
Dynamic Languages

  • No compilation required

  • Rich Object Literals

  • Greater Productivity

  • Less Code


Rich object literals perl
Rich Object Literals (Perl)

my $object = {name => ‘Walter Higgins’,

dept => ‘Software Engineering’,

date_of_birth => {day => 3,

month => 3,

year => 1971},

projects => [‘Manhattan’, ‘Guernica’]

};



DSLs

  • Languages created to solve a specific problem

  • Blur the line between code and data/configuration.

    “A DSL is all about moving up in abstraction until your code directly reflects the high-level concepts you're working in.” - Peter Harkins


Dsl example rake
DSL example (Rake)

file 'build/dev/rake.html' => 'dev/rake.xml' do |t|

require 'paper'

maker = PaperMaker.new t.prerequisites[0], t.name

maker.run

end




Rich object literals javascript otherwise known as json
Rich Object Literals (JavaScript)(otherwise known as JSON)

var object = {name: “Walter Higgins”,

dept: “Software Engineering”,

date_of_birth: {day: 3,

month: 3,

year: 1971},

projects: [“Manhattan”, “Guernica”]

};


Unobtrusive javascript
Unobtrusive Javascript

Before:

<ul>

<li>

<a href="#" onclick="window.open('link1.html')">

my link #1

</a>

</li>

<li>

<a href="#" onclick="window.open('link2.html')">

my link #2

</a>

</li>

</ul>

After:

<ul id="popups">

<li>

<a href="link1.html">my link #1</a>

</li>

<li>

<a href="link2.html">my link #2</a>

</li>

</ul>


Unobtrusive javascript1
Unobtrusive Javascript

// get the popups list

var popupList = document.getElementById('popups');

// get all of the links in the list

var popupLinks = popupList.getElementsByTagName('a');

for (var i = 0;i < popupLinks.length; i++)

{

// add an onclick handler for each link

popupLinks[i].onclick = function(){

window.open(this.href);

};

}



Xmlhttprequest
XMLHTTPRequest

(Javascript’s secret sauce)





Data not pages
Data(Not Pages)


Xml json
XML & JSON

JSON:

{status: “OK”,

image: “cache/1_acdead.jpg”,

uncompressed: “cache/1_acdeadWorking.jpg”

}

XML:

<?xml version="1.0" ?>

<response status=“OK”>

<image>

cache/1_acdead.jpg

</image>

<uncompressed>

cache/1_acdeadWorking.jpg

</uncompressed>

</response>


Rich enterprise applications
Rich Enterprise Applications

  • Live Tables

  • Sortable and column-draggable tables

  • Lazy Combo-boxes






Conclusion
Conclusion

  • Dynamic languages on the server.

  • Think in terms of Data – not pages.

  • Javascript/CSS/HTML/DOM is ‘good enough’ for most applications.


ad