InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

Client-Server Computing: The Future Web?

Posted by Craig Wickesser on May 22, 2008

Sections
Development
Topics
Javascript ,
Web Frameworks ,
Java
Tags
SproutCore ,
Frameworks

The most recent buzz on the web has been about Ajax and improved user experiences. Looking to the future, some suggest that the "old" client-server model will be the way to meet users expectations and demands. Could Client-Server computing be the follow-on to Web 2.0 technologies?

Last year InfoQ's Shane Witbeck wrote about SproutCore and described it as,

...a new full MVC application framework for JavaScript.
Charles Jolley, President and CEO of Sproutit, wrote an article providing his reason about Why Client-Server is the Future of the Web which briefly mentions SproutCore as being one framework to help in that area.  Since InfoQ's original post last year Sproutit has been busy working on the 1.0 release which includes new features, bug fixes and overall polishing of the API. 

Recently, InfoQ had the opportunity to interview Charles about the current and future state of SproutCore.

InfoQ: What is the expected release date for 1.0?

Charles Jolley: June, 2008. We'll be showing some close to the final version at WWDC in early June.

InfoQ: You had previously mentioned you really wanted to complete a few tutorials and example applications. I see there is a hello world tutorial and a getting started guide as well as two demo applications. Do you expect to add more tutorials (covering more advanced features and usage) by the 1.0 release?

Charles Jolley: Right now I'm working on finishing the code for SproutCore 1.0 in time for the June release, but I do hope to slip in one more tutorial by then as well that covers building a full application. In the mean time, you can also checkout the source for the photos demo app, which contains a lot of fairly advanced features. There is a link to the source code and the app on the demos page (http://www.sproutcore.com/demos/).
Later this summer after 1.0 goes out I plan to spend a lot of my time documenting the framework and adding more tutorials as well.

InfoQ: Is SproutCore totally disabled if a user has javascript turned off in their browser?

Charles Jolley: Basically, yes. The kinds of apps SproutCore makes possible are so dynamic they would not be very useful without JavaScript anyway. By embracing this constraint we were able to make SproutCore do a lot more with less code so it really pays off.
For those times when you want to target both clients with and without JS, I generally recommend you setup your app to send non-JS-capable browsers to a simplified, page-driven version of your app. This is what a lot of SC users currently do.

InfoQ: Is SproutCore completely browser independent? (i.e. works consistently from IE 5/6/7, Firefox 2/3, Safari, Opera, etc)?

Charles Jolley: SproutCore will support IE7, Firefox 2, 3 and Safari 2,3 for 1.0. IE6 support is coming soon. (It actually used to work, but we won't have time to get the new features IE6 ready in the 1.0 timeframe.) Opera is not currently on the schedule but it should be easy to add if anyone needs it.

InfoQ: What do you see down the road for SproutCore post 1.0?

Charles Jolley: SproutCore 1.0 is about delivering the core functionality needed to build a full client-side application in the web browser. Post 1.0 we'll be focused on polishing the rough edges through better tools and improved documentation. We've already started some preliminary work on a visual interface builder, for example, and some large tutorials are in the works.
Long term I'm most excited to see the kinds of apps developers create with this new framework. I think we'll find a lot of very useful common components we can build as a community.

InfoQ: Have you ever given any thought to enabling the design of SproutCore to be implemented in something other than Javascript? (i.e Flex, Silverlight, JavaFX)? I gather "no" based on the "about" page on your site. Just curious about what additional thoughts you might have here.

Charles Jolley: Long term, I really think the future of web client applications lies with JavaScript and DOM scripting. As browsers integrate rich media features such as CSS transforms, SVG, and HTML5 movie and audio tags, the benefits of using a proprietary plugin are really diminished.
That said, I think those writing apps with those plugins today could really benefit from having a client-side framework like SproutCore available to them and I would be happy to support anyone that wanted to work on it.

SproutCore aims to address the client side of the client-server model which provides one step in developing applications for the "future of the web". Perhaps Apple is on to something since they brought Charles onto their team to help develop the .Mac Web Gallery using SproutCore. What do you think the future web will look like?

Thin Server Applications by Justin Meyer Posted
Re: Thin Server Applications by T S Posted
Re: Thin Server Applications by craig w Posted
  1. Back to top

    Thin Server Applications

    by Justin Meyer

    As JavaScript gets faster and faster and the tools get better, eventually there will be little need for the most common desktop applications.

  2. Back to top

    Re: Thin Server Applications

    by T S

    A toolset as flaky as JavaScript/DHTML is just not up to anything more complex than little bits of UI-enhancement à la Ajax. Go to the SproutCore site and try pressing F5 in one of their demos. We need to move more capabilities into the browser itself instead of throwing more and more script at it.

  3. Back to top

    Re: Thin Server Applications

    by craig w

    I think a mix is required improved browser capabilities and improved and easier methods to develop within them. Time shall tell.

Educational Content

New-age Transactional Systems - Not Your Grandpa's OLTP

John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.

Cool Code

Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.

Collaboration: At the Extremities of Extreme

Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.

Yesod Web Framework

Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).

Transactions without Transactions

Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.

Attila Szegedi on JVM and GC Performance Tuning at Twitter

Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.

10 tips on how to prevent business value risk

One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.

Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.