Tag Archives: ajax

Canned Wicket Examples Updated to Wicket 6

Posted on by

Today I decided to update my canned wicket test examples to the latest version of Wicket.

I still think Wicket is a really nice web framework for the following reasons, primarly.

  1. Hot deploy from the Maven archetype. The quick start setup offered from the Wicket site gives you “change-and-reload” out of the box.
  2. Unit testing framework built in. You test the logic of the web application without resorting to click simulation.
  3. HTML separation. Allows you to work in a tight loop with an interaction designer that can use any HTML editor.
  4. No need for JavaScript. Well, for the basic stuff at least. The examples here all use AJAX.

Slides from the Selenium Conference

Posted on by

I gave a presentation called ”Being good at waiting – Using Selenium to test Ajax-intensive pages” in an unconf session at the Selenium Conference in London.

The audience was great! Thanks everybody! I certainly didn’t know everything there’s to know about the subject, and that resulted in an interactive session where people from the audience would share their experience and answer some questions. That was so cool 🙂
read more »

Canned Wicket Test Examples

Posted on by

Unit testing of the GUI is not the same as unit testing through the GUI. We are interested in the logic of the GUI rather than the placement and order of the GUI widgets on screen.

Testing the logic makes the tests less sensitive to changes in presentation but introduces the problem of JavaScript dependent features. AJAX is in the vogue so we wish to be able to do testing of that too without being forced to start a browser. There is some support for AJAX in Wicket that may be reached using the test framework that is part of Wicket. However, it is not straightforward to use and there are some pitfalls.

Here are three examples of avoiding those, one for each of the check box, drop down and radio group controls. read more »

Technology stressed? Perhaps it is time to panic!

Posted on by

Four years ago I spent a few months assembling a rather wide-spread document which I named "State of the art in Server Side Java". It was at the time well researched enough to end up as an entry on The Server Side.

Soon thereafter I got sidetracked to follow Ajax for a few years. I even went as the only Swede to the first ever Ajax conference in San Francisco, and blogged a lot from there.

These days there are simply so much things going on in Server Side Java land to have a slight clue as to where that freight-train is heading. There’s Hadoop and all its cousins for distributed computing, Actors, Terracotta, a school of new whacky persistence paradigms, a handful of JVM-based languages that only Ola Bini has the energy to follow. Annotations have, as I predicted, totally changed the way we program, and just about every day I bump into a new annotation I’ve never seen before (yesterday it was @PathParam).

It would feel OK if this plethora of technologies were somewhat obscure, but in my current project we use a lot of stuff I don’t know well enough, such as Maven, Jersey, WebLogic, Spring transactions and JPA, just to mention a few.

And even though the Ajax anarchy has somewhat collapsed into a few leaders, such as jQuery, Dojo, DWR and GWT, the whole arena is just all over the place. I’ve stopped following Ajax these days, there is just too much going on.

So, what do I spend time on, if I don’t stay up-to-date with server side Java or Ajax? Well, I’m swamped by RSS and Twitter. I abuse technology news like a drug addict, and believed I was reasonably knowledgeable, until I read this blog post yesterday which listed 14 technologies to follow at JavaOne. I had heard of 3 of them, which made me start thinking.

What the heck is going on? Is this technology race accelerating, not just at the rate of the SW industry expanding, but at a pace where it is getting out of control? Have humans triggered the singularity themselves, without the need for a Super Intelligence? Well, perhaps not. The slice of knowledge any human can follow has been shrinking constantly for a long time. But I can’t help getting this idea that the explosion of open source software is giving us the shoulders of giants we can stand on to accelerate our knowledge. And more of it is coming from unexpected countries. Recently I bumped into Debasish Ghosh. Following this guy from India on Twitter is like riding a rollercoaster – new exciting stuff all the time.

So, should we panic? Should we give up? Will every future job search have a list of required skills from a potential list of skills so huge that nobody will ever have a full set? What if we go with maximum speed into polyglot programming, and fragment even further in all directions? Today I heard about two sites where they used Clojure on the server, with Rails as UI. Who the hell can fill that skill set?

Webbprogrammering med Scala och lift

Posted on by

Språket Scala har sedan något halvår tillbaka haft ett webbramverk kallat lift.

  • Comet support is easy to add and scalable
  • Mapping between databases and code is easy (Rails)
  • Content and code are well separated (Wicket, TurboGears)
  • Forms are secure by default (Seaside)
  • Convention over configuration is emphasized, no xml hell (Rails)
  • Component model makes pages elements easier to create and maintain (Wicket)
  • Prebuilt classes are provided for standard functions, e.g. User (Django)
  • Semantic information carries from model to enable smart display. e.g. postal code, social security number, email address
  • State machine support for model objects, including timeouts. e.g. after 3 days w/o confirmation, delete this new account
  • Site Map provides site wide navigation and access control support

