Build a Micro-Blog with SproutCore: New on Premium
plusvideos

Build a Micro-Blog with SproutCore: New on Premium

Tutorial Details
  • Program: SproutCore
  • Version (if applicable): 1.4
  • Difficulty: Intermediate
  • Estimated Completion Time: 1.5 Hours
Download Source Files

SproutCore is a revolutionary JavaScript framework for creating client-side desktop-class applications that run in the browser. This tutorial will introduce you to the core concepts within SproutCore by developing a simple Twitter like micro-blog.

Become a Premium member to read this tutorial, as well as hundreds of other advanced tutorials and screencasts.

Sproutcore

Using SproutCore means moving your business logic client side.

SproutCore – unlike jQuery, which is primarily a DOM library – is a MVC framework for client-side desktop-class applications written in JavaScript and heavily influenced by Cocoa (Apple’s Mac OSX development framework). It differs itself from other JavaScript libraries because it focuses on providing all the tools required to build a full desktop-like application in the browser – like routing, view controllers, UI components, data store layer, unit testing and deployment tools. Using SproutCore means moving your business logic client side which significantly decreases latency because your application only needs to reach back to the server for data (and to perform business logic you may not want client side).


Join Net Premium

NETTUTS+ Screencasts and Bonus Tutorials

For those unfamiliar, the family of Tuts+ sites runs a premium membership service. For $19 per month, you gain access to exclusive premium tutorials, screencasts, and freebies from Nettuts+, Psdtuts+, Aetuts+, Audiotuts+, Vectortuts+, and CgTuts+ For the price of a pizza, you’ll learn from some of the best minds in the business. Become a Premium member to read this tutorial, as well as hundreds of other advanced tutorials and screencasts.

Add Comment

Discussion 14 Comments

  1. Greg Stiffler says:

    Estimated Completion Time: 1.5 Minutes

    My kind of tutorial!

  2. mark says:

    Would probably be a useful tutorial if I had access to Tuts+

  3. Riley says:

    Sproutcore 2 was just released to developers. I would probably skip this and wait for v2 stuff.

  4. Drazen Mokic says:

    I hope there will be someday a way to pay by paysafecard or something easy like that. Paypal and Moneybookers just suck, i quited my account

  5. I don’t like introducing new platforms over and over. It’s like getting lost in thousands of ways. I think we have to converge technologies into few powerful languages and tools.
    Anyway, let’s support CSS3. Read CSS3 Multi-Column Layout Module.
    Thanks

    • Jason says:

      How do you think things evolve if we don’t learn and try new things? So I suppose I should have never learned how to use Codeignter, just kept writing PHP by hand, even though CI can save you a ton of time.

      More so, what on earth does learning CSS3 have to do with a JavaScript framework.

      Oh, that’s because your comment is total spam linking back to your site….Got it now…

  6. Barry says:

    @Saeed: Sproutcore is a very known and underestimated framework for years, dont judge if you dont know what it is.

  7. Ignacio says:

    Nice, is this for sale on the store?.
    It would also be nice to see a screen-cast for Dojo

  8. David says:

    I am really excited for this screencast. I’m debating between buying this one solo or buying the quarterly. Does this tutorial also include the handlebars templating stuff?

  9. Regis says:

    Hi Gavin,
    Very nice tutorial. I am new to both SC and CouchDB, so there is quite a learning curve. I have followed your advice and also went through the very good CouchDB intro tut.

    Everything in your tutorial worked well (or almost, as my sc-gen’s output is slightly different from yours, for example, it did output a model file called ‘posts_model.js’ and not ‘posts.js’ like with you).

    So, everything seemed to work until I tried to connect to couchdb.
    First problem, this path:
    “/”+this._dbname+”/_design/”+view+”/_view/”+view+”/?”+queryString; returned by getView (and similar for getPath) return “not found” errors. On my setup, it cannot find it because it resolve to “localhost:4020/microblog/_design/posts/_view/posts/?descending=true”, but couchDB runs on localhost:5984.
    So I thought of trying to change the first “/” of the path to “http://localhost:5984/” with some success: no more 404 error, but now a 405 sneaks in: Method not allowed.
    If I type the following directly in my browser window:
    http://localhost:5984/microblog/_design/posts/_view/posts?descending=true
    I get a very nice (though empty) json response
    {“total_rows”:0,”offset”:0,”rows”:[]}

    but if I hardcode the exact same query in SC, I get 405 the error. What gives? I am completely confused and would tremendously appreciate help.
    Thanks,
    Regis

    • Regis says:

      I guess I have to answer my own question if anyone with the same issue reads this thread. I went to the very good stackoverflow.com website and got answers within minutes. Apparently, making a call to a different port on the same local server (I am running MAMP) is equivalent to making a cross- domain call, which is prevented in JavaScript for security reasons. I was given a solution and will post it back here as soon as make sure it works. Still, this is a nice tutorial. :)

Add a Comment

To add a code snippet to your comment, please wrap your code like so: <pre name="code" class="html">YOUR CODE</pre>. You can replace the class name with "js," "css," "sql," or "php." If there are any "<" or ">" within your code, please search and replace them with: &lt; and &gt; respectively.