
Web Development in 2017 - anonyfox
https://medium.com/@Hisako1337/web-development-in-2017-e106ec18662
======
sarcasmic
Opinion-based, factless essays like this are why webdev is such an unmitigated
cesspit. Some random person on Medium proclaims "Angular has already lost to
React no matter how hard google tries to hide it, React has a really dangerous
license rendering it obsolete for serious enterprises and Vue.js is mainly
driven by a single genius developer (high bus factor)", pieces of cargo-cult
gossip that mixes half-truths with generous loads of alarmist ignorance, and
attempts to distill it down to absolutes under the guise of providing a public
service.

By the time we get down to "backend", I have no idea what the author is trying
to say, and whether it's actual advice or pent-up frustration bubbling up into
resigned cynicism. We namedrop a framework for good measure.

If we collectively chose to interpret articles like this as satire, they'd
provide more value by highlighting the fallacies that lead to the propagation
of opinionated (but unfounded) information.

~~~
rpeden
I don't mind this one because at least it is clear that it's an opinion piece.
Reminds me of the good old days of blogging where writing what you think was
what it was all about.

I mostly dislike posts that try to pass off opinion as incontrovertible fact.
I disagree with the author's opinion about Angular and React, but I didn't
feel as though he was trying hard to persuade me to agree.

------
zip1234
The author advocates "serverless" from the get-go because a "single server is
not enough for anything non-trivial these days". I completely disagree.
Servers are beefier than ever and scaling up has never been cheaper. Look at
how StackOverflow operates: [https://nickcraver.com/blog/2016/02/17/stack-
overflow-the-ar...](https://nickcraver.com/blog/2016/02/17/stack-overflow-the-
architecture-2016-edition/)

They have 4 SQL servers that handle 500 million queries per day. 125 million
queries per server. There are a lot of apps that can get by with less than 125
million queries per day :)

~~~
Spivak
Hardware is cheap, expertise in deploying and maintaining it isn't.

------
tjpnz
It's 2017, but I would still not write a backend in JavaScript - nor would I
rely on a NoSQL database for all but the simplest of applications (and then I
would still use Postgres). I would also contend that MySQL (read: relational
databases in general) and even Linux server management are within reach of
most good developers.

~~~
LeoNatan25
> good developers

Which seem to be in a dire need in the face of more and more "entrepreneurs"
seeking to "disrupt", "change the world", etc. (read: make quick cash from
nothing ideas) and start nonsense start ups based on nonsense ideas. And to
add insult to injury, hire talentless hacks for cheap, calls them "developers"
and lets them "develop" "apps" for platforms they should have no place at all
touching.

------
rpeden
I like this post's optimism.

And I like that the author picked some favorite frameworks and tools without
disparaging the alternatives too much. I disagree with his conclusions about
Angular and React, but he didn't get hung on up the criticism - one sentence
about each before moving on.

When you have the freedom to choose your entire stack, it's good to pick ones
that you enjoy using - so long as they can solve the problem you're working
on.

~~~
armandososa
Agreed. I almost didn't read it because I thought "Ugh, one of those flamey
everything-sucks posts again". But I was surprised at how positive and short
it is.

~~~
rpeden
I mean, I disagree with the authors' conclusions about Angular and React, but
he wrote one negative sentence about each and then moved on. I can live with
that.

------
alexchantavy
I moved from webdev a couple years ago so this is a helpful article on the
current meta, but I disagree with this:

> All this stuff [managed NoSQL document databases] is way easier to grasp
> than the old days of PHP, MySQL and jQuery plus Linux server management.

Even though you can say "Javascript [is] everywhere", I still think using it
for frontend/backend/NoSQL has just as much problematic context switching as
the MySQL/PHP/JQuery days.

------
berzerk
Basically another "everything sucks except for NodeJS and a JS framework"
piece. Reality is that most business stacks these days aren't going to be
written in pure JS. If you do see Node or some framework on the frontend it's
probably going to be isolated from the really ugly but highly functional
backend.

------
flamedoge
Lawyers, what's really bad about React that no big corps allow using it?

~~~
rpeden
If it's anything like the bigcorps where some of my friends work, or even
medium sized companies where I've worked in the past:

The patent clause is the React license probably isn't a problem. _Probably_.
But in a conservative bigcorp, probably isn't good enough. If you're a
decision maker, you want to be certain. You want this certainly because you
have to cover your ass, because it's your ass that's on the line on the off
chance it becomes a problem. Or even if you end up under a manager who
dislikes you for some reason, or no reason at all - they might see the
license, and question your judgement for exposing the company to potential
liability. Or maybe they don't even dislike you, but decide that questioning
you would be a good power play that would make them look good to _their_
superiors.

