Where Working in easy Mode gets you
Web Development in Easy Mode
Imagine for a moment that your brain is plastic in both directions. While we often talka nd think about the brains ability to learn and adapt, we don't often think about the pairing down of yesterdays neurons. What is lost as we adapt. Over the past 16 years I've worked in web decvelopment I've learned a great deal of specific tools and tech concepts that have served me and allowed me to do my job. Moving from PHP to Ruby to Javascript meant I had to replace all of the knowledge I'd aquired on how to do essentially the same functionality in each language. Furthermore the trip to Javascript and the frontend invited even more conceptual compression over the years and projects. Lots of concepts like, for instance, what's a directive from an Angular 1 perspective? What's a context or a reducer from a React/Redux perspective? These are synonymous words, some brand names for common coding patterns.
Redux for instance follows the Command Pattern, a common idea in programming where you abstract a number of funcitons into a data object, that you can que and process one at a time. This same pattern is used in everything from background jobs for sending emails to undo systems and much more. You'd never know it if you're a web developer, you'd do just fine getting by knowing that Redux manages state for React components and you can "Time travel debug" the actions as they are created and passed through the reducers to create a new state.
If you never learned Redux, maybe all of those words don't mean much to you or seem confusing. Words ring in your mind, like state and action, but the specifics of how those are coded in Redux is a mystery and in order to do it well you'll need an example or two of the process. It's all a bunch of words until you work with it. And here we are, getting into the weeds on a side library of the React ECOSYSTEM!. All this to, what? Does Redux even handle the request response patterns of communicating with a backend? No. It only manages state for a UI ECOSYSTEM that relies on passing state through props, React basically provides a side-loaded state. Using the connect
function in react-redux
the Redux "STORE"'s state is passed to any component at any level of the React VIRTUAL DOM HEIRARCHY.
If you don't even know React, the last paragraph must seem maddening. How is it that we need this many concepts to develop web sites, on ever evolving framework APIs, and never even start to talk about the actual stuff happening between the browser and the thing the browser just downloaded. With these walled gardens, these managed frameworks, we get to learn a few things, and not touch other things and the underlying APIs that the framework let us see, is entirely up to the framework authors. They are able to abstract as much as they want and update the docs as thourouoghly as they want. This is the way of web development. The Easy way. I'd like to make a case for doing things the hard way.