Friday, April 9th, 2010

Web prototype of Mail.app using UKI

Category: Showcase

<>p>

Watch the video above by Volodya Kolesnikov, the developer behind the Mail.app prototype that uses the UKI framework.

ukijs matured and I put it to the test. The idea for the test was to replicate Mac Mail.app core experience in the browser. With as much attention to details as possible and acceptable performance. The whole thing took me about 15 hours and 65kb of gziped code.

Nice work Volodya!

Related Content:

Posted by Dion Almaer at 10:50 am
8 Comments

++++-
4.3 rating from 26 votes

8 Comments »

Comments feed TrackBack URI

Wow, that’s pretty impressive! Nice work. Never heard of the UKI framework, looks pretty sweet.

Comment by chuckles1313 — April 9, 2010

Very nice indeed, although it would have been nice if UKI took advantage of HTML instead of redefining some of the layout components. For example, for the ‘table’ view, you need to redefine the table columns, their width, etc. in the Javascript than simply taking the same from a <table> node. jQuery became popular for that simplicity (one of the reasons, at least.) At least for me, I would like to use basic HTML as a template for rendering and use Javascript for required ‘behavior’ without having to learn a lot of APIs.

The speed and feature set of UKI are impressive and the above comments are by no means meant to subdue that aspect of the framework.

Comment by ragjunk — April 9, 2010

Feel free to fork it here:
http://github.com/voloko/uki/

Defining a configuration declaratively instead of programmatically is a simple feature to patch in, as evident by DojoToolkit.

When you have an app that requires Javascript to function, such as this, then there’s little need to define anything in HTML, aside from personal preference.

I think UKI will be competing with ExtJS & DojoToolkit more than jQuery.

Comment by Liquidrums — April 9, 2010

We used Dojo very heavily until early last year when we made a switch to jQuery. The problem with Dojo was that until the Dojo, Dijit and our own components built on top on Dijit/Dojox load (I am not talking about the JS file downloading, but loading the components into memory and Dojo is done with parsing) nothing happens in the UI. In other words, Dojo is responsible for rendering and building DOM rather than the browser. While progressive rendering is possible to some extent with Dojo, it is neither natural or efficient. Dojo-like systems certainly have their place, but most consumer facing web sites (not necessarily web-”apps”) benefit from jQuery’s architecture. In our case for example, a dynamically scrollable list view is initially rendered with no JS at all, but by the browser since the initial content is simply HTML + CSS. When you either scroll or choose to paginate JS kicks in, which handles the user’s requests. I hope, the difference and our use cases are clear. So, this is not purely personal preference, but the need for rendering the content more efficiently.

The UKI mail web app runs at least 3-4 times slower on IE6 than Chrome/Firefox, which was our experience with Dojo as well. Unfortunately for us, IE6 is still a browser we need to support and hence the need for the speed.

Comment by ragjunk — April 9, 2010

Good work… you’ve improved it a lot since the beginning. The Wave layout was a great starting point. Will you be releasing the mail layout example code?

Comment by nataxia — April 10, 2010

nataxia: It’s already up on GitHub: http://github.com/voloko/uki_mail_app

Comment by smoofles — April 11, 2010

This looks like a fantastic start to a js Cappuccino alternative. I’m really looking forward to see this developed. I might even fork it and help out. My main concern, however, is that this is not unobtrusive javascript. That’s something the real google wave has on the uki version, and it’s a big one I think.

Comment by Timmyw — April 11, 2010

Kudos!

The table component (http://ukijs.org/examples/core-examples/table/) is faster at scrolling/rendering than iTunes (a native app) on my machine.

Vladimir, wouldn’t it be fair to say a majority of the extra size of ExtJS or Dojo comes with a broader set of UI components?

With that said, I really like the architecture, API, and performance. Nice work.

Comment by MattC — April 13, 2010

Leave a comment

You must be logged in to post a comment.