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.
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'.
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.
@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.
(MDG-er here) On #2, I think you may enjoy browsing https://www.meteor.com/projects. :-) Lots of meaty technical detail on the different subprojects that make up the Meteor stack.
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…
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.
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.
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!
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.
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.
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.
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.
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 :)
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.
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.
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]
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.
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...
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/.
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.
"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.
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.
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.
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!
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.
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.
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.
[+] [-] rezistik|11 years ago|reply
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
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
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
[+] [-] rglover|11 years ago|reply
http://themeteorchef.com/
[+] [-] yaliceme|11 years ago|reply
[+] [-] matthewmacleod|11 years ago|reply
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
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 good though, the ability to out put really good applications quickly, with simple code shouldn't be overlooked.
[+] [-] Rezo|11 years ago|reply
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!
[+] [-] unknown|11 years ago|reply
[deleted]
[+] [-] zigo3|11 years ago|reply
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.
[+] [-] joshowens|11 years ago|reply
[+] [-] forrestthewoods|11 years ago|reply
[+] [-] delluminatus|11 years ago|reply
[+] [-] rezistik|11 years ago|reply
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 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
[+] [-] TimJRobinson|11 years ago|reply
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
[+] [-] alexivanovs|11 years ago|reply
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
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
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
[+] [-] tonyjstark|11 years ago|reply
[+] [-] joshowens|11 years ago|reply
I have helped publish a ton of polished Meteor apps.
[+] [-] rglover|11 years ago|reply
[+] [-] dayvid|11 years ago|reply
It's worth trying before you dive too deep in.
[+] [-] sarciszewski|11 years ago|reply
http://curlpipesh.tumblr.com/
[+] [-] towelguy|11 years ago|reply
[+] [-] aharris88|11 years ago|reply
[+] [-] marbemac|11 years ago|reply
[+] [-] marknow|11 years ago|reply
[+] [-] tedmiston|11 years ago|reply
0: http://differential.com/
[+] [-] upside|11 years ago|reply
[+] [-] lolwhat|11 years ago|reply
[+] [-] joe_momma|11 years ago|reply
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
2 years ago it was all alpha / betas.
[+] [-] z3t4|11 years ago|reply
[+] [-] rags_123|11 years ago|reply