Live data from Hacker News

Yahoo Mail moving to React

slideshare.net

141–150 of 301 posts

Re: Yahoo Mail moving to React

#141
post #97

Earlier quoted context omitted.

I'm not sure if this is a troll, or if you actually think any non-web developers would volunteer to learn Javascript just to write application code.

I did. I was very much a skeptic of Node.js, but the tools and libraries won me over. So much work is being done to make Javascript a viable platform.

Out of curiosity, what did you program in before you learned node?

Re: Yahoo Mail moving to React

#142
post #102

Earlier quoted context omitted.

NPM is great, haven't used PHP but it blows Python's pip out of the water IMO.

NPM chokes for me about 1 time out of 10. The main repo has reliability issues. A lot of the libs install executables that require sudo. Java solved dependency management years ago. I don't know why every language doesn't just rely on a classpath.

I've never had any issues with npm and I started coding about 2 years ago. In fact I didn't have any issues with npm when I first started. Maybe you need to have a friend show you how to do it correctly. I can't imagine what your issue is.

Re: Yahoo Mail moving to React

#143
post #88

Earlier quoted context omitted.

You're moving to an entirely different stack simply to make a web app searchable? After you chose to use an architecture (I mean SPA paradigm) that doesn't work with search engines very well? I just don't get it. No, really. I know that's what many people do, but I still don't get it. It is possible to build extremely dynamic websites that are not SPAs. It is possible to do it in a relatively straightforward fashion.…

> It is possible to build extremely dynamic websites that are not SPAs Possible, but not easier.

Highly debatable. I've had great success developing highly dynamic websites using progressive enhancement and directive/web component like approach.

People often smirk when I mention progressive enhancement these days. But the same people often claim that something is "impossible" to do using PE, while it's not only possible, but downwright easy. This makes me think most of them never even tried this approach seriously.

My overall strategy is creating some crude "date model" of the application in pure HTML, then identifying additional behaviors I need to make it look/work the way I really want to. I implement each behavior as separate JS libraries. The libraries are configured by adding additional directives to my markup, so using and re-using them requires no coding per se.

You would be surprised how much you can accomplish this way. Moreover, it forces you to write highly reusable components that are easy to reuse.

CSS3 is a great help in this regard, because (in most cases) you do not have to specify look-and-feel of anything in the library itself. You can simply generate some additional markup that can be styled separately for every app.

Re: Yahoo Mail moving to React

#144
Just curious, what are the reasons for 'isomorphic' apps these days? SEO used to be the big reason, but since google and bing can now render most javascript, and since you can use pushState for SEO, that's not really a sufficient reason anymore.

Re: Yahoo Mail moving to React

#145

Earlier quoted context omitted.

> The runtime performance is already very good and continually getting better Have you checked out the Computer Benchmarks Game? Here are some benchmarks they provide, comparing the JavaScript V8 to Python [1], Ruby [2], and PHP [3]. Looking at statistics such as these, I'm left thinking, "1. This is awesome! 2. Is there something about these other languages that prevents V8-like performance, or is this more a matter…

That's not an objective comparison, since Javascript has been optimized to deal with arrays and numbers, as that's one main use-case that people have in the browser. Take a look at the source code and tell me if that's the kind of code that you write.

> That's not an objective comparison, since Javascript has been optimized to deal with arrays and numbers

What were your thoughts on the regex-dna benchmark?

Re: Yahoo Mail moving to React

#146

I've been a Javascript and Node skeptic for years now but I think the tide is finally turning. So much time and energy has been poured into making JS better that it's finally starting to pay off. Javascript with all the ES6 enhancements is really not a bad language. The runtime performance is already very good and continually getting better. Tools like Typescript and Flow make dealing with larger code bases much easi…

> The runtime performance is already very good and continually getting better Have you checked out the Computer Benchmarks Game? Here are some benchmarks they provide, comparing the JavaScript V8 to Python [1], Ruby [2], and PHP [3]. Looking at statistics such as these, I'm left thinking, "1. This is awesome! 2. Is there something about these other languages that prevents V8-like performance, or is this more a matter…

V8 does precompilation to native code and JIT optimization, which can typically turn numerical computations into efficient, and often highly optimized, machine code. These benchmarks seem to primarily be testing algorithms which require a lot of numerical computation and can take advantage of Javascript's typed arrays, which V8 is designed specifically to optimize.

A somewhat more fair comparison would be V8 vs. PyPy, Rubinius/RuJIT, HHVM, and LuaJIT. LuaJIT and V8 would likely still come out on top due to the amount of work and sheer excellent engineering put into the compilers (and in LuaJIT's case, also the interpreter), but PyPy's performance should be a lot better than CPython's for these benchmarks.

I also imagine (though am mostly speculating) that a benchmark involving a full-stack frontend framework like Angular or Ember, with hundreds or thousands of JS objects and lots of DOM manipulation, should put V8's performance a bit closer to CPython's.

Re: Yahoo Mail moving to React

#147

Earlier quoted context omitted.

Probably because he really wants to build an SPA and believes that it provides the best experience for his users. Which might be true.

The notion that SPA automatically gives you better user experience is a fallacy. Better UI design gives you better user experience, and good UI design is possible using the classic approach to web development. As an added bonus, you get searchability for free and you don't have to move away from your existing server-side stack.

Single page applications allow for more flexible UI design, and that flexibility allows for lots of potential improvements. Forcibly re-drawing the canvas during transitions is quite limiting, and I don't know any visual or interaction designers who couldn't do a better job without that artificial constraint.

Now, whether the benefits of getting rid of that constraint are worth the costs depends entirely on what you're building.

Re: Yahoo Mail moving to React

#148
post #3

It's funny that this showed up on the front page, because yesterday I logged into an old Yahoo email account for the first time in a few years and was absolutely astounded at how awful the UI was.

The UI has almost literally nothing to do with the backend technologies.

Well, this submission is also about switching to React. The headline on the React website is "A JavaScript library for building user interfaces", so I figured my anecdote was relevant.

Re: Yahoo Mail moving to React

#149
post #138

Earlier quoted context omitted.

"Javascript with all the ES6 enhancements is really not a bad language." File under "damning with faint praise", methinks. Not sure what it means if the "not all that bad" version is one that doesn't run natively anywhere yet...

[deleted]

Pretty sure he meant natively in the browser

Re: Yahoo Mail moving to React

#150

Yahoo's React/Flux projects mentioned at the end are intriguing. I have tried implementing Flux architecture in an app and found it really tedious and boilerplatey. I'm still looking out for well-implemented Flux dispatcher libraries. https://github.com/yahoo/dispatchr https://github.com/yahoo/routr https://github.com/yahoo/flux-router-component

Also, don't forget https://github.com/yahoo/flux-examples which ties all of these together.
Post reply on HN