
Announcing Meteor 1.2 – ES2015, Angular, React, and More - jonbaer
http://info.meteor.com/blog/announcing-meteor-1.2
======
sergiotapia
I'm blown away by Meteor. Using Meteor and React is just buttery smooth.

More and more companies are using React now in the startup space, and it's one
of the most popular services on StackShare:
[http://stackshare.io/meteor](http://stackshare.io/meteor)

React integration is a first-class citizen:
[http://sergiotapia.me/2015/09/18/react-and-meteor-match-
made...](http://sergiotapia.me/2015/09/18/react-and-meteor-match-made-in-
heaven/)

No weird hacks, lib includes and other nonsense you shouldn't really care
about. And you can manage subscriptions to publications directly in your react
components. It's magnificent.

If you were on the fence, now is a good time to jump in. It's easy to get
started and you'll see that what took months in ASP.Net, and weeks in Rails,
takes days or hours in Meteor. (No hyberbole)

~~~
TylerE
I'll jump on when they have first-class support for a DB that isn't Mongo.

~~~
jchrisa
If you don't mind spinning up your own server instances, our open source
mobile JSON stack handles application level concerns like access control and
data routing. Might be worth taking a look, as it gives you access to a whole
open source ecosystem with support from multiple vendors and for most
platforms.
[http://developer.couchbase.com/mobile](http://developer.couchbase.com/mobile)

[edit] Here's a little hello world tutorial I wrote a few months ago with
Couchbase Lite and React Native.
[https://gist.github.com/jchris/3c32524577deff3d69aa](https://gist.github.com/jchris/3c32524577deff3d69aa)

~~~
aidos
Why on Earth was this downvoted? Seems relevant and useful to me.

------
arturadib
I've been using Meteor for months. It's such a pleasure to work with. It's
what Rails should've been if it was written today.

They just keep on delivering on out-of-the-box functionality, compatibility
with 3rd party libs, and more importantly - on a _very solid_ architecture for
real-time transport by guys who really know what they're doing.

Kudos everyone.

~~~
emerongi
Exact same experience. Development is easy and frustration-free. The team
listens to the community AND delivers.

The platform is not just for playing around anymore, it has matured really
well. See the case studies[1] - I, for example, love Hansoft X[2].

I think I would feel frustrated to have to go back to any other framework.
Meteor is what web-development should be like. I'm not sure if Meteor is going
to be THE platform everyone is going to use, but it definitely is completely
changing the game and I suspect web-developers will be adopting the Meteor
ethos.

[1] [https://www.meteor.com/case-studies/build-apps-with-
meteor](https://www.meteor.com/case-studies/build-apps-with-meteor) [2]
[https://hansoftx.com/](https://hansoftx.com/)

~~~
JaakkoP
Same experience here as well.

I don't think either that Meteor is going to become de facto platform for all
web development, but it's definitely going to be one of the main ones along
with Angular, React and Rails.

~~~
djmashko2
I'm curious - do you think there is room for someone to come along with the
right combination of stuff to become the "de facto platform for all web
development"?

It's interesting also that people always talk about Rails but don't mention
JSP and .NET, which I think are actually a lot more popular last time I looked
around. I guess it depends on who you ask.

I feel like JavaScript is in a sweet spot right now because it has the
inherent advantage of being the _only_ language you can run inside a browser,
so you can do things with it that would be very hard or complicated in other
languages.

~~~
JaakkoP
Good question. I think Meteor is certainly the closest of such platform at the
moment, but you don't have to go far to find a developer who really hates
JavaScript and will never switch over. Such hate may or may not be justified,
but you won't easily change their minds. At the same time, there are people -
including me - who only develop with JS with no real need to switch over to
something else.

I wish I had a more educated answer (guess?), since this is all just anecdata.

~~~
lostPixels
Has anyone built an Ecommerce platform in Meteor? Meteor is just this months
hotness for building a specific type of web product, namely web apps. It's not
going to become the defacto standard of anything else.

~~~
chrisquinnr
I have, not ready for prime time yet as client is dragging their heels but the
tech is sound. Using stripe, with big props to
[http://themeteorchef.com/recipes/building-a-saas-with-
meteor...](http://themeteorchef.com/recipes/building-a-saas-with-meteor-
stripe-part-1)

------
jxm262
I've recently been using Meteor on a couple small projects and so far like it
quite a bit. My main frustration though is unit testing. While there's the
official Velocity test runner, documentation and code examples for integrating
and effectively using the frameworks is very confusing (I personally use
Mocha). I know there's some books and blogs to help alleviate this, but there
doesn't seem to be one (or even just a few) de-facto framework/setups to
illustrate how to properly unit test Meteor apps.

~~~
samhatoum
Try this

[https://github.com/xolvio/Letterpress/tree/master/app/tests/...](https://github.com/xolvio/Letterpress/tree/master/app/tests/jasmine)

ES6 modules will change this approach somewhat, FYI

~~~
jxm262
yeah, I'm aware of the Meteor testing manual. It has alot of good stuff, and
for what I'm doing the link you mentioned mostly resembles my setup (although
using mocha instead of jasmine). Just wish the testing was more "officially"
documented with good examples and sample repos as opposed to buying a book. If
you go on the meteor forums there is _alot_ of discussions on the different
frameworks and how to piece things together.

------
hayksaakian
I don't keep up with meteor, but I have a question for those who do keep up to
date on changes.

Can meteor apps be isomorphic -- in the sense that they render plain HTML on
the server during first load, and then do the javascript loading thereafter?

I work on several client websites, and passable SEO is a requirement.

I know there's some hackery you can do to get single page apps to be indexed,
but I prefer when it "just works" out of the box.

I have some react apps that use this model, and they index perfectly.

~~~
subpixel
If I'm not mistaken every page on this site is React, rendered on the server:
[https://kadira.io/blog/](https://kadira.io/blog/)

More info: [https://kadira.io/blog/meteor/meteor-ssr-support-using-
flow-...](https://kadira.io/blog/meteor/meteor-ssr-support-using-flow-router-
and-react)

~~~
bshimmin
It does indeed appear to be so - and it works great if you disable JavaScript.
In fact, if anything, it works _better_ if you disable JavaScript, because it
doesn't flicker and jump around as it renders. You might almost be forgiven
for wondering why it wasn't just exclusively rendered server-side, really,
except it'd probably be heretical to conceive of such an antiquated idea.

~~~
btown
They don't exclusively render server-side because it's tremendously CPU-heavy:
[https://twitter.com/kadirahq/status/620467416749838336](https://twitter.com/kadirahq/status/620467416749838336)

Over the years, Rails has evolved a lot of ways to do server-side rendering
while sharing as much as possible between runs. React isn't there yet, but
there's no reason that it can't do the same given enough time.

Until then, in many ways, as a user of a site with a modern JS-enabled
browser, I'm providing my own CPU power to render dynamic content, thereby
subsidizing the site's cost of supporting older/non-JS browsers with SSR at
negligible cost to myself (though I suppose everyone's utility function
handles occasional flickering differently). I, for one, don't see any problem
with this arrangement.

~~~
arunoda
Yep. We don't render all the pages. But most of the pages of
[https://kadira.io](https://kadira.io) is public. So, we cache a lot.

------
graffitici
Is it fair to say that Meteor is an alternative to Relay and Falcor for
managing state with the server? It also seems like it's competing with Redux
and all the Flux libraries, right?

The plus side of all this is that React seems like it's becoming the
ubiquitous "V in MVC". This is great news, since this means designers should
soon feel at east working with JSX, regardless of which platform the company
uses. It also should mean that using Meteor for developing mobile apps using
React Native should be straightforward..

Not sure if I'll get into using Meteor, but I'm definitely very glad I have a
head start on React..! Truly a technology worth mastering.

~~~
zyxley
For my part, I can't stand JSX. The 'magic' behavior of using things without
quotes/escaping just makes me go "ewww".

------
asumanth
I've been on/off using Meteor for the past year. I think meteor has the
potential to be the stack for developing applications in the future.

There are a few things that keep me off using Meteor.

Non MongoDB DB support

First class routing, recently the community seems to be moving away from iron
router to flow router, but most of the community packages are using iron
router. From my readings, they dont seem to be easily interoperable.

Interop with blaze (default view). With support for React, how do the existing
community packages built with blaze be used with React

------
ptttr
There's one issue with Meteor that rarely gets mentioned. While you get hybrid
mobile apps out of the box, you'll have hard time integrating native apps with
Meteor backend. DDP clients are not official, and there's no minimongo on
native clients so you lose critical part of Meteor's appeal. In the late game
switching to native apps is more cumbersome compared to when you have a
regular REST API backend. But still, Meteor is a amazing piece of technology
and I'm happy to see this update.

~~~
primigenus
Have you taken a look at Meteor iOS?
[https://github.com/martijnwalraven/meteor-
ios](https://github.com/martijnwalraven/meteor-ios) \-- made by the person who
currently leads mobile work at MDG.

------
chaostheory
Will there ever be 1st party relational database support?

~~~
djmashko2
There's an experiment in progress here, written by Slava and myself (core devs
at Meteor) over the course of a week: [http://meteor-
postgres.readthedocs.org/en/latest/](http://meteor-
postgres.readthedocs.org/en/latest/)

It suggests that there isn't really that much work to do to make a basic SQL
integration story that people can use. At this point when this makes it into
core is a matter of prioritization and not stretching ourselves too thin.

------
drew-y
Does this release include support for ES2015 modules?

Edit:

>Meteor 1.2 will be the first step in making that seamless development
experience: we're adding support for all its features except for modules

Oops. Didn't see that. This is a bit of a bummer. It'd be great to use ES2015
modules in Meteor packages. I hope there is plans to support them in the near
future

~~~
drew-y
Looks like they are!

>Eventually, Meteor wants to transition to ES2015 modules for everything

[https://github.com/meteor/meteor/blob/303052be68128ce9026bc2...](https://github.com/meteor/meteor/blob/303052be68128ce9026bc28a460896b0e271eb6d/tools/isobuild/README.md)

------
stanleydrew
For those with experience integrating Meteor with Angular, can you describe
the benefits and tradeoffs?

Been looking to supplement or replace Angular's $resource with something a
little higher-level on CRUD-heavy applications. Is Meteor a reasonable choice,
or am I misunderstanding it's core value proposition?

~~~
erokar
I haven't tried using Angular with Meteor, but I know both pretty well. I
would recommend trying Meteor with just Blaze (its rendering engine) before
adding Angular. Maybe it's enough and you don't need Angular's added
complexity.

~~~
stanleydrew
Will definitely try that with a new project. Sounds like you wouldn't
recommend trying to hack Meteor into an existing Angular project?

~~~
erokar
The latest version of Meteor actually comes with support for Angular and React
— so if you want it, it shouldn't be too hard to add. Personally, I guess I've
grown a bit disenchanted with Angular lately. It makes some things easy, but I
think it adds unnecessary complexity. I'm inclined to look for simpler, more
functional/stateless solutions these days.

------
mizzao
For those who really don't want to install Meteor, you can even run it right
in your browser:

[http://meteorpad.com/](http://meteorpad.com/) (JSFiddle-type thing for
Meteor)

------
roneesh
I've posted about the benefits of Meteor on HN before (the tiny apps I built
were easy to do), and many times I've been told that the Meteor packages
you'll use are out of date and require effort to make work. On this thread
however people are saying using Meteor is buttery smooth. Any people care to
chime on this issue? Without diving in myself and building a large app, I'm
having a hard to determining if the Meteor package ecosystem is thriving or
stagnating.

~~~
chrisquinnr
I've yet to come across a situation where something I wanted to do didn't a)
have an existing Meteor package, or b) have an npm package that you can
include using meteorhacks:npm by arunoda. I'm using Meteor for two enterprise-
grade b2b projects (so: reasonable scale) and as far as I'm concerned the
package ecosystem is freakin awesome.

------
morgante
Can you run Node packages on Meteor yet?

The decision to be incompatible with the vast number of Node/npm modules is
what originally turned me off from Meteor, and I hope it's resolved.

~~~
rory
I believe you still have to use a third-party package
([https://github.com/meteorhacks/npm](https://github.com/meteorhacks/npm)),
but it's quite easy to use and I've never had any problems with it.

~~~
kentonv
You don't have to use that. Meteor has had built-in support for npm since
something like v0.6 (~two years ago). You need to declare your npm
dependencies in your package.js but then you can go ahead and use
`Npm.require`.

As someone who has been building on Meteor for a while and using many npm
modules, I've never actually heard of "meteorhacks:npm", and to be honest I'm
confused what it's for...

~~~
primigenus
It allows you to skip having to specify npm dependencies in package.js.

------
keithy
My go to stack for personal projects is React Node Postgres, while Meteor
looks great I just can't live without the sweet built in postgres features
like trigger functions. I'm on the lookout for a rails like framework because
right now I tend to code everything by hand. Will give it an honest try once
they support MySQL or pgSQL.

~~~
anonyfox
Have a look at the phoenix framework, written in elixir. While there aren't
that many drag'n'drop solutions available than in meteor, everything is rock
solid, fast and fault tolerant. Oh, and it is _very_ familiar for rails
developers, while also having powerful channel abstractions (incl websockets,
meteor's secret sauce), postgres as default, and _native implementations_ of
channels for ios/android clients.

------
facepalm
Are they still dependent on MongoDB? I've been waiting for alternatives to
become available.

~~~
neovive
Yes. MongoDB is the only officially supported application for Collections.

------
neovive
I've worked with Meteor on and off for the past few months and it's very fun
and fast for development. It's very exciting to see how quickly Meteor is
moving ahead. I'm eagerly awaiting the official release of Galaxy as
production deployment is a bit involved with different options to piece
together for Mongo and Node hosting.

My biggest concerns are the lack of official support for server-side
rendering, routing and relational db. Although, many of the common concerns
you'll see in the HN comments are on the development roadmap[1].

[1] [https://trello.com/b/hjBDflxp/meteor-
roadmap](https://trello.com/b/hjBDflxp/meteor-roadmap)

------
289375223
I am debating between meteor and relay at the moment. I am thinking relay.
Maybe because of graphql, maybe because I don't like the fact that Meteor was
pushing Blaze up until recently. I don't know yet. Anyone want to do a
comparison of the two? :)

~~~
rgoomar
I have looked at both and Meteor has had the architecture that Relay provides
for a longer time. On top of that, it is easier to use / setup and allows you
to get developing at a faster pace and still use React.

TLDR; Meteor and Relay are very similar, but Meteor is much easier to use.

------
hippich
for people experienced with meteor - is there solid support for postgres
backend? i really like it, but details on sql backends support is spotty

~~~
dustincoates
It's being worked on. There are some packages that provide postgres support
([https://atmospherejs.com/?q=postgres](https://atmospherejs.com/?q=postgres))
but not in core just yet.

~~~
hippich
wow... 5 different modules for postgres support. this will be hard to sell to
sql folk just yet :)

------
goodoldboys
Meteor is awesome! Really happy to see these latest changes - I'm excited to
get started with ES6 and also get away from Blaze and start using React. As
soon as they release SQL support, Meteor is really going to take off.

For those of you on the fence about using meteor, I highly highly recommend
it. It's silky smooth and really easy to get a basic webapp up and running
(check out
[https://github.com/themeteorchef/base](https://github.com/themeteorchef/base)
for a great starter repo that I use all the time)

------
daddykotex
Is ES2015 the exact same thing as ES6?

~~~
daddykotex
Sorry, I just found out this :
[http://exploringjs.com/es6/ch_faq.html#leanpub-auto-isnt-
ecm...](http://exploringjs.com/es6/ch_faq.html#leanpub-auto-isnt-
ecmascript-6-now-called-ecmascript-2015)

~~~
djmashko2
Yeah, for a while we had to say ES2015/ES6 in all of our blog posts etc. but
hopefully soon things can settle down. Especially when it gets to ES2016/ES7
and above, having the year in the name will be super convenient (like Ubuntu
version numbers)

------
lisowski
I love meteor and can wait for galaxy! atmosphere is awesome, so I can only
expect something amazing.

The react integrate is pretty cool too I just did a trello clone to learn more
about react [https://github.com/hipstersmoothie/react-meteor-
trello](https://github.com/hipstersmoothie/react-meteor-trello)

Now I just need a new project to use react with!

------
diverightin63
So, one thing holding me back from using MongoDB (and thus Meteor) is a lack
of understanding how schema can be managed.

Say in MongoDB you are storing documents in a collection such as { property:
"" }, and decide you want to change that to { property2: "" }. Does that mean
you have to script a change to every document to convert these objects?

~~~
djmashko2
As far as I know, this is an issue for every database, no? What are you
currently using?

~~~
X-Istence
Except that in every other database a migration like that changes a column,
that's it.

In MongoDB you have to manually walk all your objects and migrate them.

------
gmaster1440
One of the things still holding me back from using Meteor with React is the
lack of support for a module loading system.

It seems like if I want to define a component in a separate file, I'll have to
assign it to a global variable if I'm going to compose it in another file.

~~~
mquandalle
Using global variables isn’t even the worst part. The big problem with this
sharing model is that files are loaded in the alphabetical order, thus the
only way to control that file a requires file b as a dependency is to give to
b a file name that is before a in the alphabet (this is not true for Meteor
packages where we can control the file order).

Thankfully MDG plan to address this issue soon.

~~~
rralian
I agree, but this is why I was very excited when I found this skeleton
project. [https://github.com/jedwards1211/meteor-webpack-
react](https://github.com/jedwards1211/meteor-webpack-react) It should give
you the modules and full es2015 you're looking for.

------
waffl
Hopefully not too off-topic but is there a reason some people refer to the new
spec as Ecmascript 2015 or ES2015 vs Ecmascript 6 or ES6? I was a bit confused
and had to look it up, and had never heard of previous specs being referred to
as ES2011 or ES2009.

~~~
rgoomar
It used to be called Ecmascript 6 (aka ES6), but the name was changed to help
enforce a more frequent update. So, it changed from ES6 to Ecmascript 2015
(aka ES2015).

------
resca79
Nice to see this update, it's growing. I remember the first intro video.

------
sgzhaohang
I'm excited to see they've made big stride over the past several years.

I'm really curious about how people compare this with native dev especially
right now most startups chose native approach.

~~~
mizzao
React native + Cordova, seems like it would be pretty great for everything
except 3D games...

------
mitchellpash
Can't wait to start learning this language. Are there any great resources like
how the Laravel community has Laracasts, but for Meteor?

~~~
heimann
Check out [http://www.eventedmind.com](http://www.eventedmind.com)!
[http://www.discovermeteor.com](http://www.discovermeteor.com) is another
great starting point.

