6

I haven't used much JavaScript since the early 00s, and I'm starting to see that my current app is well suited for Node.js. But as a ruby developer, coffeescript looks like it will be more my forte. But I'm concerned that if I jump right into a framework like Zappa without having spent any time with bare bones Node.js, that there will be some holes in my understanding. Is this a valid fear?

Jakub Hampl
  • 36,560
  • 8
  • 70
  • 101
Jeremy Smith
  • 13,617
  • 17
  • 64
  • 112

2 Answers2

7

To a certain extent yes. Zappa is a very new framework in very active development. I wrote an app in it in July and since then the framework has undergone two backwards incompatible updates. In an environment like that it is often helpful to be able to understand what the framework is doing behind the scenes.

Also since coffee script allows you to mix in JavaScript libraries (and Zappa itself does that) their documentation will provide examples in JavaScript - so you have to be able to speak JavaScript fluently.

On the other hand, experience with Node itself is not that essential, since Node provides a rather minimal API, which is for the most part well abstracted by Express.js (also a component of Zappa). Most of what you need to know about Node can be learned in an afternoon.

TL;DR Not knowing coffee and JS perfectly may be a problem, not knowing Node not that much.

Jakub Hampl
  • 36,560
  • 8
  • 70
  • 101
3

If by "Ruby developer" you mean "Rails developer," Zappa may be the shortest leap for you to make. It provides a lot of "magic," the way Rails does. That's good in some ways (it takes less code to execute a conventional web app), and bad in others (it can be hard to figure out where things are happening, e.g. where is a particular HTTP header being set).

So is it possible to be a good Rails developer without knowing Ruby's core HTTP library, or Rack? Sure. And similarly, you can probably be a good Zappa developer without learning much about Node's HTTP library, or Connect/Express. I expect that'll become more true as Zappa matures and its documentation expands.

Trevor Burnham
  • 74,631
  • 30
  • 153
  • 193
  • 1
    "it [is] possible to be a good Rails developer without knowing Ruby's core HTTP library, or Rack" Node is not only that, it is also the app's environment executing the code and providing stuff like filesystem access. Therefore the question would be more like "is it possible to be a good Rails developer without knowing the Ruby stdlib?" – Jakub Hampl Oct 08 '11 at 19:28