Kyle 的个人资料Kyle Huntley照片日志列表 工具 帮助
8月22日

Browser vs Runtime, Atlas/Ajax, WPF thoughts

 Blog Help

Some thoughts about the boundary between what we traditionally think of as thin and thick client apps.  With the increasing complexity of the browser environment I think the distinction is blurring between using a browser as an execution host vs. a “traditional” run-time as an execution host.

In the beginning there was the native client, and it was good.  For a while at least, until IT departments found out how expensive it was to maintain that software configuration.

So came the radical shift towards thin client, with a goal of zero client side application footprint.  There were two options:

·         Distribute a runtime and enable it to run network portable code.  Like Java and Applets.

·         Use a browser and send lightweight markup over the network.

Well, at the time there were problems with the runtime approach:

·         Distributing the Java runtime was problematic for many network connections.

·         Applets were painfully, agonizingly, slow in execution

·         The applets were also relatively big for the network (then) to carry.

So, momentum shifted to the browser model.

Well the browser was small and fast, and the markup was light, but it couldn’t really do that much.  Accordingly, the industry spend a decade or so enhancing the browser object models and environments until the browsers became runtimes in their own right, which are capable of hosting reasonably complex software that just happens to be JIT-Loaded from a web server, taking us to Atlas / Ajax today.

Atlas / Ajax does not represent any “Best Practices” in development from a purely technical standpoint; there are better ways to do it all.  It is the unfortunate reality that the industry has been unable to settle on a single well-conceived runtime environment and has instead taken a drunkard’s walk to arrive at a very unappealing, but relatively standard, programming environment.  Ajax is simply a way of trying to paper over the “poor” client characteristics of the browser / markup technology rootstock.

If we re-examine the runtime vs. browser decision today, would we make the same decision?

·         Browser downloads are now comparably sized to full-fledged runtimes and networks are much faster, so the browser no longer has any clear advantage in runtime distribution.

·         “Applets” or transportable .NET code is plenty fast for the client now, so that reason favoring the browser is also gone.

·         Downloaded byte-code or IL can still be pretty big.  This can be managed with proper techniques, but it is still nowhere near as light as interpreted script and markup.

So it seems that the size of the executable is the last strong fundamental reason to favour the browser model.  This must be balanced against the inferior programming model.

With new markup-enabled rich client technologies, such as WPF and Silverlight, the applications distributed to the client side run-times will be light enough, but with good user experience plus properly robust and productive development models.  This should knock the final pin out from under the browser approach.  From both a user and a developer standpoint I look forward fondly to a day where I don't have to submit to the tyranny of the back button.  ;-)

 

评论 (1)

请稍候...
很抱歉,您输入的评论太长。请缩短您的评论。
您没有输入任何内容,请重试。
很抱歉,我们当前无法添加您的评论。请稍后重试。
若要添加评论,需要您的家长授予您相应权限。请求权限
您的家长禁用了评论功能。
很抱歉,我们当前无法删除您的评论。请稍后重试。
您已超过了一天之内允许提供的评论数上限。请在 24 小时后重试。
因为我们的系统表明您可能在向其他用户提供垃圾评论,您的帐户已禁用了评论功能。如果您认为我们错误地禁用了您的帐户,请联系 Windows Live 支持部门
完成下面的安全检查,您提供评论的过程才能完成。
您在安全检查中键入的字符必须与图片或音频中的字符一致。

若要添加评论,请使用您的 Windows Live ID 登录(如果您使用过 Hotmail、Messenger 或 Xbox LIVE,您就拥有 Windows Live ID)。登录


还没有 Windows Live ID 吗?请注册

匿名 的图片
leovernazza 发表:
Hi Kyle, I agree with you.
 
Browsers are not different from virtual machines/runtimes technically.
The *only* difference is that they exposes a common user exeprience to the user (back-forward, standar toolbar, etc).
But at the end, both are a set of bins in you machine, of above the same weight.
 
But I think we are ready to a new wave of converegence and innovation in this field.
8 月 23 日

引用通告

此日志的引用通告 URL 是:
http://kylehuntley.spaces.live.com/blog/cns!6E8EDC3934C96464!182.trak
引用此项的网络日志