top | item 8772563

What is Meteor.js?

110 points| lolwhat | 11 years ago |joshowens.me | reply

84 comments

order
[+] rezistik|11 years ago|reply
A couple of things really bother me about Meteor.js.

One, the Atomosphere package manager site is insanely slow and buggy. Everything feels like it takes forever to render or rerender. Opening the side menu is a jaggy experience.

If performance is that terrible on a super simple list of packages how terrible is it on an actually reactive site?

Two, I've never seen an article on meteor that wasn't also an advertisement. They all list how easy it is to start a project or add a package as the main draw. That and constant connectivity/"reactive" application structure.

It just feels too orchestrated.

[+] joshowens|11 years ago|reply
What kind of article are you looking for? I talk about all kind of Meteor related stuff on my blog.

Don't confuse your circle of vision on twitter/hackernews/etc as a limited view of what is actually going on in the Meteor community.

Have you ever looked at a Devshop talk?

As for Atmosphere, I would love to pitch in and help but they haven't bothered to open source it yet (and sounds like they won't).

Try http://fastosphere.meteor.com/, judge speed based on that :)

[+] m52go|11 years ago|reply
Is it possible the site is just a little over-designed? I'm not sure it's fair to judge an entire full-stack framework over the front-end of a single site.

I've visited Atmosphere from time to time and while performance wasn't as optimal as it could be with a less sophisticated design, it was never what I would call 'jaggy'.

[+] towelguy|11 years ago|reply
Recently someone posted a fast alternative to Atmosphere to the user mailing list: http://fastosphere.meteor.com/ I think it uses Atmosphere's DDP connection so it should be up to date.
[+] rglover|11 years ago|reply
@rezistik: I've been working on a site called The Meteor Chef for the past couple of months and think some of the stuff I've covered will give you a solid idea of Meteor's power. The focus is on implementations of features for Meteor apps in the form of "recipes," so it's much less about _why_ Meteor is cool and more of a demonstration.

http://themeteorchef.com/

[+] matthewmacleod|11 years ago|reply
Please bear in mind while reading that this is the same author as the rather controversial 'Why Meteor will kill Ruby on Rails' from last year (HN discussion: https://news.ycombinator.com/item?id=6642893)

I'll repeat my thoughts from back then – Meteor is a great experiment that tries out some interesting ideas for what web apps might look like in the future.

I maintain that it's absolutely not production-ready, or even very good. I don't want to store data in Mongo. I don't want Cordova baked-in (wtf is that about anyway?). But we absolutely need people playing with this sort of technology. I just wish the hype would die down a bit…

[+] ryanSrich|11 years ago|reply
I don't even see how one could compare Rails and Meteor. They are intended to solve two very different web development problems.

Discover Meteor, the most popular book about Meteor, even uses Middleman for their blog and website - because using Meteor for something like a blog or information based site just makes no sense at all.

[+] myrryr|11 years ago|reply
It is production ready. We use it a lot. Mongo? Well, yes, you are stuck with Mongo - there isn't good database support outside of that, and as for Cordova? I have no idea why they baked that in either :)

It IS good though, the ability to out put really good applications quickly, with simple code shouldn't be overlooked.

[+] Rezo|11 years ago|reply
I'm surprised at all the negativity. Advocating C++/Java instead of Meteor/Node.js makes about as much sense in my opinion as comparing 18-wheeler trucks to Smart cars, and I wonder if the people who do so have really worked with the latter or are just dismissing it out of hand. The right tool for the job and all that, and you want your toolbox to be comprehensive, right? No serious craftsman ever said "Wrenches? Oh, we're a strictly pliers-only shop".

At my company, we have critical API services with SLA's that will cost us $$$ if broken. We develop on the JVM with Scala, the number of currently open bugs can be counted on one hand, with millions of daily users. But some of the dashboards for monitoring the service are Node.js. Want a new fancy gauge on that board that measures X by interacting with API Y? There's probably a NPM module for that, so give me 30 minutes, OK? I see that the web frontend serving is increasingly being done in Node as well, because it's a good fit for that environment.

Don't get married to your platform! Try many things, and figure out where on the spectrum the tools fit and use them where appropriate. I've done many years of C++ server and embedded development, but working with Meteor just gives me the biggest dumb grin. It's fun!

Node is the fastest growing ecosystem today, and it's not because everyone using it are idiots. Meteor takes that energy and kicks the out-of-box productivity up to 11. Java/Scala/Go/C++ are and will continue to be the workhorses of the Internet when performance and stability are of the utmost importance. So, no matter where on the platform spectrum you're currently on, go check out what's happening at the other end!

[+] zigo3|11 years ago|reply
An example of a sophisticated meteor app I've built to test scalability http://www.qckt.me. I've noticed some performance issues (to be fair it is running on meteor's free hosting service, however they don't set resource limits or anything like that) maybe I'll share some stats I've been collecting in the future.

Like every web framework, I've run into problems. The simplicity of the server-client reactivity is keeping me in. Its a good idea and the got the funding to keep it going.

[+] forrestthewoods|11 years ago|reply
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.
[+] delluminatus|11 years ago|reply
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.
[+] rezistik|11 years ago|reply
That'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!

[+] joshowens|11 years ago|reply
I 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 :)

