Tag Archives: api

Dojo 0.4 has been released

The Developers of the Dojo Toolkit have realeased their newest version 0.4. This might not yet be exciting enough, but they added a lot of new features, fixed many (really many) bugs. And there is another candy for Dojo Developers: the first release of the documentation tool.

Core

  • GFX library – graphics library (see demos and tests)
  • New charting engine, details To Be Announced.
  • JS Linker – essentially done as alpha release, won’t be integrated into dojo build process for 0.4 release
  • I18N Infrastructure
  • event normalization of keyboard events (new “onKey” event)
  • html-refactor
  • onDomLoad – dojo is initialized as soon as DOM finishes loading w/out waiting for images etc. to finish downloading
  • jum – Various enhancements being made in combination with new unit test runtime tool using rhino api directly. Unit tests can now be written and used on projects outside dojo. Semantics for grouping/setup/teardown/etc still being designed/thought about.
  • major dojo.lfx improvements. Wipe and fade animations are now chain()-able among other improvements.
  • dojo.html.metrics – scrollbar width measurement, current font size measurements, the ability to get how much of an HTML fragment will fit on a single line in a container, and to populate a container node with as much of an HTML fragment as will fit into it. Also included is a way of measuring the dimensions of a node if one was to populate it with a specific HTML fragment.
  • dojo.debug.console – improved debugging with Firebug on FF/Safari, with fallback to Opera error console, if available.
  • HtmlDragCopy? – copy an element instead of moving it from source to target, with ability to specify if a copy can be copied again.
  • dojo.debug.console – console logger for Firefox (using Firebug), Safari and Opera. Deprecated dojo.debug.Firebug.
  • API documentation -inline code docmentation) added to many files.

Widget Infrastructure

  • Namespace support and refactoring of how to declare widgets, and automatic widget/manifest loading feature
  • high-contrast mode infrastructure, and support for a few widgets (checkbox and tab container complete)
  • subwidgets in templates
  • widget-refactor – changing everything to widget/ directory, etc.

Widgets

The roadmap has also been updated, showing 0.4.1, 0.5 and beyond.
Did you like this? Share it:

I’m back

I haven’t posted much lately, because I had my exam session, but it’s finally and completely over and done. Now there has been a lot of activity on my favorite topic, Ajax, lately and I had a hard time keeping up with all the news that from Ajaxian, and many others. Especially the discussion on wether graphical drawing is a good thing for the client side has some interesting points:

Client side drawing is possible thanks to many possible implementations but it has neither a good standardized API nor is it very reliable.

On the other hand a nicely written article on the concepts of REST and Ajax has caught my eye:
Javaâ„¢ Servlet’s HttpSession API provides an example of this strain. HttpSession lets you associate session state with a particular user. This API seems deceptively simple to novice developers. Indeed, it appears that you can store any object in HttpSession and pull it out without ever coding any special lookup logic yourself. But as you start putting more objects in HttpSession, you start to notice that your application server uses more and more memory and processing resources. Soon you decide that you need to deploy your application in a clustered environment to help with growing resource needs. Then you realize that for HttpSession to work in a clustered environment, each object must implement Java’s Serializable interface so that session data can be transmitted between servers in a clustered environment. Then you must decide whether or not your application server should persist session data in the case of a shutdown/restart cycle. Soon you begin to question whether violating the client-stateless-server constraint was such a good idea after all. (Actually, many developers are ignorant of this constraint.)
But more on this in a separate Post :)

So this is about it to catch a bit up with the present, after hammering my head against all those Analysis and Linear Algebra Books, sorry if it is a bit superficial, but hey, there is just too much to write about now to dwell in the past.

Technorati Tags: , , ,
Did you like this? Share it:

Google Ajax Search API released

Google has just released yet another API for us Ajax developers to use:
We just released Version 1.0 of the AJAX Search API. New in this version:
  • Google News results. We’ve added a GnewsSearch searcher that gives access to Google News results and lets you restrict to specific specific news sources.
  • Maps results for more geos. In addition to the U.S., GlocalSearch now includes results in Canada, France, Germany, Italy, and Spain.
  • Intranet use. A lot of people wanted to use the API within an enterprise setting. Now you can, as long as your service is accessible to your end users without charge. See the terms of use to learn more.