Bättre start är ju svår att få. Jag bara önskar att jag hade något roligt projekt att testa det på.

Första DWR boken kommer i januari eller februari

Posted on by

Fick precis veta att den första hela boken om DWR kommer i januari eller februari, skriven av Frank Zammetti, som tidigare skrivit flera böcker om JavaScript, Ajax och Java, dvs precis den bakgrund som behövs. Detta borde ge ett lyft för DWR.

Ny blog om Comet

Posted on by

Ett antal mycket kända personer i Ajax-svängen har startat Comet Daily, där folk bloggar om Comet. Obligatorisk läsning om man är seriös när det gäller Ajax och framtidens webb.

Dojo 1.0 är släppt

Posted on by

Kanske det mest innovativa Ajax-ramverket av dem alla kom just i version 1.0. Fast, kan man påstå något om alla Ajax-ramverk när man bara känner till hur 7 av troligen över 150 fungerar? Hur som helst så lär det bli en ordentlig boost för användningen av Dojo.

Ajaxians Ajax Survey

Posted on by

Ajaxians, de mest aktiva bloggarna om Ajax på nätet, har nyligen publicerat resultatet från deras undersökning om vilka Ajax-ramverk som anänds idag. Bland kommentarerna finns en intressant extra fråga som inte ställdes, nämligen "Vilket Ajax-ramverk skulle du använda om du fick starta om från scratch?".

Några resultat som bör nämnas:

  • Scriptaculous och Prototype används av drygt hälften av alla, 59% respektive 68%, vilket inte är förvånande då de är solida ramverk som har funnits länge.
  • DWR hade förvånansvärt få användare, bara 13%
  • Google Gears används av 22% av alla 826 som besvarat enkäten, vilket är imponerande med tanke på hur nyligen Gears släpptes.
  • Ext JS har flugit helt under min radar och används av 34% av alla som svarade. Hur har jag kunnat missa den?

W3C ’01-’05: WTF?

Posted on by

Alex Russell, som driver Ajax-projektet Dojo, har bloggat under rubriken Standards Heresy, där han bland annat undrar vad W3C sysslade med mellan 2001 och 2005. I stort sett ingen ny standard kom från dem under de åren. Annars handlar den PDF han länkar till om varthän standardiseringen av webben är på väg, och hur det bör ske. Komplext, men intressant.

GWT 1.4 släppt

Posted on by

GWT, Google Web Toolkit, är ett mycket intressant Ajax-ramverk som precis släppts i version 1.4. GWT skiljer sig från många andra Ajax-ramverk i det att man programmerar i Java, och sedan genererar JavaScript som exekverar i browsern. Fungerar väldigt bra, enligt flera av mina kollegor på Crisp. Har tyvärr inte fått tid att testa själv.

Detta har hänt i sommar

Posted on by

För er som inte knarkar tekniknyheter lika okontrollerat som jag gör har jag nöjet att få summera de senaste 5-6 veckorna inom områdena Java, Ajax, Scrum och annat av intresse. Tro mig, jag har gallrat stenhårt.

  • JUnit 4.4 släpptes nyligen. Nyheterna var inte speciellt upphetsande.
  • En av mina favoritbloggare, Cederic Beust, har skrivit om dynamiska och statiska språk. Inte mycket text, men mycket intressant. Väl värt ett par minuter.
  • Av någon anledning är kodformattering mig nära hjärtat, så det var med visst nöje jag noterade att Slashdot hade en tråd om detta i somras. David Herron har bloggat i samma domäner, vilket är kul, även om han verkar ha snott titeln på sitt inlägg från mig.
  • Medlemmar från Ajax-ramverket Dojo har skrivit en artikel med namnet "Why Dojo", som jag tror alla som står i valet och kvalet att välja Ajax-ramverk nog bör läsa. Dojos event-modell är väldigt cool, och tydligen har den blivit extra bra i senaste 0.9 versionen av Dojo.
  • En annan Ajax-artikel med namnet "Write scalable Comet applications with Jetty and Direct Web Remoting" borde intressera alla som försöker välja Comet-ramverk. Go DWR Go!
  • ThoughtWorks har släppt en "agile project management software" med namnet Mingle. Vet inget mer om detta, men Henrik kanske känner sig manad?
  • Matt Raible har summerat "Open Source Web Frameworks’ Mailing List Traffic – June 2007", dvs hur mycket trafik är det på de olika ramverkenas mailinglistor. Ganska intressant, om man försöker avgöra vartåt det blåser. Till min stora glädje ligger Wicket bra till, Liksom GWT, men mest trafik har Ruby on Rails, vad man nu kan dra för slutsatser av det?
  • W3C funderar på att inte låta HTML 4 övergå till XHTML, eftersom de verkar vilja göra en femte version av HTML. Vad ska man tro om det?
  • Specifikationen för Java EE 6 har släppts. Troligen kommer de första implementationerna först i början av 2009.
  • Jag försöker hålla ett öga på vad som skrivs om Scala, då jag fått intrycket att det kanske är ett bra språk för framtidens multi-core processorer, så artikeln "Is Scala the new Groovy" kunde jag naturligtvis inte undvika. Sedan finns det de som tror att Terracotta är rätt väg att skriva multi-core applikationer i Java, så "Hello Terracotta" kanske är rätt ställe att börja?
  • Vill man läsa mer om JavaScrips framtid så kan man läsa här. Daniel?
  • För oss anhängare av Google Calendar är nog artikeln "Black belt scheduling with Google Calendar" oundviklig.
  • Vad kommer efter social networking? Själv har jag inte en aning, eftersom jag känner mig helt bakom flötet när det gäller Facebook, YouTube, MySpace, Twitter, etc etc etc.