So if you wanted to use React, you have to clear it with the legal department
first. And if you're at the kind of bigcorp when you've ended up in this
situation, you're at the kind of bigcorp where clearing something like this
with legal is a bigger pain than it's worth. And so you just choose Angular,
or Vue, or Aurelia. All of which will probably meet your needs.

But the project will still fail because the department you're making the app
for gave you terrible specs, and you made what they asked for instead of what
they actually needed.

So I'm not a lawyer, but that's a story about how that clause in the React
license can be a problem even if it isn't a legal problem.

~~~
williamstein
The “React license” is
[https://github.com/facebook/react/blob/master/LICENSE](https://github.com/facebook/react/blob/master/LICENSE)
It is ust 3-clause BSD and doesn’t even include the word “patent”. In addition
to the license, Facebook also provides a patent grant. Any company or
organization could release code under 3-clause BSD and not bother with the
additional patent grant. However, Facebook did bother with the additional
patent grant, which seems to confuse people.

~~~
rpeden
I totally get that.

I just meant that the presence of the PATENTS file is sufficient to cause
doubt in the minds of decision makers at certain types of bigcorps. These
projects are never going to release their code under any license. They're more
concerned about what the patent grant means if they use React at all.

It might not seem entirely rational, but in some circumstances, in risk-averse
companies, it's enough to sway the decision away from React.

I don't work at such a company, nor would I choose to! :)

------
Danihan
This is truly a shit article, in almost every respect, but especially with the
extremely facile analysis of frameworks, languages, server architecture (see
Stack Overflow's setup).

The bias the author has as a javascript fanboy / prototyper is very obvious to
me.

------
rubicon33
Things change so fast in web. The author asserts:

> _Angular has already lost to React no matter how hard google tries to hide
> it_

Hmmm... really? I've only been out of the web dev game for a couple of years.
Angular was alive and well in 2015. I guess 2 years is ancient history in Web.

Alright so, React then?

> _I vastly prefer Vue.js, since it feels like the next-generation..._

Oh.

I wonder what its like to be a beginner web developer in 2017. It actually
seems harder to pick a reliable, maintained, stable framework, than it is to
actually develop the software on it.

~~~
LeoNatan25
It's an accepted reality in the web world. Pick currently trending framework X
which does [A,B,C] amazingly, write some "app" in it. Then comes framework Y,
which reinvents how [B,C] are performed, is so much better and it's now
laughable that you are using framework X (to the point web "devs" won't work
in your company since you are using _outdated_ 1-2 years old framework X, so
you rewrite all of your "app" in framework Y. Then comes framework Z, which
reinvents how [A,C] are performed ...

Rinse and repeat.

Web "dev" is such an amazing prospect. Let's use those amazing technologies
and mindsets to "develop" mobile and desktop "apps". What could possibly go
wrong?

------
petraeus
Try creating a high ranking e-commerce website as a SPA

------
pikzen
>But one server is barely enough for anything nontrivial nowadays

If I facepalmed any harder, my hand would go through my face. A properly setup
server, with caching and a backend not written in node, will go a hell of a
long way. You can scale to tens of thousands of concurrent users with a single
server.

Spoiler: your startup will most likely not even scale up to that level.

These posts are stuck in a tiny little world, made up of hackernews and what
is currently hyped on hackernoon and smashing magazine. In the reality, JS
still hasn't won, IIS is still powering half of the servers, and Java is still
winning. Javascript has gotten better, and if you use Typescript it even
becomes a good language. There are certainly some very good things that came
out of it (and some very, very dumb wheel reinvention), and I dare say there
is not a single UI toolkit that gets close to Vue/React, thanks to the
composability and CSS being good enough for theming. Animations are still a
major pain point. Serverless will cost you an awful lot past the beginning
point, much more so than renting servers, or even having them on-place and
paying sysadmins when you are at that stage between medium and big.

While being optimist and non-flamey, which is a good read, it is also a sad
state of affairs. The backend, database and "native" side of things boils down
to "I don't understand servers, I don't understand databases, I don't
understand that bringing a browser along with my application is a bad thing.".
I get it. We are asked to push ot feature after feature after feature. But it
is genuinely holding everyone back. It's making our software worse. Electron
applications are a 15 years jump back in the past, except that they look
pretty.

~~~
Spivak
> A properly setup server, with caching and a backend ...

Which needs a dedicated sysadmin/ops person to maintain and the cost of
finding, acquiring, training, and paying their salary and benefits is less
than just outsourcing it to AWS.

~~~
tjpnz
Even if you outsource everything to AWS you're still going to find yourself
needing such a person.

