Table of Contents
Do you want to learn web development, but you already know the basics? This article may be the answer you’ve been looking for. Today, we will talk about what to do if you want to go beyond the fundamentals. We will take a look at HTML, CSS and JavaScript frameworks worth learning. Next, we will discuss one big mistake we must avoid. In the end, we will also talk about back-end. Now, let’s begin.
You can read about learning web development fundamentals in part 1.
How to learn web development – Beyond the fundamentals
In the first part, we focused on the fundamental level of the curriculum to learn web development. Knowing HTML, CSS and JavaScript is enough to build a sustainable career or business, as we discussed in the first part. However, what if we want more? What if we want to learn web development beyond the basics? The truth is that the world of web development is very rich and diverse. So, let’s dive a little bit deeper.
HTML, CSS and front-end frameworks
Let’s start with HTML and CSS. This is probably the easiest way to transition into more advance part of web development. Getting better at web development is not only about learning new technologies. It is also about learning new tricks and approaches. Or, put differently, it is about making our work easier and faster. When it comes to HTML and CSS, this can mean learning to use a front-end framework.
What is a front-end framework? Well, we can think about front-end framework as a library of ready-to-use components with the same style. This means that we no longer have to write everything from scratch over and over again. Instead, we can use one of these frameworks and, in some sense, outsource part of our work. The simplest example is the grid. We don’t have to create our own 12-column grid all the time.
Instead of writing our own, we can choose from a variety of grids made by someone else. The same is also true about other elements we use repeatedly in our web development project. From buttons, form fields, sliders, carrousels, modals to tooltips and more. There are many frameworks that offer all of these components and even more in one package. Then, we can either choose to use the whole package or only part of it.
This approach has at least two benefits. First, it saves us time. Instead of writing everything, we can just customize it and implement it. The second benefit is even more important. Widely used frameworks are also well-tested. The more people use some framework the higher is the chance that someone will find a bug and someone will then fix this bug. As a result, using a framework can help us build more stable projects.
Word of caution
Before we get into specific frameworks, there is one thing I have to say. Learn web development and master the basics first. Don’t use framework if you don’t know the fundamentals. We should constantly remind ourselves what is the purpose of using a framework. I think that the purpose of using a framework is to improve our workflow. Frameworks should help us be more productive and do our work faster.
It is not the purpose of framework to help us cover gaps in knowledge or weaknesses. Frameworks are not meant to be a “hotfix” if we decide to take a shortcut to learn web development and skip some part here or there. Thinking this will work and doing it is a big mistake that will backfire in the future. Let me repeat it. Framework will not supplement what we skipped on the path to learn web development.
This is true not only for frameworks, but for libraries as well. Libraries, just like frameworks, are tools that should help us make our work easier, faster and better. They are not supplements for insufficient education. We can take a shortcut to learn web development “faster” and then use library or framework to take care about what we don’t know. However, this doesn’t help us learn what we don’t know.
This is one of reasons why I think aspiring developers to learn web development properly before they start learn to use frameworks or libraries. When you master the fundamentals, you can use any framework or library that is available. When you limit your knowledge only to a specific framework or library, you then depend on it and you can’t do anything without it. So, please, master the fundamentals first.
HTML, CSS frameworks – Where to start
Enough of taking about the theory and principles. Let’s take a talk about some frameworks and libraries that are actually worth the time to learn. As always, let’s take HTML and CSS and as first. When it comes to HTML and CSS frameworks, there are currently two main players. And, since there is also a demand for developers who know them, they are a good fit for our curriculum to learn web development.
These two frameworks are Bootstrap and Foundation. You probably heard about at least one of them, unless you just discovered the world of web development. This is no surprise. If WordPress is powering around one-fifth of the Internet another one-fifth belongs to these two frameworks. Bootstrap and Foundation have no competition. Also, from a career or business perspective, they are in demand.
Another benefit of learning more about one of these two frameworks, aside from viability, is that they are both very robust. Meaning, if you decide to use one of them, you can build the whole project just by using components and code provided by the framework. Both these frameworks are also easy to customize, especially their latest versions. Finally, both have large communities of users and developers.
So, if you are looking for some framework that could make you a more interesting candidate for building career or business, these two are both good places to start. What if you want more options you can try and test? In that case, there is Semantic UI, Pure developed by Yahoo!, UIkit, MUI, Bulma, Milligram, my small project EtherCSS and many many more.
JavaScript frameworks and libraries
Many of the frameworks we talked about also contain useful JavaScript tools and utilities to help us build more dynamic and interactive projects. However, it was still mainly talk about HTML and CSS. What about something focused only on JavaScript? Let’s take a look at some JavaScript we can use to advance on our path to learn web development. The first thing that comes to mind is jQuery.
It is safe to say that jQuery is among the most famous JavaScript libraries on the planet. Chances are that even complete beginners, who just discovered the world web development, heard about jQuery. The main purpose for the existence of jQuery was to make work with JavaScript easier, faster and simpler. In a more simple words, use less JavaScript code to achieve more. Nice pitch, right?
It is such a good pitch, and jQuery do its best to fulfill this promise. As a result, many developers not only started to prefer using jQuery over “vanilla” JavaScript, some of them also used it to took a shortcut to learn web development. Meaning, some developers learned only as much JavaScript as was necessary to start using jQuery. It is no surprise any of them can’t anything without jQuery.
Anyway, after learning JavaScript properly, jQuery is a very good place to where one can progress. This library can be a quite useful for increasing productivity and reducing the amount of code that is necessary. If jQuery seems to big and heavy to you, even the slim version or build. Don’t worry. There is also a more compact alternative created by Lea Verou called Bliss.
Next-level JavaScript
jQuery might be cool, but what if it is still not cool enough. Also, there are some people saying that jQuery is slowly dying. Whether this is true or not doesn’t really matter. If you like it, use it. If not, don’t use it. It is your choice. Anyway, back to advancing our path to learn web development. What if you are very good at JavaScript and want to start build something like web apps?
In that case, there are many interesting JavaScript libraries (some call them frameworks) you should pay attention to. These are ReactJS, Angular, Vue.js, MobX, Ember.js and MeteorJS. Basically any of these libraries or frameworks can help you move from web development to web app, or app, development. After you learn ReactJS, you should also learn Redux.
Before you decide which one to choose and use, there are two things. First, before you enhance your path to learn web development with any of the frameworks or libraries I mentioned, make sure to get really good at JavaScript. JavaScript is at the core of all of these frameworks and libraries. So, make sure to fix any gaps in your knowledge of JavaScript and any weaknesses. Otherwise, you will get into trouble.
I talk from my personal experience. In the beginning, I learned only some parts of JavaScript that were necessary to get some specific job done. Then, when ReactJS entered the scene and web apps got popular I tried to get into it. The result was a number of painful lessons that showed me how much insufficient my knowledge of JavaScript was. I had to start almost from scratch and work on every gap and weakness I had.
Don’t do the same mistake. Don’t try to make your path to learn web development faster and shorter by taking shortcuts. Definitely not if you then want to move into one of the JavaScript frameworks or libraries I mentioned. It is not worth it. The only thing you will find out is that you will have to learn what you skipped anyway. So, you can as well learn all of it right now.
Choosing the right option
One question you may have is, which of the frameworks and libraries we discussed is the best to choose? Well, hard to say. Remember that each option comes with some specific upsides and benefits as well as downsides and pains. Also, each option may be better choice for different situation. In the end, keep in mind that all these options are just tools. What matters is what do you want to achieve.
Fortunately, I found two very good articles about this topic that can help you decide which framework will be a better choice. The first article is Top JavaScript Frameworks & Topics to Learn in 2017 written by JavaScript developer Eric Elliot. This article covers much more than just frameworks. So, check it out. The second is 5 Best JavaScript Frameworks in 2017 written by Eugeniya Korotya.
Another thing that can help you decide is setting aside a little bit of time and taking a look at docs for each framework and library. Read about how each framework or library works and go through some examples of code. This can help you find out which one has a syntax that you think is more comfortable working with and friendly for you. You can also try each option and work on some tutorials.
Finally, take a look at communities built around these frameworks and libraries. Seeing which option has bigger, more active and more helpful community can also help you decide. Keep in mind that, when you run into some troubles, it is good to have some place where you can go to or group of people you can ask for help. You will learn web development faster if you have people who can help you. Don’t go alone.
Moving from the front-end to the back-end
Let’s say that you want to go extend your path to learn web development beyond the front-end. Let’s assume your primary goal is to learn both, front-end as well as back-end. When someone gives you two options, why should you choose only one? You can choose both. In other word, why learn only front-end or only back-end if you can learn both? Then, the only thing you need is time and perseverance.
Unfortunately, back-end is not exactly my area of expertise yet. At this moment, I am just slowing getting into it. So, I don’t know enough I can tell you about. However, there are two things I heard often from back-end or full-stack developers. First, before you learn any specific back-end language, make sure you understand what is happening behind the scenes and how it works, its principles and logic.
Second, when you are done with the first step, learning about back-end in general, choose just one language. Then, learn everything you can about that language, how to work with it properly and the best practices. Your goal is just shallow learning. Instead, make your goal to master it. Remember, choose one language and stick with it until you know everything about it. Only then you can think about another.
What are currently the most popular back-end languages? According to stats, very popular back-end languages are Java, Python, Node.js (JS), Ruby, C#, C++, Go, Rust, Haskell and PHP. I know, just few options so it is easy to choose, right? I can’t tell you which one is the best, due to my lack of knowledge. I just got into back-end and my choice was Node.js because I like JavaScript. Second would be Python.
Closing thoughts on how to learn web development
And we are at the end of the second part How to learn web development series. In this part, we first talked about how to move beyond the fundamentals of HTML, CSS and JavaScript. We explored a number of frameworks and libraries. With these tools we can be more productive, work faster, make our work easier and do more with less. Then, we discussed a transition from the front-end to back-end.
My current knowledge was not enough to give you a broader and deeper overview of the back-end. However, I still hope it was useful for you and you could get at least something out of it. I am sure that we will get back to this topic in the future as I will gather more information and learn more about it. Now, is this where our path to learn web development ends? Or, is there more to explore? Let’s see.
If you liked this article, please subscribe so you don't miss any future post.
If you'd like to support me and this blog, you can become a patron, or you can buy me a coffee 🙂