Privat har jag varit en vecka i Småland, 4 veckor i Thailand, samt en vecka i Västerbotten, där jag och mina två söner besteg fjället Jengegietje, 1477 meter över havet, i lysande väder. Shorts och T-tröja räckte på toppen!

Too Rich For My Taste

Posted on by

Steve O’Grady gör under rubriken Too Rich For My Taste: The RIA Q&A ett passionerat och välformulerat försvar av den öppna webben, dvs HTML, CSS, JavaScript, och därmed också Ajax. Han menar att Silverlight, Flex/Apollo och JavaFX är fel väg, och han tror inte heller att de kommer att lyckas med annat än bli niche-spelare. Han citerar också en massa folk med liknande åsikter. Kommentarerna är också läsvärda! Kanske det intressantaste jag läst denna månad.

Nu ska jag cykla Vätternrundan! Önska mig lycka till! Jag behöver det…

Många jQuery exempel

Posted on by

Här finns en uppsjö av välgjorda Ajaxexampel i många kategorier.

Silverlight

Posted on by

Microsoft är på väg att släppa något de kallar Silverlight version 1.1. Det hette visst något annat förut, men de har skakat fram ett namn som kanske slår lite bättre. Några påstår att det kommer att slå ihjäl Ajax, eller Flex/Flash, eller båda. Jag tror inte att något av det kommer att lyckas, av några anledningar:

  • Det är inte öppna protokoll eller miljöer
  • Det finns just nu inget stöd för Linux
  • Flash har redan ett otroligt brett stöd i alla browsers
  • Det är inte den öppna webben, utan den exekverar i en 4+ MB stor plugin
  • Det kan inte indexeras av sökmotorer
  • Alla (eller i alla fall väldigt väldigt många) misstror Microsoft

Jag tror därför inte att det blir en särskilt stor hit.

DWR 2.0!

Posted on by

Mitt favoritramverk för Ajax, DWR, har precis kommit i version 2.0, efter flera månaders försening! Massor med verkligt coola nya grejer, bland annat:

  • Reverse Ajax, så att man kan skriva DOM-manipulering i Java, som genererar JavaScript som exekveras i browsern
  • Comet, dvs asynkron push av data från server till klient
  • Script.aculo.us stöd, på servern

Arkanoid / Breakout i DHTML/Ajax

Posted on by

Många spel har under det senaste året konverterats till Ajax, ändå blev jag förvånad när jag upptäckte att någon på Yahoo gjort en riktigt bra version av Breakout i JavaScript. Tanken svindlar vid tanken på hur mycket jobb det måste ha varit.

JSLT – ett javascript-baserat alternativ till XSLT

Posted on by

Jag har alltid varit skeptisk till X-et i Ajax, dvs XML. Varför skapa och skicka ett så bökigt format som XML från servern, för att sedan processas i JavaScript, ett språk som inte så många är duktiga på? Nu har Rik Arends skapat JSLT, som ger möjlighet att processa XML med hjälp av JavaScript-syntax som liknar XSLT. Nu är XSLT i och för sig ett språk som inte ens en mor kan älska, men det kan vara väldigt kraftfullt vid rätt tillfälle.

Ajax Canvas exempel

Posted on by

Ett ganska remarkabelt exempel som använder sig av SVG i Firefox och VML i Internet Explorer för att visa flygrutter på en Google karta. Tydligen används Bindows som Ajax-ramverk. Ta en titt på exemplet!

Flex2 jämfört med JavaScript/Dojo/Prototype/DWR

