Once I made my portfolio, GitHub, and first project, it was time to to take the next step. Front end development is by no means easy, but it is quicker to pick up and far more rewarding for beginners than back end because you can see the changes you are making in real time.
Modern front ends are built with “single page applications.” To summarize SPAs in one sentence; instead of having many HTML pages they only have one. The server sends sends the appropriate data to display on that page. This has all kinds of benefits, one of which is component-based development. When an SPA is interacted with, the entire page does not need to reload; only the parts, or components, that have changed need to reload. This creates opportunity for lightening-fast loading and more enjoyable user experiences.
I could write an entire page about SPAs, but that is not what this article is about. As I said before, modern websites are built using these frameworks so it is a good idea to learn one. The big three right now are React, Angular, and Vue. React was made by Facebook and the other two by Google. As a beginner I highly suggest picking either React or Vue because Angular is harder to jump into without a ton of preparation. If you are really stuck on which to choose, try looking at your area's job market. Go on Indeed and see which of the three is most in-demand.
Picking a project for your application can be tough because it should be complex enough to warrant using a framework. Basically, your website needs to be highly interactive before using a framework is necessary. I'm into fitness so I decided to make an application where you could make exercises and track them. Yes, this was basically a glorified shopping list, but that's alright. I was learning while being mildly creative which is all that really matters.
I will provide links to things I think helped me learn about front end web frameworks. I highly suggest picking a framework, making a simple interactive project, and adding features until you feel like you understand the technology. In my next post I hope to begin diving into coding concepts instead of another “how to get started.” Stay tuned, thanks for reading.