Mark Gharibian's blog
DWR version 3.0 has reached release candidate 1. Here's what's new right from Joe Walker's Blog:
- RPC Enhancements
- Varargs support
- Method overloading (DWR tries to copy Java's method matching rules)
- Typed parameters (so you can say
addFruit()method and DWR will instantiate the correct type on the server)
- Lightweight typed parameters (as above, but by adding
$dwrClassName:"Apple", for when you are getting the objects from something else)
- More natural synchronous XHR (so you can call
var reply = Remote.getData()when doing 'Sjax')
- Improved Marshalling
- Binary file upload/download (
FileTransfercan be uploaded from an
input type=file, offered for download, or sent to an
- Binary file upload/download (
- Locale, Currency (DWR will marshal to and from
- Reverse Ajax
- More scalable Reverse Ajax APIs (See
- DOM Manipulation Library (
Documentcan now be manipulated from the server)
- The server now runs in 3 modes: stateless (New - save memory with no page tracking), passiveReverseAjax (the default) and activeReverseAjax (comet enabled)
- TIBCO GI Integration
- Complete set of Reverse Ajax Proxy APIs (So you can manipulate your GI user interface from Java on the server)
- Dojo Integration
- Data Store (Keep a server side data store in sync with data in a client browser with both sides able to send updates. The data store also supports paging, sorting and filtering)
- Packaging Integration (
dojo.requireall your DWR scripts)
- Server Support
- Asynchronous servlet support for Tomcat and Glassfish
- Improved Spring and Guice support
- Over the wire
- JSONP support
- JSON-RPC support
- Tech Previews
- JMS Integration (Publish to the browser directly from JMS)
- Jaxer Integration (Zero configuration for trusted environments)
- SVN (We've moved from CVS to SVN)
- Related Projects (Our repository contains a set of related projects including a number of demos)
- CLA (We've been through a legal review and have signed CLAs for dwr.jar)
- Dojo Foundation (We joined the Dojo Foundation and are now hosted by their servers)
- Better Documentation (DWR version 1.x had great docs. Version 2.x let things slide a bit, but we've dropped Drupal, and have our own system now)
You can download it here.
Now available for download is TIBCO's General Interface 3.6.2 service pack release.
Here's a summary of what's new in 3.6.2 from the release notes:
General Interface Template Language
CDF Form Mapping
The General Interface Mapping utility now supports mapping to JSON-based services. Similar to mapping to WSDL and XML, the new JSON mapping feature provides a visual tree to which the developer can assign mapping rules. JSONP is supported by default, which gets around cross-domain security problems when accessing data from other sites.
Also available is the General Interface 3.7.0 Milestone 1, technology preview release. Go to the TIBCO Developer Network site http://www.tibco.com/devnet/gi for downloads and more info.
New in 3.7
- Asynchronous Modular Platform (AMP), the Eclipse inspired plug-in architecture for building advanced modular and high-performing enterprise AJAX application.
- Extensible GI Builder IDE based on AMP
- Syntax highlighting script editor
- and More ...
- DOM & CSS inspection
- Live Editing
- Multiple Document Modes
I really enjoyed Joe Walker's "Advanced Web Application Security" session, where he covered a variety of security issues and complete solutions to help increase security. This is another great session to view once the videos are posted online.
That's all for today! I'm looking forward to tomorrow for some more informative sessions.
We had a great session today that was comprised of 10 “lightning rounds” each lasting about 5 minutes.
- Smushit.com – a web based tool that automates image optimization. You specify a URL, or batch upload images and smushit can greatly reduce the file size of your images without sacrificing any quality. A Firefox extension also exists to allow you to easily optimize the images on any page you visit.
- Adobe Dreamweaver CS4 – the latest web development tool from Adobe, which was just recently released. You can expect to see some great new features in this version, including:
- Workspace customization – coder, designer, compact preset workspaces
- Live Code view – let’s you see changes to the document in real-time as you interact with it.
- Comet – discussed technique for Ajax push asynchronous message delivery from the server to the client
- Firebug. Enough said, if you don’t know what it is, go here.
- Making web apps faster – Steve Souders discussed manual vs. programmatic scripting to time web pages using Episodes, a proposed framework. Read more about Episodes.
- Hacking Netflix – Netflix API to be released soon (this week), more info will be available at:
- shiftspace.org – client-side JS and interface
- SquirrelFish: The engine used by Safari 4.0
- V8: The engine used by Google Chrome.
- SpiderMonkey: The engine that powers Firefox (up to, and including, Firefox 3.0).
- TraceMonkey: The engine that will power Firefox 3.1 and newer (currently in nightlies, but disabled by default).
- Futhark: The engine used in Opera 9.5 and newer.
- IE JScript: The engine that powers Internet Explorer.
Of the three developer breakouts, I attended the jQuery sessions which were very insightful. I was surprised to see the growth jQuery has enjoyed over the last 4-6 months, but it’s not too surprising since it is an exceptional framework.
Another highlight of the day was Ben and Dion’s Ajax Universe session where they used created a script to sound a buzzer at random intervals so they would switch turns. This was hilarious and turned out to be a great idea. As they buzzed back and forth, they stepped through the progression of the web over the years, showing where we started and where we are today. Their slides and video should be posted online soon, just stay tuned to ajaxian.com.
That’s all for today, it’s time to head to the Microsoft sponsored “Evening Event”!
Announced on the jQuery blog, and by John Resig here at the Ajax Experience, jQuery is being adopted by Microsoft and Nokia as part of their official development platform. Microsoft will distribute the framework with Visual Studio and will build UI widgets to run on top of jQuery. Nokia is looking to use jQuery to develop applications for their WebKit-based Web Run-Time. To make this news even sweeter, Microsoft and Nokia aren’t looking to make any modifications to jQuery (both in the form of code or licensing) - they plan to use it as-is. This is some very exciting news and we'd like to congratulate the jQuery team on this milestone!
The Ajax Experience 2008 is about to begin here in Boston. Developers from all over the world have gathered to hear about the latest and greatest from the land of client-side development. I'm attending the jQuery Developer Day session this morning where topics will include "Progressively Enhancing the User Experience Using jQuery" and "An In-Depth Look at jQuery UI". Conference presentations are available for download here.
Here's a overview of b9j.uri.URI from Robert:
- Parses using Steven Levithan's parseUri 1.2
- Easy path traversal (ascend to parent, descend to a child)
- Set or add to the URI query (with proper encoding), get/interrogate the query (with proper decoding)
- Add arbitrary data (unencoded) to the end of the query string, for extra flexibility
- Manipulate/interrogate the scheme, user information (username & password), host, port, fragment, and more in a piecewise fashion
- Add, change or strip the extension (html, js, css, ...) from a given URI
The code is available at http://appengine.bravo9.com/b9j/b9j.uri.js (19kb compressed / 5kb gzipped)
You can detect Chrome using the following:
var is_chrome = navigator.userAgent.toLowerCase().indexOf('chrome') > -1;
Chrome's full user agent:
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.27 Safari/525.13