<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> <div class="message-content" style="max-width:600px"> <p style="margin-bottom:1em">I love React.</p> <p style="margin-bottom:1em">Why do you write software? Why does any of us write software? What's the big deal?</p> <p style="margin-bottom:1em">I write software to automate and enable myself and others to do things that would be impractical to do otherwise.</p> <p style="margin-bottom:1em">For example, if I have a business that sells stuffed animals, I can write software to enable them to conduct business with people from all over the world so they don't have to come to my physical store and exchange cash for goods.</p> <p style="margin-bottom:1em">If we have a database of performance logs from our application, I can write an internal tool to enable the engineers to be notified of performance regressions without having to comb through the logs themselves.</p> <p style="margin-bottom:1em">If I'm working toward a daily workout goal, I can write software to enable me to track and graph my progress.</p> <p style="margin-bottom:1em">Software is the great enabler. When a task becomes too time consuming, I can write a little software to automate the task completely so I can move on to more pressing things. I can get more done. And I can write that software to enable countless others to automate that same task for themselves.</p> <p style="margin-bottom:1em">And I can even <strong>sell</strong> that enabling tool I built to other people! It's amazing.</p> <p style="margin-bottom:1em">For your software to be useful, you need to have some mechanism for people to interact with it. Your software needs a "user interface" (or UI for short). You need forms, buttons, and links between pages. There's a fair amount of complexity with these user interfaces by themselves. Should the user be able to checkout if they haven't entered their credit card information? How do users filter the performance logs to find the ones relevant to themselves? How do you edit a mistyped entry in your workout app?</p> <p style="margin-bottom:1em">With UIs, the devil is in the details. It doesn't matter how well the backend software automates the task if the user can't interact with that software effectively. The UI is the bridge between humans and the enabling software. If it doesn't work properly, users will become frustrated, lose trust in your software, and abandon it for something else.</p> <p style="margin-bottom:1em">Increasingly, users also expect to be able to use your software wherever they are. On the web for sure, but also on their phone, TV, terminal, and virtual/augmented reality. If you can't meet your users where they are, you're going to have a hard time convincing them to use your software.</p> <p style="margin-bottom:1em">So you need a tool that will enable you to create bug-free and fast user interfaces that can reach your users wherever they are.</p> <p style="margin-bottom:1em"><strong>The tool you need is React.</strong></p> <p style="margin-bottom:1em">React is an amazing tool for building user interfaces with an extremely simple mental model. React, like all other software, is an enabler. It gives you a collection of cohesive tools that enable you to model your application with a set of components that are simple to create, manage, and maintain in the long term.</p> <p style="margin-bottom:1em">Here's all you need to know about React:</p> <ul> <li>Create UI elements (buttons, text, etc) based on the state of your application</li> <li>Synchronize the rest of the world (database info, etc) with the state of your application</li> </ul> <p style="margin-bottom:1em">That's it. This is what makes React so simple. If you can figure out and manage the "state of your application" then you simply determine the UI that should be displayed and the updates to the rest of the world based on that state.</p> <p style="margin-bottom:1em"><strong>And React is a simple way to manage your state, render UI, and conduct side effects.</strong></p> <p style="margin-bottom:1em">I love React because it enables me to manage the complexities of user interfaces in a simple way. Before React, I spent a lot of time working in those complexities, with React I can focus my time on polishing the experience so I can delight people as they interface with my software.</p> <p style="margin-bottom:1em">Chat tomorrow!</p> <p style="margin-bottom:1em">Thanks!</p> <p style="margin-bottom:1em">Kent</p> <h3></h3> <br> <br> <small> <a href="https://unsubscribe.convertkit-mail.com/wvuw58oqkgs6ux59pzc7hn62gkxxs8h25on">Unsubscribe</a> | <a href="https://preferences.convertkit-mail.com/wvuw58oqkgs6ux59pzc7hn62gkxxs8h25on">Update your profile</a> | P.O. Box 562, American Fork, Utah 84003 <br> </small> </div> <!-- --> <img src="https://open.convertkit-mail.com/wvuw58oqkgs6ux59pzc7hn62gkxxs8h25on" alt=""> </body> </html>