[+] KhalPanda|11 years ago|reply
In a few words: It's a full-stack javascript framework.
[+] TimJRobinson|11 years ago|reply
Has anyone here built a large, production grade app with meteor? Something that makes money and is more than just a tech demo?

I see a lot of people playing around with it and building tech demo's but very few examples of it being used for anything more than that.

[+] applecore|11 years ago|reply
It's actually quite pleasant to compose your application out lots of small modules, libraries, and frameworks. It's not akin to building your own platform, since all the pieces are there.
[+] alexivanovs|11 years ago|reply
It's really, really good. Even if you're a web designer, building stuff is really quick and effective. I recommend checking out Differntial's GitHub page [0] as they provide a nice boilerplate and also a cute blog that you can setup in two minutes, gives you an idea of the very basics.

Either way, Atmosphere [1] has thousands of packages to choose from, just use the search function. Good alternative is Fastosphere. [2] Many people have said that if you write a lot of code with Meteor, you're doing something wrong.

0. https://github.com/Differential

1. https://atmospherejs.com/

2. http://fastosphere.meteor.com/

I'm very new to this myself, and I know that it gets tougher (duh, it's JavaScript!) after a while, but I feel right about giving it some praise!

[+] methehack|11 years ago|reply
Haters gotta hate.

The framework is brilliant from a productivity and sheer enjoyment perspective. I don't know if it will scale; you don't either. My estimation, though, is that the team building it is very clever and super-aware of what they need to do to make the framework succeed from a scaling perspective.

A lot of the comments here are spitballs from the back row of the classroom. They are willfully uninformed and unfair. It is hard to imagine these commenters are paying much attention during the learning portion of class.

So go forth, meteor team. You're fighting a great fight here. Ignore the naysayers and do the great work you know you can do. Your best way forward is to prove the haters wrong. Maybe a few will even become lovers, though I wouldn't count on it. If you build it, they may come. [update to spell 'perspective' correctly. Ugh]

[+] joshowens|11 years ago|reply
I love this comment, great job!

Also, people are scaling it, we just aren't hearing about it much. I am working to correct that, these trials of scaling need to be more public right now.

[+] robotic|11 years ago|reply
I think Meteor will need the big app to get mindshare like RoR got with Twitter.
[+] tonyjstark|11 years ago|reply
I programmed 2 small apps now with Meteor and my learning is that if you want to prototype something fast you can use it but if you want to have something polished afterwards then don't expect to save time by using it instead of other tools. It has its quirks...
[+] joshowens|11 years ago|reply
What would you suggested or advocate instead then?

I have helped publish a ton of polished Meteor apps.

[+] rglover|11 years ago|reply
If anyone is curious about what it looks like to build with Meteor, I've been working on a site that shows off building day-to-day features with the platform: http://themeteorchef.com/.
[+] dayvid|11 years ago|reply
Meteor.js is great, but the instant you try to do something complicated (or simple and not covered in the often repetitive documentation), you need to be a JS expert or spend a frustrating amount of time looking for a solution.

It's worth trying before you dive too deep in.

[+] sarciszewski|11 years ago|reply
"What is Meteor.js?" Yet another framework that encourages developers to pipe into their shell. Until this changes, I will never give it a second look.

http://curlpipesh.tumblr.com/

[+] towelguy|11 years ago|reply
It is unfortunate people think piping into a shell is cool. But don't let that keep you away from the actual framework, which is actually pretty cool by itself without gimmicks like that.
[+] aharris88|11 years ago|reply
Could you expand on what piping into your shell is and why it's bad?
[+] marbemac|11 years ago|reply
I've built several apps with Meteor, and so far it's been fantastic. Development is lightning fast, the interface is snappy enough, and it's easy to maintain. My latest Meteor app is online at http://stoplight.io.
[+] marknow|11 years ago|reply
I'm a webdev at an agency, and Meteor looks great from a prototyping perspective. Javascript is already a key component of much of our work, so this framework could help us roll out concepts much faster than we're doing now... looking forward to learning more about Meteor!
[+] upside|11 years ago|reply
There's a problem I have with frameworks in general. They tend to streamline your thinking too, which is fine if you don't care about making something original or can't see how developing with new approaches can impact the outcome of your product.
[+] lolwhat|11 years ago|reply
The motivation people have for creating frameworks to begin with is because of bad practices by developers. By not 'making something original' you probably also avoid doing things incorrectly.
[+] joe_momma|11 years ago|reply
Why do they keep announcing Meteor.js as if it's something new. It came out 2 years ago.

Oh I know why, because it has major funding and they have some marketing blitz going on right now beating into people's mind that Meteor is great/grand.

[+] myrryr|11 years ago|reply
Nope, it is because they have announced the 1.0 release. You can build stuff in it without having the platform change from under you now.

2 years ago it was all alpha / betas.

[+] z3t4|11 years ago|reply
The web page looks like a marketing scam ... At least show me a presentation or developing video.