top | item 5494811

Meteor 0.6.0: brand new distribution system, app packages, NPM integration

99 points| JanLaussmann | 13 years ago |meteor.com | reply

44 comments

order
[+] jongold|13 years ago|reply
This is good news - the momentum of the Meteor community & of dev efforts is really infectious.

Probably not ready to be building 100 million user services on just yet, but utterly fantastic for quick prototyping & iterating services (which is a large part of what I do day-to-day).

I love Backbone & Ember and all the rest, but as mainly-a-designer/front-end-dev, if I can get away without writing an API in Rails and have everything just work I'll choose that any day.

I've also got this idea of a scale of 'magicness' from 0-10.

- 0 - writing the JS by hand, maybe with jQuery.ajax etc.

- 2 - Backbone - easy to use, easy to debug — just not very magical!

- 5 - Ember & Angular - pretty cool but still enough that the headaches can be off-putting

- 9 - Meteor - always seems to work, never frustrating, so magic that the occasional thing that's tricky to implement is totally worth the rewards.

edit: also, shameless plug - if you're in London and like tech meetups that aren't boring, come to the Meteor meetup. It's fun.

[+] jjsz|13 years ago|reply
Is there anyway to bet a brunch / angular skeleton to maybe a 7, close to something like meteor without being tied down to their ecosystem?
[+] kennu|13 years ago|reply
Is Meteor winning now? Commit activity of Derby.js (and Racer) seem really low. I already switched once from Meteor to Derby for more flexibility (npm packages, server-side express routes, etc.). But I'm wondering if Meteor now has more momentum.
[+] nateps|13 years ago|reply
We are still actively developing Derby and Racer. We are currently working on a re-write of Racer's internals on top of ShareJS that will make Derby useable for a production app. See: http://blog.derbyjs.com/2013/03/26/getting-derby-ready-for-p...

Our initial goal in open sourcing the framework was to get some ideas out there and see what worked well and what didn't. We've learned a lot from this process, and we now have a much better idea of how to build a great system.

We are excited to see all of the innovation coming from Meteor, Firebase, and other new realtime systems. While there are similarities, our teams have different perspectives on what the future of web development looks like, and we believe there is still a great deal to be gained from further development of each of these platforms.

Currently, our changes to Racer will keep a similar API but make Derby apps much more stable and scalable to large production deployments.

[+] bjourne|13 years ago|reply
Last I tried Derby.js, their examples wouldn't run. Some version issue that supposedly was fixed in the repos but not released yet. But when I used the repos instead there was something else that broke because of a backward compatibility breaking change. Since I couldn't get even the toy examples to work, I gave up.

Meteor, on the other hand, was extremely easy to get started with. The examples worked and the documentation was decent. Both Meteor and Derby.js are far from finished but to me Meteor seems like a much more polished product than Derby. I still hope both will live on because friendly competition is good and Derby has a niche.

[+] triplesec|13 years ago|reply
Can you, if you have a mo, outline the pros and cons from your perspective? You seem to have a practical knowledge of this, a most useful thing. It might be enlightening for those of us who don't yet know either very well, and raise some questions which then get pondered...
[+] themgt|13 years ago|reply
In terms of momentum, community activity, and tech stack progress, Meteor seems to be way ahead of the competitors and accelerating faster.
[+] yefim323|13 years ago|reply
You seem to be right. Meteor seems to give more tech talks and host more events than Derby too.
[+] fourstar|13 years ago|reply
"Winning" is subjective, plus commit activity doesn't really correlate something to be of a higher quality.
[+] AlexeyMK|13 years ago|reply
[Shameless plug:] I'm giving an intro to meteor talk at Stanford tomorrow (Friday) at 5PM, in the Engineering (Huang) basement/hackerspace https://www.facebook.com/events/476872052366365/.

I'm planning to build a real-time multiplayer javascript game from scratch, taking suggestions from the audience as we go. If you've been curious about Meteor and are in the area, come by!

[+] hoka|13 years ago|reply
Will the talk be recorded? I'm interested, but not at Stanford (unfortunately!) Even just slides would be good, if applicable.
[+] stuffihavemade|13 years ago|reply
So, does this mean meteorite (http://oortcloud.github.com/meteorite/) is now obsolete?
[+] glasser|13 years ago|reply
We took inspiration from the great work Tom and Mike did on Meteorite; several of 0.6.0's features are essentially versions of what Meteorite let you do, except for much more deeply integrated into the core. For now, Meteorite is still a great tool for installing packages from Atmosphere into your app... a fully integrated third-party package repository is in the works but isn't part of 0.6.0.
[+] wavesounds|13 years ago|reply
If you wanted to implement a package that uses something Meteor specific (aka another Meteor package like Meteor.Accounts) you would still want to create a meteorite/atmosphere package instead of a node package right?
[+] glesperance|13 years ago|reply
> We've added file-level JavaScript variable scoping. Variables declared with `var` at the outermost level of a JavaScript source file are now private to that file. Remove the `var` to share a value between files.

I think it is convenient to be able to declare global variables like that but perhaps there should be a way to monitor those ; in other words, it would be really convenient to have some form of alert system to notify you when a new global variable is created.

That way, globals created by mistakenly forgetting the 'var' keyword would be easily spotted.

[+] glasser|13 years ago|reply
This is under active development on the linker branch: https://github.com/meteor/meteor/tree/linker ! The goal, hopefully coming in one of the next few releases, is to provide package-scoped variables and explicit exports from packages, so that you don't need to rely on globals at all any more.
[+] scottrblock|13 years ago|reply
Seems like a good idea to add outside of meteor projects too. Maybe an extension for Chrome dev tools that lists global variables loaded per page?
[+] jmandzik|13 years ago|reply
Alert system if you're running Canary with experimental JS flag on:

Object.observe(window, function(changes){ console.log(changes) })

:)

[+] rglover|13 years ago|reply
I've recently fallen head over heels for Meteor.

When it was first announced, I was fairly intrigued like everyone else and gave it a spin. At the time, I found it difficult to put the pieces together. Now, that's all changed.

Great example: I'm wiring up an accounts system in an app now and excluding styles, it will take about 5-10 minutes to write the auth code. Fully functioning and even ready to support popular third-party services.

The best part: they haven't even hit 1.0.

[+] jordanlev|13 years ago|reply
Congrats on the release. Randome side-question... when I visit meteor.com with cookies disabled, there is no content displayed (just the background image) -- is this indicative of meteor.js not functioning without cookies enabled, or is this just specific to how you've built your site?
[+] stesch|13 years ago|reply
<noscript>This site uses JavaScript. You won't see any content without it.</noscript>
[+] glesperance|13 years ago|reply
IMHO I would expect a big proportion of the sites to break when you browse w/o JS nowadays ; nothing wrong with it, it's just the state of the web now...
[+] joezhou|13 years ago|reply
Devshop 2 was awesome, some of the best engineers I've ever met!
[+] jasonparekh|13 years ago|reply
Meteor's some really addicting stuff. The only regression for me with that stack was losing some of Angular's really powerful client-side functionality. I looked at a couple of the existing bridge options, but none really appealed. I'm creating some nice glue, will put it up on Github once I can ensure it is stable.

Result: get the best of both Angular and Meteor, with the ability to use either (or both of their) reactivity.