Echo JS 0.11.0

<~>

tracker1 comments

tracker1 3492 days ago. link 6 points
As a relative old-timer, I'm pretty offended by a lot of what you're saying... there are plenty of us who've kept up with the language and techniques (following node from the start, using it actively sine 0.8/0.10), and understand the newer ESnext bits... Been using babel since the beginning, though I was a little late to webpack, wasn't sold on its' value over Browserify.  Fighting for 3+ months in my team to get the tooling updated wasn't fun to say the least.

Beyond that, I was more functionally minded all along, even with C# I was more inclined to have simple POCO with static utility libraries.

Not all of us old timers are out of touch with the times.  That said, web dev is a completely different way of having to think than desktop apps... not to mention cookies vs local/sessionStorage vs indexdb vs websql and where/how it works... Though it's all *FAR* more easy to work with today vs. the turn of the millenium when v4 browsers were kings, and the next-get half baked was just coming out.  I don't think the author of the question would have handled that time at all.
tracker1 3492 days ago. link 3 points
It's clickbait, plain and simple (what do you want from dzone, king of interaction spam for devs). also, most of the functionality of AJAX came from the browser DOM, not the language.
tracker1 3492 days ago. link 2 points
I know I'm beating a dead horse... that said, I never cared for ng1's DI, as it is the opposite of discoverable... ng2 is better, but still kind of broken in terms of controls in templates vs. variables and file names... vs. React where the control matches the variable name, and the import/require references the file... you can discover where things are and/or come from.
tracker1 3495 days ago. link 0 point
Definitely interested in playing with PouchDB, there's also a server implementation that exposes the Couch api interfaces.  I am a bit curious about security... I'm interested in implementing some syncing of user settings to a private db server-side, and authentication is the only thing I'm not nearly familiar enough with.

Will need to find time to look into the PouchDB server implementation to see how security is, or can be implemented.
tracker1 3498 days ago. link 2 points
I happen to like JS, more so with the extra ES6+ niceties, but I can see the appeal of a more purely functional language without some of the extras.

And no, imho no solution is perfect.. tbh, if it's public facing I'd just prepopulate the store server-side with the essential portion of data and let the rest populate client-side... that would take care of the non logged in user case, and account for search engines... the rest can run client side.  In the end, it's up to the author.

I also happen to really like react in general, and if full server rendering were desired, I'd go the redux-universal route.  I usually use the thunk methods with async functions anyhow, so that allows promise resolution to work in that way.

To each their own though.
tracker1 3498 days ago. link 2 points
Classes in JS(ES6) are definitely sugar over the prototype chain... beyond this, you'll still need to have that inheritance chain for certain contexts.  If you choose prototype syntax over class syntax is entirely subjective.  I happen to think the class syntax is cleaner to look at and follow.

I don't think classical inheritance is a good use case for many types of workflows, for others, they are.  In general, where you want to persist state in conjunction with workflows, classes tend to work better.  Not that you can't work around them, but it really depends on your needs.

I tend to use classes very sparingly in JS.
tracker1 3498 days ago. link 1 point
Very cool... curious how long it will be before we see `.mod` and similar tracking format players in JS.  Would be cool to see a reduction in bandwidth usage (like currently done for mp3/waveform) for games and the like.
tracker1 3498 days ago. link -1 point
tldr; Stick to the latest even number Node versions for the longest period of support.  Use the highest numbered versions for the latest and greatest.

In the end, I feel this is pretty nice, with a new LTR each year at every other version.  The down side imho, is I really hope all the stage3-4 bits of ES make it into V8 before Node version 8 is cut in 6 months, I know a lot of those pieces are slated to make it in.  I have the feeling that with the extra bits that are pretty far along in ES stages, that there won't be need for too many changes to the core engine for some time, at least in terms of ABI/API.
tracker1 3498 days ago. link 0 point
While an interesting demo, the ClosureScript is difficult for me to read.  Also, this can be done pretty easily with React+Redux as well, only populating the primary data on the server, to a full render/rerender on the server via redux-universal as well as other options for partial rendering, or donut caching.

In particular donut caching can work very well with react, having the surrounding render server-cached and templated, only injecting the server-populated center piece (which works for the unauthenticated user case, being SSO friendly), and having the client load any authenticated pieces in the surrounding areas.  Instead of mounting a single react app, you can mount 3-4 one for each region connected to the same store.
[more]