
Meteor 0.4.0: Introducing Spark - NSMeta
http://www.meteor.com/blog/2012/08/31/introducing-spark-a-new-live-page-update-engine
======
rbn
You guys should focus on authentication. Because this thing is practically
useless without it. I'm aware of the authentication branch but this update
broke it.

~~~
heretohelp
I'd say that the lack of apparent concern regarding something as core and
critical as auth is enough for me to write the whole team off permanently.

I'll never use anything made by people so careless yet so self-aggrandizing
about their own work.

------
edtechdev
There's no link to examples or a direct link to the relevant documentation.
You have to figure out the difference between 'constant' and 'preserve'.

And one of their principles states: "One Language. Write both the client and
the server parts of your interface in JavaScript."

Yet you still have to learn a separate template language, deal with the DOM,
browser inconsistencies, etc.

To be fair, if you did do everything in javascript including the user
interface, it ends up looking like java (see dojo, google closure, dart,
qooxdoo). Javascript isn't well suited for a user interface or template
language, but there are dozens of alternatives, some of which are more
friendly to declarative UIs: [https://github.com/jashkenas/coffee-
script/wiki/List-of-lang...](https://github.com/jashkenas/coffee-
script/wiki/List-of-languages-that-compile-to-JS)

~~~
erichocean
_To be fair, if you did do everything in javascript including the user
interface, it ends up looking like java_

Or iOS, see Blossom: <https://github.com/fohr/blossom>

Frankly, not having to write HTML/CSS and still getting Core Animation-style
hardware-accelerated transitions and a normal Core Graphics-style `render()`
function is really, really nice.

------
Rickasaurus
Why would you name this the same thing as a popular iterative map reduce
implementation?

~~~
tumultco
It is probably named the same as many other popular products; "spark" is a
common english word. With 7 billion people on this planet it is impossible to
avoid naming collisions if you're going to use something from the dictionary.

------
nmb
I agree that the name should be changed. If someone said they built their
product "using Spark", it would be fairly ambiguous as to which one they
meant, especially if their product has a data mining component.

[<http://www.spark-project.org/>]

Meteor Spark looks pretty nice though; look forward to trying it out.

~~~
erichocean
That's what I thought they were talking about, too.

------
shykes
Can Spark be used as a standalone library, without the rest of Meteor? That
would be pretty cool and I suspect it would be very successful.

~~~
wylie
From the linked article: "Spark weighs in at 8k gzipped and minified,
including all of its dependencies, and it's easily separable from the rest of
Meteor."

~~~
bialecki
I just looked at the Spark wiki page[1], and Sizzle is a dependency (although
they say it can be removed if you're willing to ignore IE 7). So it is
separable, but might not be that small depending on your audience.

[1] <https://github.com/meteor/meteor/wiki/Spark>

------
tiglionabbit
Yay, more data binding libraries. This one needs some better examples before
I'll be able to understand at a glance how it works. I currently do my data
binding with AngularJS.

Btw, this feature sort of already exists in jQuery.
<http://api.jquery.com/link/>

------
sebastian
How possible would it be to use something like Spark or Derby.js's Racer in a
django site?

I like the realtime concept/behavior but I want to keep developing in django.

~~~
shykes
For the real-time data synchronization part, try dropping dotCloud JS into
your Django app: <http://js.dotcloud.com>

It doesn't do live templating, though.

~~~
sebastian
But, how much would I need to write to update the data in realtime as it
changes in the backend?

~~~
shykes
Something like this:

    
    
        var people = dotcloud.sync.synchronize('people');
        people.observe(function(type, change) {
            // Update template here
        });
    

There's a live demo here: <http://jsfiddle.net/q2q8b/31/>

------
ricksta
It will be cool if Meteor could be packaged in a gem and be embedded in parts
of a Rails app where client side interaction is heavy.

~~~
kevincennis
Isn't Meteor written in Node?

Maybe this is an ignorant question -- but how would you integrate it into a
Rails app?

~~~
jjaques
You're right, it runs on Node. However as the poster above pointed out, there
would be little practical use in combining this with another framework. Meteor
is really it's own platform. The whole point is the unification of the client
and server codebase.

I'm not sure about Ember, as I believe it tends to be more opinionated about
how much of the page it controls, but Knockout and Backbone are generally
pretty easy to use for just a portion of the page.

Steve Sanderson (creator of Knockout) has a really good overview of the most
popular client side options (both libraries and frameworks).

[http://blog.stevensanderson.com/2012/08/01/rich-
javascript-a...](http://blog.stevensanderson.com/2012/08/01/rich-javascript-
applications-the-seven-frameworks-throne-of-js-2012/)

------
Yoric
Looks good. I would be interested to see a side-by-side comparison with
<http://opalang.org>, though.

------
hugh4life

      Does Meteor have an rss feed for their blog?

