Live data from Hacker News

Horizon 1.0: a realtime, open-source JavaScript back end from RethinkDB

horizon.io

101–110 of 133 posts

Re: Horizon 1.0: a realtime, open-source JavaScript back end from RethinkDB

#101

Earlier quoted context omitted.

The FAQ repeats some things I've heard about Meteor -- specifically that its architecture doesn't scale. But Meteor isn't completely prescriptive. There are several pieces that can be swapped out: You can use Angular, React, or Blaze on the client, for instance. From what I've read, it doesn't look like Horizon is a complete framework, just a database client/server component that can be used with any framework.

We have a short-burst, write-heavy, mostly cpu-bound, work-load, which according to the various financially incentivized critics would completely knee-cap us for our use of Meteor. Except we: 1) optimized our database operations 2) relegated cpu-bound work to micro-services that could process work from a queue at their own pace 3) Leveraged the ecosystem to writer smarter and more concise code Know your enemy and kno…

"2) relegated cpu-bound work to micro-services that could process work from a queue at their own pace" doesn't this defeat the primary selling point of meteor?

Re: Horizon 1.0: a realtime, open-source JavaScript back end from RethinkDB

#102

This looks really great! Does Horizon support pluggable transport? I would like to use Ajax paired with EventSource/SSE over HTTP/2 for bidirectional communication instead of Web Sockets.

There is currently no EventSource/SSE support, but this came up a couple of times. It should be pretty easy to add, and is currently on the roadmap (though for now still unscheduled).

Would it be a change in Horizon or in Engine.io?

Re: Horizon 1.0: a realtime, open-source JavaScript back end from RethinkDB

#103
post #98

Hey guys, Slava @ Rethink here. The team is really excited to launch Horizon -- it's based on a lot of feedback from users of very different backgrounds, and we think it will make web development dramatically easier. I've been up for about twenty-four hours, but I'll be around to answer any questions for the rest of the day.

Does it handle conflict resolution, ike when two people modified the same field at almost the same time?

Edit: While Horizon assigns versions internally, it looks like they are not currently used for catching concurrent client-side modifications by different users. (I previously wrote that they would cause the "losing" write to fail if it was based on an outdated version of the data, but that doesn't seem to be the case yet.)

I opened an issue against our docs to add information on this, as I'm a bit fuzzy on the detailed behavior myself: https://github.com/rethinkdb/horizon-docs/issues/50

Re: Horizon 1.0: a realtime, open-source JavaScript back end from RethinkDB

#104
post #101

Earlier quoted context omitted.

We have a short-burst, write-heavy, mostly cpu-bound, work-load, which according to the various financially incentivized critics would completely knee-cap us for our use of Meteor. Except we: 1) optimized our database operations 2) relegated cpu-bound work to micro-services that could process work from a queue at their own pace 3) Leveraged the ecosystem to writer smarter and more concise code Know your enemy and kno…

"2) relegated cpu-bound work to micro-services that could process work from a queue at their own pace" doesn't this defeat the primary selling point of meteor?

The three key features we derive from Meteor are:

1) real-time view layer

2) diverse and highly integrated ecosystem (libs are written just for meteor)

3) productive development environment (es2015 modules on client/server, no fuss build pipline for sass, jade, angular-templates, angular dependency injection)

There are a ton of secondary benefits, but thats the crux of it. Yes we do sacrifice some of the benefits of Meteor as a monolithic (homogenous?) full-stack solution, but I would argue that they are in fact small, and if you dive into Meteor you'll find it to be pretty modular.

Re: Horizon 1.0: a realtime, open-source JavaScript back end from RethinkDB

#106

Earlier quoted context omitted.

We have a short-burst, write-heavy, mostly cpu-bound, work-load, which according to the various financially incentivized critics would completely knee-cap us for our use of Meteor. Except we: 1) optimized our database operations 2) relegated cpu-bound work to micro-services that could process work from a queue at their own pace 3) Leveraged the ecosystem to writer smarter and more concise code Know your enemy and kno…

OK, glad to hear that it does work for you. Sounds like you have a robust architecture. I don't actually know what is supposed to "not scale" about Meteor. I've just read it multiple times. But because of the nature of Meteor (Really easy for anyone to set up! Anyone can create a real time app in ten minutes or less!), it probably attracts a lot of junior developers. It therefore should have occurred to me to transla…

It comes up because Meteor gets slow faster then most other solutions will get slow. It kind of reminds me in Django how a common mis-step for beginners is using an O(n^2) algorithm on the Django ORM. Meteor is the same way if you aren't using proper indices, or are trying do something that SEEMS doable to the uninitiated (like say pushing ~n thousand JSON objects into a MongoDB set), it's going to give you a bad time.

Re: Horizon 1.0: a realtime, open-source JavaScript back end from RethinkDB

#107

For apps that don't necessarily have the realtime requirement, Kinto [1] is another really cool open-source backend solution that focuses on the offline-first scenario. It's built by the Firefox Sync team and used in production at Mozilla. That said, at first glance there doesn't seem to be anything stopping anyone from building a caching layer on top of Horizon to enable offline-first functionality. Definitely going…

How is Kinto vs Horizon different, anyone from the Horizon team want to comment.

Re: Horizon 1.0: a realtime, open-source JavaScript back end from RethinkDB

#108

Hey guys, Slava @ Rethink here. The team is really excited to launch Horizon -- it's based on a lot of feedback from users of very different backgrounds, and we think it will make web development dramatically easier. I've been up for about twenty-four hours, but I'll be around to answer any questions for the rest of the day.

Hi, Slava, I was a web developer and now I am a mobile developer. Nobody is developing web applications anymore (at least in developing countries). We are all mobile first. How does android or ios developers take advantage of Horizon ? Can you give a few examples? How does horizon make mobile (native) developers life easier ? web development is slowing down and mobile development is on the rise. Mobile developers don't want to deal with backend development. But it seems like web development is your main focus and mobile is a second thought. Please make it the focus of your work. Meteor is useless to us because it is optimized for web client. I hope Horizon won't fall for this trap. Your bigger audience and potential users are android or IOS developers. Please optimize for them and provide lots of examples to show them how their life can be easier. Thanks.

Re: Horizon 1.0: a realtime, open-source JavaScript back end from RethinkDB

#109

Hey guys, Slava @ Rethink here. The team is really excited to launch Horizon -- it's based on a lot of feedback from users of very different backgrounds, and we think it will make web development dramatically easier. I've been up for about twenty-four hours, but I'll be around to answer any questions for the rest of the day.

Very fitting handle.

Im really stoked for this and thanks a lot for your hard work.

Re: Horizon 1.0: a realtime, open-source JavaScript back end from RethinkDB

#110

Hey guys, Slava @ Rethink here. The team is really excited to launch Horizon -- it's based on a lot of feedback from users of very different backgrounds, and we think it will make web development dramatically easier. I've been up for about twenty-four hours, but I'll be around to answer any questions for the rest of the day.

Hi, Slava, I was a web developer and now I am a mobile developer. Nobody is developing web applications anymore (at least in developing countries). We are all mobile first. How does android or ios developers take advantage of Horizon ? Can you give a few examples? How does horizon make mobile (native) developers life easier ? web development is slowing down and mobile development is on the rise. Mobile developers don…

I'm from a developing country too and that is such an exaggeration. Maybe your career has been focused on mobile, but no way there's overall more native development than web.
Post reply on HN