Live data from Hacker News

Feathers 2.0 – a minimalist real-time JavaScript framework

blog.feathersjs.com

61–70 of 83 posts

Re: Feathers 2.0 – a minimalist real-time JavaScript framework

#61
post #38
post #31

The term "real-time" means that you can guarantee certain timing constraints. It can only work on a substrate (OS) that supports real-time processing. So I am sure that "real-time" is not what this package is offering.

Sorry to tell you this but the term now has a different meaning within the web development community. If that bothers you then regain your composure by remembering that 'computer' once referred the operators of calculating machines - not the machines themselves: https://en.wikipedia.org/wiki/Computer#Etymology Language changes.

The parallel to "computers" does not fit in this case, because that change came to the entire world at the same time, via the same mechanism: computer -> electronic computer -> computer (when human computers became obsolete).

In this case, the existing meaning of "real time" is not obsolete, so the analogy does not work.

---

Next, just because language inexorably changes over decades, generations, and centuries, does not mean that a subculture deciding to use an existing word in a different way is "The language changing."

It's just a subculture deciding to use a word in a different way. When they go forth and use that word outside of their niche, and there is confusion because they mean one thing and the rest of the world means another, the subculture does not get to shrug and say, "language changes."

When you use words, it is your responsibility to know your audience and use the words your audience understands, in the way that they understand it.

And so it is with technical terms that have established meanings in the computer science and programming community. By all means redefine what "class" or "type" or "realtime" means. Use your definitions within your subculture with abandon. But be aware that when straying outside of your community, it is your responsibility to use terms that your audience understands, not your audience's responsibility to presume that all bets are off, and any word might mean anything.

---

Finally, I question the tone of "sorry." Perhaps you didn't mean it that way, but it has an air of the arrogance of a pop culture programmer. "We're inventing new stuff here, no time for your old ideas, daddy."

Re: Feathers 2.0 – a minimalist real-time JavaScript framework

#62
post #24

> exposes both a RESTful and real-time API automatically through HTTP/HTTPS and over websockets. Why not both at once with HTML5 SSE?

That sounds like something worth keeping track of. Do you want to create an issue at https://github.com/feathersjs/feathers/issues for it? The nice thing is that you most likely won't have to change your services when adding a new transport layer.

Re: Feathers 2.0 – a minimalist real-time JavaScript framework

#63
post #60

How does the realtime work when there are multiple node processes or servers? If my client is connected to server A and an update occurs on server B, will my client get the event on the web socket? If so, how does server A know about the event that occurred on server B?

To handle the real-time event syncing we created https://github.com/feathersjs/feathers-sync. It uses a central Redis DB or a MongoDB tailable collection to to synchronize service events between different application instances. Another option is to use your websocket libraries' clustering library, for Socket.io for example there is https://github.com/socketio/socket.io-redis.

This is a very good question. We're definitely planning on adding a section about performance and scaling to the documentation very soon.

Re: Feathers 2.0 – a minimalist real-time JavaScript framework

#64
post #38
post #31

The term "real-time" means that you can guarantee certain timing constraints. It can only work on a substrate (OS) that supports real-time processing. So I am sure that "real-time" is not what this package is offering.

Sorry to tell you this but the term now has a different meaning within the web development community. If that bothers you then regain your composure by remembering that 'computer' once referred the operators of calculating machines - not the machines themselves: https://en.wikipedia.org/wiki/Computer#Etymology Language changes.

This is the first time I've ever seen this usage.

It would be helpful if instead of snark, you responded with an actual explanation.

Especially since a quick search of "real time javascript framework" doesn't return one. The most relevant result suggests that a chat application or dashboard is "real time". When it's really just two-way communication (sockets et all).

In this context, it doesn't appear to mean anything at all AFAICT (aside from marketing) as any framework with some minimal helpers supporting sockets could use the label. Or not... since despite your response, it's possible I've misunderstood since it's not actually a "web development community" bit of language AFAICT. Having been a member over a decade.

Re: Feathers 2.0 – a minimalist real-time JavaScript framework

#65
post #63
post #60

How does the realtime work when there are multiple node processes or servers? If my client is connected to server A and an update occurs on server B, will my client get the event on the web socket? If so, how does server A know about the event that occurred on server B?

To handle the real-time event syncing we created https://github.com/feathersjs/feathers-sync . It uses a central Redis DB or a MongoDB tailable collection to to synchronize service events between different application instances. Another option is to use your websocket libraries' clustering library, for Socket.io for example there is https://github.com/socketio/socket.io-redis . This is a very good question. We're def…

I'll quickly add to what daffl said. That there is one more manual method outline here (https://github.com/feathersjs/feathers/issues/265#issuecomme...) that doesn't require running another non-feathers server.

Re: Feathers 2.0 – a minimalist real-time JavaScript framework

#67
post #7

I started playing with this recently and so far I'm loving it. Here's a Vue.js component example I wrote that interacts (CRUD operations) with a Feathers message service over websockets: https://gist.github.com/niallobrien/7eb51d17c977c46babb8

Just wondering, how are you using ES2015 imports in the browser? Does Feathers come with a built-in module loader parser, or is this a feature of using Vue, or are you doing some other magic?

Vue.js has a scaffolding tool called Vue-CLI which makes it super simple to get started as it has all of this stuff setup for you.

Re: Feathers 2.0 – a minimalist real-time JavaScript framework

#68
post #11

Earlier quoted context omitted.

Disclosure, I'm one of the creators of Feathers. You are right Feathers is MIT and so is Meteor. They both do real-time, albeit a bit differently, so we like to consider Meteor an alternative to Feathers and vice-versa. We are trying to be as transparent as possible and because we don't currently have any formal support from anyone except for the contributor's time and energy, we rely heavily on the community and nee…

Except, claiming you guys are "Real Time" just because you offer a basic websockets implementation and positioning your offering as anything that compares to Meteor is a sham. You don't have real time. You have web sockets that anyone can trivially hook up with NPM. You're undermining Meteor's exhaustive real time functionality when you say that. You are also tricking would-be users who don't know any better. They wi…

This is complete nonsense. You clearly haven't used Feathers. I can assure you that Feathers does indeed provide realtime functionality and have code examples to back up that statement.

Re: Feathers 2.0 – a minimalist real-time JavaScript framework

#69
post #38

Earlier quoted context omitted.

Sorry to tell you this but the term now has a different meaning within the web development community. If that bothers you then regain your composure by remembering that 'computer' once referred the operators of calculating machines - not the machines themselves: https://en.wikipedia.org/wiki/Computer#Etymology Language changes.

The parallel to "computers" does not fit in this case, because that change came to the entire world at the same time, via the same mechanism: computer -> electronic computer -> computer (when human computers became obsolete). In this case, the existing meaning of "real time" is not obsolete, so the analogy does not work. --- Next, just because language inexorably changes over decades, generations, and centuries, does…

Thank you for your response to andybak's childish comment. My sentiments exactly.
Post reply on HN