Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Migrating Pinterest profiles to React (pinterest.com)
104 points by activatedgeek on Nov 3, 2016 | hide | past | favorite | 43 comments


It would be nice to see some more numbers, e.g. page size, load time, etc. (and perhaps some critical analysis of the cost you have to pay in the transition period, where your clients for example need to load both frameworks).


[flagged]


Also because it is better.

"In converting Pinners’ profiles to React, we’ve seen consistent performance and engagement improvements. Performance and engagement metrics each have increased 20 percent."


If they link engagement to performance, why didn't they use Inferno?


Community size


It's such a knee jerk reaction by now: anyone who replaces a part of their system with another technology must be doing it for stupid reasons.

Especially if the new thing is React...


"It has a large developer community and enables excellent engineering velocity and performance"...


Literally 3 years ago you could have said the same about Backbone.

And 2 years ago you could have said the same thing about Angular.

And now you can say it about React.

Are we to expect the next article from Pinterest about [angular 2, vue, elm, etc.] in two years time?


3 years ago React didn't exist. 2 year ago Angular didn't exist.

Apparently there's still a lot of room for improvement, and much as I'd love for things to settle down soon, I've been very happy that I'm not stuck with jQuery or Backbone as the only tools in my belt!


> 3 years ago React didn't exist. 2 year ago Angular didn't exist.

Not to nitpick, but React has been around since summer 2013, and Angular 1.0 was released on June 14, 2012, so these libraries have definitely existed for more than 3 years. That said, I think that plays even more to your point that there are 3+ years of positive changes to be gained from switching from Backbone to React.


So backbone hasn't been improved at all in 3 years?

As that's basically what you're saying.


That's not necessarily what he's saying. If React was a paradigm shift (and I believe it was), Backbone can still be good and it's possible it improved in the interim. But it doesn't change that for many of us it's just not interesting anymore.

What surprises me is that you're so uppity about 'defending' Backbone. Nobody is saying it's shit and anyone using it is an idiot. It's just that many of us prefer what came after. It warrants, at most, a discussion as to why this is the case, but I don't see how it's worth any kind of argument.


The hell are you talking about?

https://news.ycombinator.com/item?id=6328685

3 years ago, angular.


Why is that wrong? Shouldn't you be on the best framework, especially when 2 years have passed?


It's attitudes like this that are getting us into this mess.

If a framework's only been around for a year, which means nothing serious has been written in it, how can you know its limitations? It's appropriateness for large code bases?


No, because it is easier to find good react developers vs. finding good backbone ones, because it is more widely used.

note: no affiliation with pinterest.


To me it seems just like wasting money instead of using the same money to produce business value.

Apparently some developers cannot do math, salary-per-hour * effort-spent.


I believe the 20 percent improvement in perf and engagement alone justifies the effort. Otherwise, the choice of React in this instance is great because you can fail quickly (easy to learn + very easy to start integrating), therefore being able to stop blowouts before they arise.


The question is if those 20% weren't also equally attainable by improving the existing code instead of porting to a new stack.


What question? You seem to have already decided on the answer without asking anything.


Is it possible to achieve 20 percent improvement in perf and engagement by improving existing code instead of fully rewriting it in another technology stack?

What would be the monetary cost of such decision versus the monetary cost of the one taken?

Which approach would achieve the same value of 20 percent improvement in perf and engagement with lower amount of money being spent?


Did you read the article or just the word "React"? They're incrementally migrating, not fully rewriting the application.


Yes I did, and did not saw the business case (monetary) in the decision.


Well the article is primarily about the technical implementation, not the business rationale. But they still mention the main reasons: engineer productivity, community support, and performance gains. All of those translate to money.

As someone who used to work on large Backbone apps I agree that it's a huge drain on developer productivity -- hard to add features, hard to test, lack of standards, etc. Not to mention the recruiting problem: I would never accept a job offer to work on a Backbone app again.


There are more factors than that - a lot of good developers will bail if there is not progress made on updating the frontend stack, especially if the technology is outdated/problematic to work with.

In addition, it becomes harder to hire if the technology is too far behind. It often is an indicator that the company doesn't invest enough into engineering because they let their state fall into not up to date codebases. This results in vastly increased recruiting costs, time lost, and decreased quality of life for those who stay.

It's not as simple as a direct calculation. It's very misleading to assume that one can simply shift resources into product feature development and not necessarily incur tradeoffs.


Which is why I bet in three years time they will be redoing everything again in Vue.js, or whatever comes after React.


That's fine. My favorite thing about React is that it's not opinionated -- it follows simple, easy to understand conventions that are not unique to React. It's also compostable from the ground up meaning it's easy to use React in non-React code and vice-versa.

I don't think Vue will replace React for this reason (it's much closer to old DOM-munging style) but if something does its much less of a big deal than going from Backbone->React.


I'm sorry but are you serious? Any decent front-end dev should be able to be proficient in React in a week.


Yes, which is why it's easier to find React developers, or what are you talking about?


I think you are confusing proficiency with seniority, though I think good learning curve might also be a factor for the switch.


Did you actually take the time to read the article?


> We did this cause it's the new hot thing. Makes sense.

The Chief Javascript Wheel-Reinventing Officer has asked around his fraternity and decided that it's a good idea.


What wheel does React reinvent?


Replacing an existing working stack without a business case, just because.


No... React is a fundamentally new way of working with the DOM, normalizes many cross browser pain points, and allows one to write their UI declaratively such that total control is retained and state mutations are predictable.

No other major view libraries had successfully done that before React was released. I've used angular and ember as well - their view layers suck.


What does react do for cross-browser pain points? I've not heard that claim before.


It ensures that any browser that isn't from google, apple, mozilla, or microsoft in the last year will simply not work, avoiding them significant support burdens!


Sorry -- have we done something to offend you?


Normalizes events, etc.


So many PR words without any reference to actual monetary business value.


Only to someone who isn't actually a developer.

It means my team can write a UI once, test it once, and know with a high degree of certainty that it will work and continue to do so.


A developer who isn't responsible for justifying project budgets you mean.


Virtual DOM is "just because"? Huh, guess I imagined those performance benefits.


Usually all these posts "X rewritten in Y" smell of CV building, without business value analysis done a priori.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: