
Meteor Raises $20M to Build the One JavaScript Stack to Rule Them All - milkers
http://techcrunch.com/2015/05/19/meteor-raises-20m-to-build-the-one-javascript-stack-to-rule-them-all/
======
highCs
Previously discussed here:
[https://news.ycombinator.com/item?id=9569799](https://news.ycombinator.com/item?id=9569799)

------
applecore
It seems like a lot of these real-time capabilties should be part of the
database layer, _à la_ RethinkDB and its model of continuously pushing query
results as they're updated.

This way, you're not locked into one JavaScript-based application development
framework.

~~~
twerquie
But you can't have clients directly connecting to the database, their sockets
still need to flow through an application layer where you have your business /
application logic. Unless you start putting application logic into the db?

~~~
zippy786
Shouldn't business logic reside in DB inside stored procedures ?

~~~
cristianpascu
Only if DB runs JS. ;)

~~~
jmakeig
[http://developer.marklogic.com/features/javascript](http://developer.marklogic.com/features/javascript)

(Full disclosure: I work at MarkLogic)

------
murbard2
This is a bit tangential, but I really don't get the value of using the same
language on the client and the server. The advantages I see would be:

1) You need to know / be comfortable with one language less

2) During development, you can easily move functions back and forth between
the client code and the server code, progressively deciding what will be
computed on the server and what will be computed on the client

3) You can generate, exchange, and execute code in real time between the
client and the server

 _but_

1) I don't know any programmer who's both competent and monolinguistic.

3) is of course insane for security reasons

2) I used to think this would be a thing, but once you take the approach of
making the client a GUI to an API, this doesn't tend to happen. It's generally
very clear what's going to be server side and what's going to be client side.

~~~
frivoal
agree on 1 and 3.

As for 2, I think it makes sense. You can pre-render your GUI on the server
side, so that clients get served proper html rather than an empty pile of js,
and then have the same codebase take over on the client side, single-page-app
style, just talking to the backend to fetch data.

~~~
murbard2
That sounds good, but it only means that you have to be able to execute the
client code on the server. You locally (i.e. on the server) simulate a client
connecting and doing some rendering, then send a continuation to the real
(remote) client.

Also - does Meteor do anything remotely like this? I doubt it.

------
CydeWeys
If it's not going to be Free Software, who cares? I've seen so many people,
projects, and companies burned by choosing a proprietary framework.

~~~
TylerE
Uh, it's MIT licensed. That's about as free as it gets.

~~~
JoeAltmaier
Except of course for, actually free. Like, unlicensed.

~~~
alfonsodev
Correct me if I'm wrong but things are copyrighted by default, being the
creator the owner of the copyright. Unlicensed == copyrighted and therefore
not free(libre).

~~~
JoeAltmaier
That can't be right - what's the point then of the copyright symbol and
statement in every copyright work everywhere? In the US at least.

~~~
alfonsodev
Go for instance to [http://www.gnu.org/](http://www.gnu.org/) in the footer
you'll see that copyright symbol. "Copyright © 1996...2015 Free Software
Foundation, Inc"

The symbol it's about being explicit about who owns the copyright. The owner
of the copyright can then decide which license to use. Or not use any. But
choosing not to license doesn't make you lose the copyright nor makes the
creation free(libre).

~~~
JoeAltmaier
The US govt thinks otherwise. They insist that only by registering a copyright
can you protect your work in court. Any 'poor mans copyright' techniques are
never useful in court.

~~~
TylerE
That's not true. Registering the copyright allows you to sue over it (but you
don't have to register immediately, just before you sue!). Also, registration
prior to infringement allows recovery of statutory damages (e.g. big $$$).

But don't take my word for it, listen to the federal government:

"Copyright protection subsists from the time the work is created in fixed
form. The copyright in the work of authorship immediately becomes the property
of the author who created the work. ... The way in which copyright protection
is secured is frequently misunderstood. No publication or registration or
other action in the Copyright Office is required to secure copyright. See the
following note. There are, however, certain definite advantages to
registration. See Copyright Registration on page 7"

[http://www.copyright.gov/circs/circ01.pdf](http://www.copyright.gov/circs/circ01.pdf)

~~~
JoeAltmaier

        "Registered works may be eligible for statutory damages and attorney's fees in successful litigation. Finally, if registration occurs within five years of publication, it is considered prima facie evidence in a court of law"
    

[http://copyright.gov/help/faq/faq-
general.html#automatic](http://copyright.gov/help/faq/faq-
general.html#automatic)

~~~
TylerE
That's what I said. None of that has anything to do with the _actual copyright
status of a work_.

~~~
JoeAltmaier
Hm. The fictitious 'actual status' might be less interesting than the actual
legal standing, right? I'd follow my lawyer's advice on this one (register
early).

------
nickstinemates
I have been hearing about Galaxy for around 2 years, looking forward to seeing
it shipped and in users' hands.

------
bigtunacan
Why has this been re-posted?

[https://news.ycombinator.com/item?id=9569799](https://news.ycombinator.com/item?id=9569799)

~~~
progx
Why you re-post the re-posted post below?

------
owenwil
Why is this back on here today?

~~~
serve_yay
Yes, I'm wondering that as well.

------
escusado
if(Meteor.isServer)... uhm, no thanks.

~~~
singlow
No one would actually use this in production code. It is a useful convention
for examples so that you can tell you are in server or client code.
Occasionally it might be useful in a function that only has a slight deviation
in behavior on the server, although usually you would wrap that difference in
a function that is implemented separately in client or server only libraries.

In application code you would put all server-only code in the server directory
and that code is excluded from the client code, same for client only code. In
plugins, you specify which files are included in the client and server
explicitly.

~~~
JustSomeNobody
I've seen enough code to know that if it's in an example, it's in production.

------
anon3_
The reality of javascript is different in browser and server (node/io).

While I find that meteor was fun to work with, we ultimately opted for plain-
old express + backbone. I think it's abstraction is more of a disservice. It
adds a lot of magic and unknowns to the picture.

After a few months, the initial value of having the unified codebase is
exhausted, and you're left with the technical debt of having already adopted
their libraries and conventions.

It's not really accurate to say that meteor allows you to use any library, you
are adopting their conventions. In the end - using a single unified codebase
in JS involves going against the grain in many aspects (I can elaborate if you
like)

~~~
TY
Please do elaborate. I'm in the middle of building of my first Meteor app and
would love to hear your perspective about it.

~~~
Exuma
He replied below

