Once in a while I get these feelings, which tells me something really really big is about to happen. When I get these feelings I cannot sleep because I become like a child waiting for Christmas morning. This is exactly how I felt when I first heard about “Sproutcore” this week.
The first major difference is that Sproutcore is a Model View Controller (MVC) Framework. This is a concept taken from Apple’s Cocoa Framework. In fact, Apple is a major contributor to Sproutcore. The MVC framework makes developing web applications into the realm of developing desktop applications. This especially true for Apple developers.
Sproutcore itself is open source, which is another difference that makes it very interesting. My belief is that with open source software, bugs can get solved faster and the feature set can be extend much rapidly then with a closed framework. I also believe that open source frameworks for the before mentioned reasons are much likely to be adopted.
In the case of Apple, they are using Sproutcore in their new service to be launched next month with mobileMe. There was a preview of this service at Apple’s Keynote at WWDC 2008, which was really impressive. I am holding my final word on this service till I actually start using the service.
Another important point that differentiates the Sproutcore framework from others is that the client application is intended to be a thick client not a thin client as we have come to expect with web applications. Sproutcore is developed in such a way that it is no longer necessary to have a server back end. You can develop an application in a browser and it will be like a stand alone application which could or could not require an internet connection. For me this point, coupled with the rich User Interface controls that come out of the box is the big big selling point of Sproutcore.
Experience with Windows
So naturally, I have downloaded Sproutcore and tried it out right away. My first experience was on a windows machine that I have. If you do not have Ruby and RubyGems installed you will need to do this first. I did this and then ran the one line install. Worked smoothly. But when I started with the demo, it just did not work. I got various errors and eventually gave up. I later found out that the development framework was never really tested for Windows. Here the power of the open source community struck again. Yesterday on Sproutcore’s blog they posted an update that claims experimental windows support has been added. That was fast! I still have not had the time to give it a go, but I am waiting for support to change from the experimental state. I will just have to in the mean while work on the OS X platform.
So if my feeling is right, this is going to be big. Lets see who the early adopters, other then Apple, will be.