Google Developer Day - Brazil - Introdução ao GWT

Chris Schalk - Em função do AJAX ser meramente um mix de técnicas e não um padrão, desenvolver as aplicações AJAX sempre foi tido como um desafio, assim como lidar com as numerosas incompatibilidades de browser, resultando na necessidade extremamente complicada do cliente ter JavaScript. Esta sssão introduz o Conjunto de Ferramentas Web Google (Google Web Toolkit - GWT) como a solução perfeita para as dificuldades inerentes ao desenvolvimento do AJAX, explicando como ele consegue um desenvolvimento API limpo em Java, semelhante ao Java Swing ou SW, mas para aplicações em AJAX. Basicamente, o GWT facilita o desenvolvimento em AJAX. Esta sessão oferece uma visão geral das ferramentas mais incrementadas do GWT, incluindo como construir aplicações efetivas no desenvolvimento de um ambiente Eclipse.

Relatd javascript Articles

Functional AJAX with Dojo
I frequently hear the question: 'Does Dojo have an AJAX method that updates a div?' - The answer is that there's no Dojo-approved way of doing something like this. Updating a div is such an easy process, that implementing a de facto solution is not only extra code, but you also hit a wall as soon as you want to do 'something more'. The short and sweet solution looks something like this...
How perceived speed matters, and can kill you

I am a fan of NetNewsWire, and since I use multiple computers, I thought it would be nice to use the NewsGator syncing capability. I have used this before, way back when I used the Newsgator Outlook plugin.

I ran into some issues (it had created a bunch of empty folders, which I remember happening a few years ago) and I decided to go to the web-based version to try to clean it up.

Now, this isn't meant to be "pick on newsgator" day, but the entire experience was painful. First, if I selected more than a couple of folders to delete it would take an eternity to do the deletions, and in fact a few times it just timed out. That made me have to go back and de-select a few until it would go through. Extremely frustrating (especially when you are trying to clean up!).

The interface itself consists of the typical tree view on the left, and content opens up on the right. For me, the app is painfully slow as every click on the tree is a full page reload which has to render the entire tree, as well as getting the content for that node. If I am on a site that has a normal link, I expect a page reload. When I click on a tree node, I am trained to be in "desktop mode" and expect it to happen pretty darn quick. It is this perceived effect that makes everything feel so slow.

I also glanced at my status bar and would see what seemed to be mini requests for each feed from my browser. I have a fair few feeds, so this made things even worse.

This type of design choice will make people think "ajax sucks and is slow". Compare it to Google Reader and others, that feel a lot faster, and do not do refreshes in places you wouldn't expect.

Squish for Web testing tool

Squish for Webis a GUI testing tool aiming to be well suited for testing Ajax GUIs (and has special
support for many frameworks such as Backbase, dojo, ICEFaces, qooxdoo, JackBe, etc.)

The Squish for Web edition enables testing HTML-based Web and Web 2.0 (Ajax) applications in different web browsers running on different platforms.

Squish for Web is, unlike many available web testing tools, not restricted to a single web browser or platform. Squish for Web supports running and recording tests for web applications in Microsoft Internet Explorer, Mozilla, Firefox, Apple's Safari and KDE's Konqueror on Windows, Linux, Unix and Mac OS X.

Demos

Selenium seems to be the de facto standard these days, but we can always do with new tools to help us test. What do you use?

Related javascript Projects

dojo

Ajax, events, packaging, CSS-based querying, animations, JSON, language utilities, and a lot more. All at 23K.

jQuery
jQuery is a fast, concise, JavaScript Library that simplifies how you traverse HTML documents, handle events, perform animations, and add Ajax interactions to your web pages. jQuery is designed to change the way that you write JavaScript.
JSJaC

JSJaC is a jabber/XMPP client library written in JavaScript to ease implementation of web based jabber/XMPP clients. For communication with a jabber server it needs to support either HTTP Pollingor XMPP Over BOSH(formerly known as HTTP Binding). JSJaC has an object oriented design which should be quite easy to use. Communication is done by using the XML HTTP Request objectalso refered to as AJAX technology. Your browser must support this.

GWT(Google Web Toolkit)

Google Web Toolkit (GWT) is an open source Java software development framework that makes writing AJAX applications like Google Mapsand Gmaileasy for developers who don't speak browser quirks as a second language. Writing dynamic web applications today is a tedious and error-prone process; you spend 90% of your time working around subtle incompatibilities between web browsers and platforms, and JavaScript's lack of modularity makes sharing, testing, and reusing AJAX components difficult and fragile.

GWT lets you avoid many of these headaches while offering your users the same dynamic, standards-compliant experience. You write your front end in the Javaprogramming language, and the GWT compiler converts your Java classes to browser-compliant JavaScript and HTML.

Prototype

Prototype is a JavaScript Framework that aims to ease development of dynamic web applications.

Featuring a unique, easy-to-use toolkit for class-driven development and the nicest Ajax library around, Prototype is quickly becoming the codebase of choice for web application developers everywhere.