
Unnecessarily Complicating Front-End Development To Feel Like A Smarter Person - jugularkill
https://medium.com/@julienetienne_/unnecessarily-complicating-front-end-development-to-feel-like-a-smarter-person-5e555fe650ed
======
vikingcaffiene
Sorry but the tone of this article rubs me a bit wrong.

Clearly the author didn't spend enough time in the bad old days maintaining
massive piles of CSS and JQuery vomit to appreciate why modern approaches are
the way they are. If an app approaches any degree of non trivial complexity on
the front end, a framework like react or angular can really pay off. On the
other hand, if we are just talking about a little vanity site or something
that isn't going to need to be maintianed long term, by all means go old
school. Just don't tell me that it's better in all cases because I've got the
scars.

~~~
cityofdelusion
My experience and my scars are very similar. I remember the old days of
maintaining piles of random JS and CSS -- it is not fun and it doesn't scale
beyond blog-size without very good planning. I work for a huge national bank
and I despise having to work on our older code. Sure, React/Angular/Redux have
a learning curve -- but my company is able to deliver features at large scale
_significantly_ faster (and with full test coverage!). I cannot overstate how
much better developer quality of life has gotten.

I'd challenge people opposed to more complex frameworks to consider the
challenge of delivering code at scale in the old-school style (say, Java EE
with JSPs with shared components across multiple million-line applications,
with 50% legacy code > 20 years old).

These newer frameworks were created for a reason. I had some doubts at first,
but I've seen huge productivity gains.

I also don't care to hear complaints about "HTML in my JS". You only need to
code a large application one time with a nest of document.createElement calls
to see the rationale.

~~~
vikingcaffiene
> I also don't care to hear complaints about "HTML in my JS".

Yeah that critique never held much water with me either. When JQuery and other
"unobtrusive JavaScript" frameworks came out, it seemed really logical to
separate the markup from the logic but, as applications aged and changed
things started getting really hairy. I worked for one company that literally
could not change any of their front end markup because they had tens of
thousands of LOC that interacted directly with the DOM via class and ID
selectors. Everything had to be done with CSS which of course led to massive
CSS files with 30k lines. Working with something like that made me appreciate
a more modular approach that React or Angular bring. Being able to
compartmentalize your code into these logical blocks is MUCH easier to manage
in the long term. One of the golden rules of programming is "write code thats
easy to delete".

------
GoToRO
I agree. With a little discipline, namespacing and a good project organization
you can be very productive using only jQuery. No framework to learn, no need
to update your app to the latest incompatible version (angular), you do not
need to wait 6 months until you can hire a new developer.

The only thing that I would use is a CSS framework.

~~~
fvdessen
I am sorry, but modern frameworks such as Vue or React make you an order of
magnitude more productive. And instead of waiting 6 months for a dev, I would
consider training new ones.

~~~
GoToRO
Yes, you are more productive writing the easy stuff and then you loose time
with esoteric bugs, configuration, training. Overall I would say less
productive, but maybe this is only my experience.

~~~
fvdessen
Frameworks have improved immensely in the last few years. With Vue, I use the
cli to generate the webpack project and then it works out of the box, bugfree
(so far).

And then you can work with truly reusable single file components, and you
don't have to manage the dom manually, ever (unless you want to). This alone
is a game changer. It's like going from C/OpenGL to Unity3D.

------
dlwdlw
Hype driven development appears in many disciplines. Javascript is exacerbated
due to its lower barrier to entry (htmls/css hardly require cs degrees) but
also how young everyone is, due to being mostly new developers.

There is some truth in this article. Younger people are more concerned with
looking cool or smart. Due to the tone though, I suspect the author conpletely
misses the point of many js frameworks.

An analogy i've been thinking about is tools to cross distance. From walking
to cycling to driving to flying. No one will argue that a plane is just a
fancy form of flying, with years of schooling and experience being
unnecessary. However hardcore runners may look down on cyclists as they can
have similar speeds yet maintain the flexibility of 2 feet for climbing,
jumping, etc...

In this analogy, rather than distance as attrition(you can technically walk
from sf to la for example), it's state complexity. I don't think complexity
has grown to plane vs walking levels yet, and it's possible to consume your
tools benefit by taking the long way b/c you can move faster (adding
unnecesary complexity to use the complexity management tools). I think it's
still important to understand and separate the original purpose of tools and
their potential, and separate it from how it's actually used (often naively).

The article in the end is trying to create a schism and stratify developers
rather than create understanding. That's something I highly disagree eith.

------
mattnewton
Yup. Whole industry is wrong. No need for better tooling. Web development is
easy /s

Making things more complicated by cargo cutting patterns isn't unique to the
front end (looking at you, AbstractFactoryBuilderInjector dot Java). It is
however different from using those patterns to reduce complexity or otherwise
aide in the development of big systems.

~~~
mattnewton
s/cargo cutting/cargo culting

------
anotheryou
Regarding CSS:

\- I still need prefixes for old funky phones

\- I like or actually need SCSS (try changing the action color across a huge
project without it or try overriding some CSS framework defaults).

------
sasaf5
RIP mobile data wasted on meme-GIFs

~~~
wlfmn
None of the gifs hit 1kb. This is actually a pretty lightweight page. < 1mb
loaded.