Another addition is that the Web Search results may now include up to 2-4 clearly marked sponsored links. Including these ads is still a bit of an experiment so we won’t be charging advertisers, and we may end up adjusting their format, etc. We’ve been really excited by the great stuff that people have done with the API and soon will be showcasing some of it on a community samples page. If you’re interested in submitting your web app for inclusion in that page, we’ve posted instructions here. As always, let us know what you think!
If it weren’t Google, it wouldn’t be a great deal, but as it is Google that is offering us some new tools to play with I’m really excited ^^
Did you like this? Share it:

Ajax Charting System

If you’ve been scouring the web looking for a pure Ajax charting solution, you might want to check out this offering from WebFX, a simple, free, easy to use charting system with multiple chart types included.

In web applications developed now days a lot of the logic that previously resided on the server side is now being implemented on the client side. This is especially true for information presentation, components such as trees and columnlist makes it possible for users to interact with the application, or web site if you wish, without contacting the server. However the ability to present data in a graphic rather than textual format has been quite limited, unless a plugin is used or an image is requested from the server.

That’s where this component comes in to place, it allows various forms of charts to be created, without any additional plugin, and without using images.

You can see an example of the charting in action in this demo showing line, bar, and combo graphs from generated data. There’s even documentation, usage examples and an API interface provided as well.



Technorati Tags: , , ,
Did you like this? Share it:

World War 2: The Game

For some weeks now, some Friends of mine and I are working on a next generation browser game. Why next generation? Well it’s completely Web 2.0 emoticon
Basically we have 4 Components:

  •  The AJAX Frontend, which will be the part the user spends his time on. Its Task is to visually display all the data to the user in a nice way. Currently we’re thinking about using the community edition of BackBase which looks really nice and is easy to use. And now a thing the AJAX-Community has been waiting for: we’ll use the Google Maps API as a the base framework for our maps. That means you move your troops on the real map. We’ll discuss the map later on.
  • The Web-Server, which doesn’t do really much being relieved of the task of handling layout and such stuff it will serve the static pages that are used to bootstrap the game itself, and then it is used to generate the XML-Files containing the game data. We’re currently using Tomcat since it allows us to use the Java objects that are then used in the WorkHorse/Simulator directly (more or less as you’ll see later).
  • The persister, which has the task of managing the whole lot of data that we generate and make sure we don’t loose anything. The persister is based upon Prevayler which allows us to keep a "cloud of object" without the need to save and reload to a flat structure like an SQL-Database everytime we do something, all the references are kept in place and no extra loading is done for queries, while for commands we have a slight overhead to create and serialize Transactions.
  • And last but not least the WorkHorse/Simulator! This is the part where the magic happens emoticon. The WorkHorse is a Program that accesses directly the data in the persister (in fact until we find a better way to communicate persister and workhorse are part of the same Process…) that accesses a Priority Queue containing Events. The Events have a scheduled execution time and are processed one after another. Events may be simple tasks light change the password of a user, or really complex stuff like simulation of whole battles, in which case a separate Thread is launched to do the actual execution of the Event.

We played around with different technologies for the communication, which is absolutely non-trivial. The Persister has to be accessible by both the WorkHorse and the Web-Server, we therefore had to split the whole in 3 parts which communicate with each other:

  • The Web-Server mainly executes queries to the persister, asking for new information which is then passed to the AJAX-Frontend. All user interactions, such as sending a troup from one place to another, is then created as Transactions and passed back to the Persister for this a JMS-Server would be good enough.
  • The WorkHorse has to access in an efficient way the data in the persister, this means we have to be able to access the Object structure directly without serializing stuff to be send over a Connection. We thought about using RMI but let the thought drop soon since it restricts the way we can interact with objects. For now we have put the persister and the WorkHorse together, but we are brainstorming to find a better solution.
Well I think this about enough chatter for today, let’s get back to work emoticon
Did you like this? Share it: