Project Technology Thoughts

For this blog post, the prompt is the folowing: “What is your favorite technology from your project and why? What is it used for? How could it be made better?”

Our project is a SaaS web application that uses React for the frontend and C# with ASP.NET on the backend.

What is your favorite technology from your project and why? What is it used for?

My favorite technology from the project so far is React. React allows for the frontend of the code to to be written into a number of components that act as building blocks. On top of this, there is a concept known as state that is the current values of different variables / fields in the application. Once state is changed, React efficiently re-renders that portion of the code, making the frontend interactive and responsive to users.

React is simple to use once one learns the basics, and there are many 3rd party SDKs designed to work seamlessly with React. One such SDK is Auth0. After reading through the Auth0 API / SDK docs, I was able to find a portion of the code where the functionality should reside for users to login and logout. React made it easy to manage the state of the application (i.e. user is authenticated or not) and to render a log-in or log-out button dynamically based on the state.

Why I personally enjoy React is that there is an ample amount of examples and tutorials on YouTube and other blog posts. The C# ASP.NET portion also has tutorials, but I feel they are in general less polished (maybe just due to more people wanting to learn React).

How could it be made better?

Thanks for asking, I would say a simpler way of teaching state, props, and hooks as they can be a little confusing at the beginning. Another thing is that React initially used Class based components, which has move to Functional based components. I prefer functional, but the fact that you could work on an older project and have to learn the class style can be a bit of extra work.

Print Friendly, PDF & Email

Posted

in

by

Tags:

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *