

Move Over Meteor: Derby Is The Other High Speed Node.js Framework In Town - dtran
http://techcrunch.com/2012/07/27/move-over-meteor-derby-is-the-other-high-speed-node-js-framework-in-town/

======
malandrew
Can we please stop with the framework approach? Node.js has what is probably
the best package management system out there. Frameworks are really only
necessary when you have crappy package management or specific problems. NPM
makes is so easy to use libraries liberally and that's what people should be
doing.

With frameworks, the framework calls your code. With libraries, your code
calls the libraries.

If you've never taken the libraries approach and are working with a framework,
then you are essentially holding a hammer and looking at all problems as
nails.

What I'd prefer to hear about is a discussion of Racer, the synchronization
library used in Derby.

~~~
stickfigure
This is a false dichotomy. Code calls code calls code; frameworks are
libraries are frameworks. The only difference is when a library gets big and
complicated enough, we call it a framework.

By your silly standard, passing a function to _.each() makes Underscore.js a
"framework", which is probably not the point you were trying to make.

~~~
aaronblohowiak
It isn't a false dichotomy. Inside of vs on-top-of. Or, you can say that
framework code is lower in the stack frames. Or, you can say that you must
make your code comply with the framework's execution model. Or, you could say
that the framework supplies the organization and you provide the
customization.

From this perspective, underscore.js presents an Enumeration framework.
However, it is usually a couple stack frames deep and still way at the leafs
of your code paths. Backbone.js is clearly a framework -- it describes your
data model plumbing and interactions and provides the bindings and pipelines
-- this structure dominates the organization of your code and program flow.
Nothing about underscore's utility functions have this "infectious" or
"dominating" characteristic.

I used to maintain: <https://twitter.com/FrameworkvsLib>

------
timc3
A few months back I decided to give some time to both Derby and Meteor. Derby
appealed because of the packaging, but Meteor obviously had the media
traction. I gave 10 days to each to see what I would learn and build.

After the 20 days my biggest problem was with Derby and trying to make
progress as the community and support just wasn't there. Of course you might
think that one shouldn't complain about this, but its important for the uptake
to have clear documentation (it starts well), guides and people involved etc.
I think it was Nate that would answer my stupid questions on IRC when he had
time, but other than that I was on my own and the feeling I got from others
was the same...

Normally I would just read the source, but it was in coffeescript ( glad that
Derby has now moved to plain Javascript), and it just wasn't enjoyable when I
wanted to integrate with my own datasource from a custom JSON backend - not
just another NoSQL database, but an API I know well. I got it working and so
forth but it did make me wonder why the hell I bothered and rm'd the git repo.

Doing the same exercise using Meteor the first thing that struck me at the
time was their community. The second thing was I was having fun again, and
thirdly it was less effort as long as I didn't leave the path too much. But
the fact that it didn't have auth and that my datasource was completely
exposed and that I couldn't use existing packages was a downside. So I put
both to bed.

I hope Derby is getting greater traction and a community is starting to form
around it. I also hope that the move to Javascript will make some of the
design decisions clearer.

In a few months I will probably give one or other a proper project to work on.

------
orefalo
Haven't looked at Derby, but after doing my first node steps with Meteor; I
quickly figured it was a very rigid platform.

What? no npm?

So I recently switch to SocketStream. So far so good. I like to be in full
control and assemble together the bricks I need.

~~~
dhruvbhatia
I also compared Derby vs Meteor vs SocketStream and settled on SocketStream
due to the level of control and maturity it provides.

------
equark
As far as I can tell derby has zero story for datastores outside their json
racer implementation. There's too much focus on realtime sync in all these
frameworks. Even a realtime app like twitter needs complicated relational
data. I want a framework that could build github. Derby does get major points
for solving the seo and page load issue though.

~~~
nateps
In the future we would like to make it easier to do relational queries, but we
plan to continue to use document stores instead of RDBMS's. Document stores
are more easy to map to the way that data is represented in JavaScript, and
they make it easier to reason about versioned data. Currently we support
MongoDB, and we intend to support other similar stores like Redis, Riak,
Postgres HSTORE, etc.

We just added a lot of functionality to our query system, but it is very much
a work in progress. Making it easier to create queries that represent
relationships is definitely on our task list.

~~~
andrewvc
I strongly disagree with this view of document stores as 'easier' to work
with.

For some tasks, this is undeniably true, but for most business problems I
think this is just not the case. The profound irony behind this is that
schema-less document stores wind-up being so much _less_ flexible due to them
being inherently very denormalized.

The good case for document stores is:

1\. You have data that really is a blob independent of having relations 2\.
You need high-performance or map-reduce (Riak, Dynamo, etc.)

