The light at the end of the tunnel is just another, brighter tunnel.
This week marks the end of 411. It’s been an interesting journey to get here. I’ve learned quite a bit along the way and made some new friends. But this truly marks the beginning of a long adventure into something new and uncharted. I finally get going on my capstone project with a better picture of what it is and how I can do it. And hopefully with that, I can create career of stepping stones to further myself each time.
Redux Thunk is a middleware that can return an asynchronous function. It is especially useful for dispatching fetch requests from the Redux store where they may return a response in an unknown amount of time. Once the fetch returns its data, it is passed into the queue and then the call stack.
ReactJS and React Native may have a similar origin story but they are fairly different in the end. Primarily, ReactJS is a component based JavaScript library while React Native is a cross-platform framework. That means that ReactJS can be installed as a dependency in a JavaScript project and then imported for use inside of a JavaScript file. This creates a whole library of ready to use Higher Order Functions, and a whole new syntax that must be compiled in order to run through an HTML document. But React Native is it’s own framework. And while it still uses JavaScript, it is also written with native APIs in order to render components. This allows it to be written for cross-platform applications since the app will detect the OS first and build itself to match. It makes it more mobile app friendly and eliminates the need to rewrite the app for each platform.
I’m honestly not yet familiar with AMD/RequireJs and CommonJs. But I’ve been doing a little reading and I think I have a slight understanding of what they do. CommonJS is primarily a project with the goal of establishing a common convention for the creation of JavaScript modules. It is being done in order to create more reusable in different environments. One of the telltale signs of a CommonJS module is it’s use of require()
and module.exports
instead of import
and export
. AMD/RequireJS on the other hand is an asynchronous definition for modules and their dependencies. It creates a method of loading the required modules without tying up the call stack from and ordered list of script tag calls. RequireJS is one of the AMD loaders that can be used to take that AMD list and actually load it into the document using a require()
function.
Troubleshooting is currently around 50% of what I spend my time doing. Each project I build comes with a fair amount of asking “why didn’t that work?” And unfortunately most of my troubleshooting technique is looking for errors and trying to track down why it doesn’t like that bit of code. Then I change that bit and try again until I get a new error. There are surely more specific ways to work these things out. But right now it works for me. And I would guess it works for a lot of developers out there.