6 ms·
As someone who doesn't know what Meteor.js is this doesn't actually tell me what it is, what it can do, or what it can be used for. Now to be fair I'm not a web
by forrestthewoods 12y ago
As someone who doesn't know what Meteor.js is this doesn't actually tell me what it is, what it can do, or what it can be used for. Now to be fair I'm not a webdev so I don't much about most of these technologies nor am I really the target audience. But still. I feel like if your article is literally called "What is X" it should do a better job telling you what X is.
- rezistik 12y agoThat's honestly just how the Meteor.js blog posts are. Google around a bit and you'll find two dozen articles stating Meteor.js is the best thing since sliced bread, beer, marijuana or Ruby on Rails. It will completely revolutionize your face, twice over! But they'll never explain what it is, or how it's solving hard problems for them. But hey look how easy it is to add social auth!
- MrBuddyCasino 12y agoI know a guy who hooked up a Nunchuck to an Arduino, blasted the x/y/z data into MongoDB and used Meteor.js just to show the coordinates on a website, in realtime. He is also the kind of guy who likes to use Node.js and thinks MongoDB "is a database for when you need scalability". Though I must say he hacked it together rather quickly.
- rezistik 12y agoI like to use NodeJS too, JavaScript is a great misunderstood language that will handle the vast majority of use cases in the world of CRUD. Honestly, there is something to be said for hacking something together quickly. Prototyping is a great way to explore ideas and find the interesting problems nested in the problem you're trying to solve. I just don't like the evangelism of Meteor because I've never seen anything really explaining it's value.
- MrBuddyCasino 12y agoSure it will handle CRUD just fine, like PHP did for all those years, but thats a low standard to measure yourself against. ECMAScript 6 does look kinda decent, but thats the future, not the present. Also, why use it (Node.js) on the server? Its not even that fast, 21th on the techempower Json benchmark, which should be its strongest discipline (all I/O, no computation, emitting Json).
- kaoD 12y ago> Also, why use it (Node.js) on the server? Its not even that fast Not only it's still reasonably fast (21st is great, it's mostly surpassed only by C and Java), but it also has a much better ecosystem than most platforms (especially C and Java), it's faster to develop in (especially C and Java) and shares language with client side. Sharing a common codebase is very important for me. I found in most of my web projects I'm reusing code between server and client. Ever worked with code that does (or should do) the same thing in different codebases? It's just a nightmare. Having the same React code be rendered in the server (fast, SEO-friendly) and in the client (offloads resources off the server) is just too good. NodeJS looks like a decent compromise to me, isn't it?
- MrBuddyCasino 12y agoI agree it is reasonably fast. I don't agree its ecosystem is better than Javas, neither in size nor in quality. Same language is an advantage, so is development speed, I agree. But: C++, Java, Lua, Ur, Go, Ruby and Erlang are all faster than JS, and especially Ruby is a much nicer language. I don't hate Node.js, it has its sweet spots and the tooling feels nice and lightweight, but its not (yet) a very good general purpose tool. Its just not yet on the sane part of the hype curve, and I don't want to be the guy who has to maintain that callback hell 5 years from now. But ECMAScript 6 is definitely moving into the right direction.
- kaoD 12y ago> C++, Java, Lua, Ur, Go, Ruby and Erlang are all faster than JS Wrong column. You're looking at languages, but a language does not affect performance: its platform does. E.g., the only Ruby benchmark which is faster than Node is actually JRuby, i.e. Java. > and especially Ruby is a much nicer language That's a matter of preference. I don't like Ruby myself (nor most languages encouraging classes as their primary constructs). You shouldn't evaluate languages, but platforms. > but its not (yet) a very good general purpose tool Why? I mean, no tool is a very good general purpose tool, but what makes NodeJS worse as a tool than, say, Ruby? > I don't want to be the guy who has to maintain that callback hell 5 years from now. Neither do I. That's why I don't use JavaScript for anything else than a target language. You seem to like ES6, why don't you use it and transpile it to plain JS? Platforms, not languages.
- joshowens 12y agoWe are lucky to have you around to correct us all in the HackerNews comments! Where would life be without this generic comment?!?
- delluminatus 12y agoMeteor.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.
- gaius 12y agoThat doesn't answer the question.
- JeremyMorgan 12y agoI thought it was answered pretty succinctly.
- delluminatus 12y agoNot 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.
- alanning 12y ago> 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 https://www.meteor.com/install [2] http://docs.meteor.com/#/basic/sevenprinciples http://docs.meteor.com/#/basic/sevenprinciples
- KhalPanda 12y agoIn a few words: It's a full-stack javascript framework.
- joshowens 12y agoI guess I would love to hear what you are missing. I think there is a gap between your unknowing and my knowing and I tried to bring that gap a little. I am still trying to figure out how to explain Meteor to someone brand new to web dev and would love for something more constructive from you here :)