Posted on by

En grupp utvecklare bestämde sig för att pröva Flex2 för sin produkt, men kom fram till att det inte var stabilt nog för annat än små applikationer. De har nu gått tillbaka till kombinationen JavaScript/Dojo/Prototype/DWR, och är nu produktiva igen.

VÄLDIGT snygga Ajax widgets (med kod) från Yahoo

Posted on by

Yahoo har släppt något de kallar Ext 1.0, där det medföljer en uppsättning exempel som är mycket snygga. Navigera ner i något av foldrarna och klicka på HTML filerna, så får ni se hur snyggt det går att göra Ajax-widgets. Här är några exempel.

Auto-scrolling page navigation

Posted on by

Tobie Langel har skrivit en mycket instruktiv artikel (med det fyndiga namnet "A fistful of $$") för hur han hackade ihop JavaScript koden till auto-scrolling page navigation, så att texten auto-scrollar (istället för att bara hoppa) när man klickar på en länk som pekar till ett ankare på samma sida. Det enda man behöver göra är att lägga till hans JavaScript voodoo i headern, och off you go. Prova den här.

Ny imponerande demo site för Ajax

Posted on by

MiniAjax är en ny mycket imponerande demo site med över 50 typiska Ajax widgets.

Skriv Shakespeare sonetter med hjälp av Ajax

Posted on by

En lite annorlunda och rolig använding av Ajax, där dynamiska dropdown menyer hjälper en att skriva sonetter genom att välja rader ur existerande sonetter av Shakespeare. Egentligen väldigt lyckad, eftersom jag nu lärt mig grunderna för hur de ska rimma. Sålunda lyder mitt verk:

Who will believe my verse in time to come
O none, unless this miracle have might
Shall you pace forth, your praise shall still find room
As any mother’s child, though not so bright

I grant thou wert not married to my muse
Yet eyes this cunning want to grace their art
Then beauteous niggard why dost thou abuse
O let it then as well beseem thy heart

O know sweet love I always write of you
Such is my love, to thee I so belong
But thence I learn and find the lesson true
Spend’st thou thy fury on some worthless song

Such seems your beauty still: three winters cold
To me fair friend you never can be old

Dokumentation till Prototype 1.5!

Posted on by

Till mångas glädje har någon skrivit ihop dokumentation till det viktiga JavaScript ramverket Prototype. Koden lär vara ohyggligt svår att förstå, så dokumentationen är efterlängtad.

Firebug 1.0 är ute

Posted on by

JavaScript och Ajax debuggern Firebug har precis släppts i version 1.0. En plugin till Firefox.

Server push av aktiekurser

Posted on by

Yahoo Finance har en mycket snygg server push av aktiekurser uppe sedan några månader tillbaka. Inte open source, men en bra källa för inspiration. Lightstreamer har också en mycket snygg demo tillgänglig, med kod, men deras server är inte open source. Svenska Trapets har en liknande produkt. Snygg, men inte heller den open source. Jag har också en demo tillgänglig, med source, byggd på open source ramverket DWR. Långt ifrån snygg, men man kan sno koden och bygga vidare på egen hand.

ShackPrices som Hemnet borde vara

Posted on by

Hemnets söksidor är smärtsamt jobbiga att använda. Man får svara på frågor i en wizard innehållande tre separata formulär innan man får se de bostäder som passar ens sökning. Jämför det med ShackPrices där kartan över Seattle är uppe redan från början, på samma sida som ett interaktivt Ajaxifierat formulär. Kartan med träffarna uppdateras medan man ändrar parametrarna i formuläret. Snyggt, väldigt snyggt!

Annat av intresse i Ajax världen

Posted on by

HTTP session hack
Som tidigare nämnts har browsers som oftast en begränsning att högst två HTTP sessioner är öppna samtidigt mot en och samma host. Naturligtvis har någon hackat sig förbi denna begränsning.

Reverse Ajax
En översiktsbeskrivning av vad Reverse Ajax är, framför allt i version 2.0 av DWR.

Firebug
Firebug verkar vara den i särklass bästa debuggern för Ajax-applikationer. Snart kommer version 1.0 som plugin, till Firefox, naturligtvis.

Nya Ajax nyheter

Posted on by

ICEfaces och GWT blir open source
ICEfaces gjorde hela sin produkt open source, och det blev omnämnt många ställen. Ungefär samtidigt kom Google Web Toolkit ut med version 1.2 och berättade att version 1.3 skulle bli 100% open source, vilket mottogs entusiastiskt på GWT:s mailinglista.

Ajax och säkerhet
Det har varit mycket snack om Ajax säkerhet den senaste tiden. Här är några av de senaste artiklarna.