

Facebook: MVC Does Not Scale, Use Flux Instead (2014) - betolink
http://www.infoq.com/news/2014/05/facebook-mvc-flux

======
rebelidealist
I really wonder if a startup that is 2-3 years old should worry about frontend
MVC not scaling.

------
tsunamifury
I think a better way to put it is, sufficiently complex social software
doesn't work on an MVC model that was originally developed primarily for
single user interactions.

I've encountered it in my work work on ultra large social projects. The
complexity and number of states created from so many players leads to a mess
of user journeys and exponentially more code.

But in my experience this is more of a product design problem than a
architecture one. Social software is funny in that two user clients can
technically work fine but social bugs can still arise due to poor design.
Sorting these out requires a great deal of care in the initial product design
and goal setting, the later complexity problems in the code being an outgrowth
of this stage.

------
viach
"This was becoming a serious problem for developers new to a certain codebase
because they were afraid to touch the code"

Sounds like "We don't write tests and blame MVC for that"

~~~
jamra
There is a good video on Flux's website that explains through an example. They
make a very good point about dependencies between Models and Views.

According to that video, Flux isolates concerns in a more modular way than
MVC.

------
tomlongson
This article is from 2014, but if you are at the scale of Facebook, maybe Flux
is a better pattern.

------
escape_goat
This managed to get 15 points in under an hour despite being a not-extremely-
interesting article from 2014 with an inconclusive 'update' that was simply a
reportage of the subsequent discussion on reddit.

Details on the submission:

The account was created 698 days ago, but there is no record of any comment or
submission until 240 days ago.

Submissions are infrequent (6) until 90 days ago; since this time there have
been 30 submissions. Six of those are marked [dead] or [flagged].

Most of the submissions only score two or three points. Two were very
successful.

Also starting 90 days ago is the account's run of three comments. All of them
are root-level comments. The first, 90 days ago, is a lengthy quote with the
words "Couldn't agree more" added to it. At 14 days, the most recent is a
citation of a fact to a link with the putative source. The remaining comment,
at 45 days, is a simple inference of a fact not mentioned in the associated
article, albeit one that would impress me if an automated system had made it.

My own conclusion:

Probably fifteen of us clicked the arrow without reading the article because
the link text contained the words 'Facebook', 'MVC', and 'Flux'.

I realize having written this that it's actually a bit small-minded and mean-
spirited to think like that, and I would love to hear anyone's defence as to
why this article about Flux would be a good one to read over a year after
publication, if in fact I am _wrong_ about the (current) value of the article
in the opinion of anyone who has read it.

~~~
betolink
WOW!!! I got a HN submission sentiment analysis! I normally don't comment on
the submissions in general but I always submit stuff when it looks interesting
to me, no matter if the article, video etc was made yesterday or 50 years ago.
In this case I was reading about a new JS framework called
REDUX[[https://github.com/rackt/redux](https://github.com/rackt/redux)] and
started to think about trends in software development before I ran into this
"updated" article. It's interesting to me how we went from from sync to async,
from MVC to a flow and vice versa, now what seems funny is that it only takes
a big company to throw a "new" pattern or framework to make everybody think
that if THEY are doing it then we should also do it. And if people clicked
just because it says "AAA company says you should use (insert current hipster
framework)" kind of proves my point.

So no, I'm not a robot @escape_goat but thanks for making me pass the reverse
Turing test =)

~~~
escape_goat
Hello fellow non-robot @betolink! I too an a non-robot. We should go to a
vendor to purchase units of food sometime.

A big company throwing weight behind a paradigm is a good predictor of
continued relevance, so I can understand the response, given the volume and
churn of overly-evangelized javascript frameworks/patterns/concepts out there.

------
pbreit
Article was confused and pretty much irrelevant anyway because Facebook.

