Getting started with React

January 10, 2023 (2y ago)

Hello, this is actually my first legitimate blog post, written on January 10th, 2023. Anyways, I am not very well-versed with React, but I plan to make this website somewhat dynamic, customizable, and minimalist. I have connected this site to a Postgres DBMS, and I want to add dark mode.

I believe I can do all of this with what I've learned at Cal Poly. They haven't really taught us any frameworks, as most of the material is 10-15+ years behind the current tech industry, but I know a lot of programming languages, some JS, and some SQL, so I believe I will be able to transfer what I already know, while learning a lot about webapps.

Some initial things I cannot grasp so far are very various and somewhat hard to keep track of, but I will do my best to explain. For one, why are there so many package managers? (npm, yarn, bun, pnpm, etc) I understand that all software has tradeoffs, but isn't the simplest solution usually the best? If software developers just committed to one package manager, one JavaScript library (e.g. Vue or React), etc, wouldn't the software be more simplistic and enjoyable to write/read/reference? Then we would just have to choose between UI kits and frameworks. I am currently trying Chakra UI, but I am thinking about moving to Material UI or Bootstrap. I'm also using Next.JS, but Remix and Gatsby seemed interesting. Lastly, I like Tailwind CSS, but it is so hard to figure out how to use it and keep elements consistent, especially when working with a UI kit, but it's better than normal CSS and I'm probably just new to it.

I understand how many layers of abstraction were needed to make React and Next.js, and how much time and frustration they save. However, I think I would really like to work on code bases that do not have so many layers of abstraction, such as electric vehicles (Tesla did this with all C/C++), and I especially have my eyes on Rivian right now.