Mastering the Redux architecture

As I have painfully learnt from my past experience, managing states in a complex ReactJS application is no easy task.

Without a framework, it can quickly spiral down into a complete state (no pun intended) of mess, where one loses the delicate understanding of when and why some components are updating, potentially leading to programming by coincidence and increasing the difficulty of debugging the application, not to mention the performance penalty of unnecessary re-rendering.

While the Redux architecture is by no means a silver bullet in overcoming  the complexity of data flow and state management, it can at least alleviate the problem  by making state mutations much more predicable and debuggable.

Through the projects in this course, I hope to become more familiarized with the Redux architecture, especially with regards to dispatching asynchronous actions and deploying middleware to handle asynchronous data flow.


UI/UX design

In iOS development, the Cocoa Touch framework serves as the standard in creating the interface views and components.

In web development, unfortunately, we are not blessed with a clear cut choice.

My past reliance on Twitter Bootstrap might not be optimal for every circumstance, and seemingly arbitrary decisions are often made with regards to the styles and layouts of components.

Through this course,  I hope to develop a systematic and efficient approach in designing good UI/UX.


Back end and database design

A well designed back end, with normalized database and performant SQL queries, is critical in ensuring the scalability, reliability and security of the web application.

This course will no doubt help me to improve and refine my API and database design skills.