Hacker News new | ask | show | jobs
by delluminatus 4195 days ago
Meteor.js is basically Ruby on Rails for Node.js and MongoDB, plus a Javascript library for view-model binding. It's a monolithic framework for building database-backed single-page applications in 100% Javascript.
2 comments

> Meteor.js is basically Ruby on Rails for Node.js and MongoDB...

As a long-time user of Meteor in production I have to say this is just about the exact opposite of how I think of Meteor. I'd encourage anyone interested to try out the simple tutorial [1] and glance over the principles behind meteor [2].

For my take on it, Meteor is great for "real-time" apps where user actions should be disseminated across a broad network quickly. It has helpful things like built-in latency compensation which make the end-user experience much nicer and the "database-on-the-client" is just glorious.

The most beautiful part of Meteor is that these features are provided for developers without us needing to make sacrifices or in most cases even change our way of coding. Latency compensation is purely controlled by whether a method is made available on both the client and server or just on the server. The client-side DB is automatically kept in sync with the actual back-end DB via a familiar pub/sub mechanism.

To me, these features (and the many others not mentioned) make Meteor much different than simply a "Ruby on Rails for Node.js".

[1] https://www.meteor.com/install [2] http://docs.meteor.com/#/basic/sevenprinciples

That doesn't answer the question.
Not if you're unfamiliar with Ruby on Rails, I guess. It's a little tricky to characterize because of how much stuff it contains. Basically it has a number of different components, that work together to make a structured environment for developing Web applications. Some of the prominent features include:

* Web server that runs on Node.js

* MongoDB integration

* Custom build tools

* Package manager (supports installing JS packages for either client-side code, server-side code, or both).

* SignalR-style remote function execution (call functions on the server from the client, and vice versa)

* JS client-side database caching

* Data binding in Javascript templates using Handlebars (or something similar, I don't remember exactly).

etc.

I thought it was answered pretty succinctly.
Really? Alanning says the opposite. So it's not clear at all.
Both answers are not helpfull for a non dev ;)