On Wed, Dec 15, 2010 at 11:24 AM, Andrew Wiley <debio...@gmail.com> wrote:

> On Wed, Dec 15, 2010 at 9:37 AM, Adam D. Ruppe 
> <destructiona...@gmail.com>wrote:
>>
>> And in those rare cases where you are doing a lot of client side work, it
>> is so
>> brutally slow that if you start piling other runtimes on top of it, you'll
>> often
>> be left with an unusable mess anyway!
>
>
> Unless you're using the beta of the next IE, the beta of the next Opera, or
> the current version of Chrome, in which case you'd find that client-side
> work is becoming more and more feasible. Now, it's not there yet, but when a
> C-ported-to-Java-compiled-to-Javascript version of Quake 2 can get 30FPS in
> Google Chrome, I start thinking that performance probably won't be nearly as
> bad as browsers move forward.
>
> You don't have to like it, but there's a huge push in web development
> towards doing more work on the client, and now that browsers are catching
> up, it's going to change the way the web works.
>
> As for the rest:
> a) No real time networking
> HTML 5 WebSockets, as you said
>
> b) Cross domain communication requires ugly, inefficient hacks, or a proxy
> on your server.
> This is the one thing you've listed that's not going to change because it
> poses a security risk.
>
>
> c) No sounds (without flash anyway).
> Included in HTML 5.
>
> d) Graphics, even if you grant the canvas element, are a joke. The latency
> is
> brutal. Take that deviant art thing from earlier in the thread. Flick your
> mouse,
> and watch the lines slowly catch up to you! Using X11 with a remote server
> is
> faster than that.
> In Chrome (even the version a year or so old that is installed on the lab
> computer I'm using right now), there is no latency whatsoever. That's a
> simple matter of javascript performance, which is dramatically improving.
>
>
> e) Input requires a lot of magic. Some keys have the same identifiers, some
> of the
> time, meaning just checking for keypress requires dozens of lines of code,
> and
> still doesn't work right! Checking for multiple keys or mouse buttons hit
> at once
> is very poor.
> This is where frameworks can help. Now that Javascript performance is
> barrelling ahead, frameworks start looking much more attractive. I've used
> GWT (Java->Javascript) in the past, and input handling feels exactly like it
> does in SWT or Swing (the leading Java UI frameworks).
>
>
> f) Very little state across loads (though html5 is adding something for
> this, if
> it ever gets broad penetration), mentioned mainly for completeness, since
> javascript variables do work for must things, but your persistent database
> still
> has to be on the server.
> As you said, HTML5. My internet was down this morning, but I was still able
> to read the batch of mail in GMail that I downloaded last night because
> GMail is already taking advantage of Google Gears, which provides similar
> functionality. I get the same thing with a few other web applications.
>
>
> g) No threading. I recently tried making a javascript -> d caller. In D,
> this
> would be trivial: opDispatch means no code needs to be written, and if it
> runs in
> a different thread from the rest of the UI, it can make sync calls to the
> server
> without freezing everything up, thus letting it be written in a linear
> style.
> HTML5 adds WebWorkers, which handle exactly this use case (among others).
>

I should also note that every HTML5 feature I mentioned here except
WebSockets is also supported in Firefox 3.5. IE9 supports everything but
WebSockets and WebWorkers. (Apparently there's some trouble with the
WebSockets specification at the moment)

Reply via email to