Curated by Carsonified

Learn with Treehouse

Accessibility, CSS3, Design, Django, HTML & CSS, HTML5, JavaScript, jQuery, NoSQL, PHP, Responsive Web Design, Ruby, Ruby on Rails, Tools, UX, Version Control, WordPress, iOS and more

Article 19

New Rails-like Framework from 37signals for HTML5 Mobile Apps

By @ryancarson

08 November 2010 | Category: Mobile, Web Apps

In our interview with Ryan Singer of 37signals, he mentioned something that is insanely exciting, and I'd like to draw more attention to it. It was hidden deep in the interview, so not many people discovered it. Here's the deal ...

There is nothing like Rails for mobile web app development, so 37signals are creating a web app MVC framework specifically designed for mobile phone web apps. The code will be comprised of local JavaScript, with the network just being used for data. The apps will work offline, when live data transfer isn’t required.

It’s built in CoffeeScript and Eco, a new templating language created by 37signals.

Essentially, what they’re creating is a streamlined and elegant new development process for HTML5 phone apps, that’s a mirror image of the 37signals web development process.

Singer said they will open-source it if it works out. Here’s the snippet in the interview where he discusses it:

Follow @thinkvitamin on Twitter Please check out Treehouse

Other Posts You Might Find Interesting

Comments

  • http://alvinmilton.posterous.com Alvin Milton

    Sounds exciting thus far. Can’t wait to try it out.

  • Daniel Filho

    OMFGBBQ!

    Need to put my hands on it right now.

  • http://alexyoung.org Alex R. Young

    I don’t know if “nothing like it” is quite accurate, given Ext.js, Cappuccino, SproutCore, and other libraries. And there are a lot of recent libraries for dealing with data in the browser, like Backbone.js, which works well with Underscore, jQuery and jQuery UI.

    There are also client-side frameworks that deal with templates that are already very popular, through libraries like Jade, Handlebars.js, and Haml ports. And some existing MVC frameworks also have routing, offline data storage that can work with HTML5 storage (if available, else they usually use cookies.)

    Another point is, some of us love working with JavaScript and aren’t actually enamoured by CoffeeScript. And if this framework builds on Zepto (which I suspect it will given 37signals’ recent work) then it won’t be suitable for anything but mobile WebKit. Sencha’s jQuery Touch or jQuery Mobile plus a storage library would get you more bang for buck.

  • http://sstephenson.us/ Sam Stephenson

    Hey folks, there’s nothing to see here right now. We spent three weeks experimenting with some new tech to see what we could build, and ended up with something that looks a bit like Rails, but entirely client-side and written in CoffeeScript.

    The project driving the framework—an HTML5 mobile UI for Basecamp—has been on hold for about a month now, and we’re still a ways off from having anything to show. When (or if) we do have something we’ll be sure to post about it on our blog.

  • http://twitter.com/peterc Peter Çoopèr

    Sammy.js is notable as being like Sinatra (a Ruby library/microframework for webapps) but in JavaScript. It gives you that multiple pages in a single JavaScript app vibe. And then, as you say, Backbone.js and LocalStorage.. you’ve got multiple pages with data.

    However, all of the parts for “AJAX” existed before the term did, and if 37signals can pull together several disparate ideas into a single framework, they might have not done anything technically “wow” but as a brand/name/packaged solution, it could be killer.

  • http://www.carsonified.com ryancarson

    Thanks for the update Sam. Even if you don’t finish it, I think it’s a interesting direction to go and will probably inspire other folks to experiment.

  • http://www.carsonified.com ryancarson

    Fair point. The main reason why this is exciting is because 37signals can use their high profile to push things into adoption by the wider web community, so there’s an added bit of interesting-ness there.

  • http://www.facebook.com/lukeinth Luke Hubbard

    Building an app framework in CoffeeScript makes total sense given the shift in app logic from the server to the client. In a year or two will CoffeeScript be the new Ruby?

  • http://kevinelliott.net/ Kevin Elliott

    I completely agree with Peter. If 37 Signals can actually create a Rails-like framework for the client-side (modularly enough to allow different renderers and implementations) it could be a significant addition to the frontend world, especially if they can simplify the data fetching. The technology does not need to be significantly revoluntary, just consistent and widely available.

  • http://www.carsonified.com ryancarson

    Totally agree.

  • http://itsnotvalid.com Alan

    I’d have wished to have a framework of that sort to do desktop browser programming. Or just use rails for data serving.

  • http://www.reasonid.com kmore

    That is big news. As Gruber just joked, look how they’re last software initiative turned out.

    Wow.

  • Anonymous

    I’ve been working on a Rails-like javascript framework for a few months called eyeballs.js : http://github.com/paulca/eyeballs.js

    … it’s definitely made client side stuff much more fun for me. The current power of browsers + the development push toward awesome client side apps … makes for an exciting future.

  • bearroast

    Great news.

  • http://www.squidoo.com/sqlitehammer Jay Godse

    This is excellent news! With software tools such as jQuery, jQTouch, HTML5, local SQLite, able to execute comfortably on mobile platforms, the network should only be used for authentication, authorization, activation, and data, and the rest of the processing should be done on the client platform.

    Of course, this could and should be extended to web apps in general. Why not just make every web app have the same architecture?

  • http://mg.to/ Michael Geary

    > some of us love working with JavaScript and aren’t actually enamoured by CoffeeScript.

    As someone who also loves JavaScript but finds CoffeeScript intriguing and appealing, I’d be interested in knowing why you don’t like it – not to disagree but to help educate myself.

    Thanks!

  • http://twitter.com/iganapolsky igor g.

    This looks cool!

  • http://twitter.com/iganapolsky igor g.

    I personally am not sold on CoffeeScript for smaller & medium-sized projects. Its like having to learn a new language for something that can totally be written in JS. I am having a hard enough time wrapping my head around JS and all of its idiosyncrasies, why would I burden myself and learn more complexities of another language?? On the other hand, for very large code bases it may make sense….

  • luimgz

    You said it yourself: “I am having a hard enough time wrapping my head around JS and all of its idiosyncrasies”.
    That’s exactly why Coffeescript was created. It focus on javascript’s Good Parts™ while removing all the bad parts and idiosyncrasies.

    The author recognizes that underneath all these ugliness there’s a beatifull functional language with a nice prototypical model. Coffeescript borrows the best features of python and ruby, creating a layer of syntatic sugar on top of javascript, without changing its nature (it compiles to highly readable javascript code).

    If you know python or ruby, you know what I’m talking about. If you don’t, please do yourself a favor and spend some time playing with coffeescript.
    It can reduce your number of code lines to 1/3. It’s very simple with an outstanding expressive power.

Badges for Treehouse

Treehouse

Learn iOS, Rails, CSS3, jQuery, Node.js, HTML5, UX and more in less than 8 minutes per day. New videos added regularly. Sign up today and get a free Web Design Toolkit.

Ads Via The Deck

Think Vitamin Radio
Episode #34: Amazon Fire and Responsive Roundtable

Check out our bi-weekly radio show. Covering the hot topics on the web.

Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.

Download Podcast as mp3

Advisory Board

The Think Vitamin Advisory Board in place make sure that you receive the best content possible.