Those two use cases are really rare in the real world. For most people there's
a huge amount of code that leans on RDBMS strengths such as:

1\. Integrity constraints 2\. Very flexible ad-hoc queries. 3\. Decades worth
of work on tooling to mitigate rough edges, and solve tough problems that have
come up before.

~~~
nateps
To clarify, I agree that RDBMS's are fantastic, and you pointed out many of
the benefits. We are not religious about SQL vs NoSQL.

For our particular use cases, we think that document stores are a better fit,
but I am not arguing that document stores are universally easier or better.

------
elchief
I thought Derby was an embedded Java database...

Look at Voldemort Nosql DB. Now that's a unique (to software) name.

~~~
mahmud
Yep. People don't google names before they "make them up".

------
lukifer
I like Derby over Meteor, without question. But Derby is still sorely lacking
in server-side logic, particularly auth, which is what drove my Derby project
to a halt. What non-trivial apps can one build without any private or
authenticated data whatsoever?

Supposedly these features are coming, and I sincerely hope that derby matures
into a real-world tool. The RacerJS tech is amazing, and the library is fun to
work with.

~~~
nateps
Thanks for the support!

We understand that authentication and authorization are critical, and we have
been ironing our issues with them using the app that we are developing as a
first test. Pretty much all of the required code is already in master, and an
example is forthcoming.

~~~
lukifer
Thanks for replying! Looking forward to seeing the example. :)

------
zbruhnke
I met with Nate and Brian a while back, both these guys are extremely
intelligent hackers with great business sense.

They're currently building a core product that actually has a business model
with the derby framework which will help it progress along very well.

While they may not have raised 11.2M these guys aren't going anywhere.

In spending just an hour or two with them their talents really shined through.
As a supporter of rails I will certainly be staying on top of changes to both
Derby and Meteor and looking forward to what comes next for both.

The reality is the creation of frameworks like these is nothing but a good
thing for the hacker community at large.

Congrats on the press guys, Keep up the good work!

~~~
geoffschmidt
I can second this for sure -- they have a combination of intelligence,
business ability, and product sense that is incredibly rare. I've twice missed
the opportunity to work with Nate, and I hope I'll get a third shot someday.
They are also some of the most determined people I've ever met.

I think Derby is really cool, especially the synchronization and conflict
resolution model. Though we've made some different choices with Meteor, I
think there are many people that will like Derby's direction. Everyone
benefits when there are multiple choices.

------
knodi
I guess i'm the only one who hates using Node.js, mainly because I have
javascript.

~~~
sil3ntmac
Is it the syntax? You should look into coffeescript.

...and a spell checker ;)

~~~
bbsabelli
knot shore a spell checker wood help

------
wyck
techcrunch makes me literally ill.

------
user49598
This is a pretty pedestrian non-technical article about javascript frameworks
that have essentially zero market share. Don't get me wrong, they're both
totally awesome and anyone interested should check them out. But the article
itself is pretty worthless.

------
taterbase
My biggest gripe with Meteor is their effort in creating a new package
manager. We already have NPM and it works well. I feel that for Meteor to
truly be embraced by the Node.js community they'll need to embrace NPM.

------
hsuresh
Direct link to the library: <http://derbyjs.com/>

Ironic that i come to know about this framework via Techcrunch.

------
buster
Sooo.. Move over Derby: Socketstream is the other high speed node.js framework
in town? Anyone? ;)

~~~
phillc
Yes. I have played with many js frameworks, including derby, meteor, tower,
and several more while attempting to build my toy app <http://retr.us> . While
it is built in meteor, I have concluded that I liked socketstream the best
because of the level of control, especially on the server side. It also was
the easiest to write unit tests for.

------
thefreshteapot
This is not the right place for it. I have now understood Meteor has funding
of $11million dollars.

What exactly are they funding in? Please explain, im a developer who clearly
fails to understand business.

Edit: Please feel free to email if you would rather keep this thread clean
from this detour.

------
voxx
There's a small, but critical difference.

There's 11 million dollars on Meteors side.

~~~
mibbitier
Money doesn't mean quality. Often it means the reverse.

~~~
voxx
You're right, money is totally worthless.

How silly of me.

~~~
lvh
He's not making the argument that money is worthless. He's making the argument
that funding doesn't imply technical excellence. Perhaps as a corollary:
technical excellence doesn't even imply funding or any other form of financial
success (but it sure helps).

~~~
voxx
Hey, if you're stupid enough to use Derby over Meteor, I have absolutely no
right and more importantly, no obligation to help you make the better choice.

Everyone has a right to be fucking stupid.

~~~
pestaa
I'm sorry to downvote, but your comment is rude and doesn't reply to the
parent at all. This is not how discussions are made on this site.

Enjoy Meteor and have a nice day.

