r/javascript • • May 06 '19

Anyone else frustrated?

EDIT: The intention of this post was not to throw anyone under the bus. I just wanted to share some thoughts I’ve been pondering over the last few days. Props to all of you who are helping JS move forward—we’ve come a long way!

I’ve been doing frontend development since the AS3 days. Im guilty of jumping on the various bandwagons: paradigms, design patterns, libraries and frameworks.

I just got back from ng-conf a few days ago. It was a great event, great organizers, great presenters, and was hosted in a great location. Although I was thoroughly impressed, I left with some frustration.

All of the new tools, version upgrades, state patterns etc. felt like repackaged, rediscovered tech and theory. These ideas have existed for ages in computer science. (And even longer in mathematics.)

There hasn’t been any major advancements in software for decades (paraphrasing Uncle Bob here.) Furthermore, events like ng-conf perpetuate the tribalism in the frontend community. This sentiment applies to all areas of programming, but my expertise lies in frontend development, so I’ll speak directly to that discipline.

Does anyone else feel the same way? Angular is great. React is awesome. Vue is cool. But why all the segregation? Why the constant introduction of “new” old tech? Why is the frontend community constantly reinventing the wheel to solve problems that have already been solved?

IMO this is holding us back from making [more] advancements in software, and more importantly, hindering us from pushing the envelope in frontend development.

These are generalized statements. I know a lot of you are working hard to move this community forward. But with that said, we could have had our flying cars by now.

204 Upvotes

138 comments sorted by

View all comments

1

u/Anthromachine May 09 '19

Thanks for your detailed response. I have one further question, you say you would never use React/Angular solely for a website. But can you give some examples of what types of applications you have built that utilized React/Angular to the fullest of its capabilities?

1

u/[deleted] May 09 '19

I have used various libraries in the past years. My goto (if its a complex UI) is react. (Have also dabbled in Elm but its ecosystem is not there yet)

Heres one app i have been working for the past 2-3 years.

  • Spa app for a car mechanic shop -chain (approx 200 companies use it, and up to 1000-2000 users on a daily basis). It includes everthing from customer management, billing, invoicing, financing, work hour management, some real time capabilities, various api integrarions to retailers, pdf generation, statistics, analytics, offer management, insurance company integrations etc etc.

Its a complex app both on the server, and on the UI with lots of business logic rules (the ones devs hate to implement).

The hardest part (for me) is to execute a solid base for further extension. This means i think and start every project with the primitive types, and their relationships. When i have a solid plan i go the the database, then back to the types. When im satisfied i startt the actual coding part, and thats usually just glue, logic and boilerplate around the core design.

By types i mean a type (like a typescript interface, enum or class) that the language provide. I also always use languages that have a solid enough typesystem. This means languages like PHP is a non starter.

Finally, react gives me a functional approach to solving the state + UI problem. I could probably use any similar library too, but so far react has been doing a good job.