Hey people,
New year, new beginnings, and new tech which can be of good use for your web developer career. As a developer, you will not have a peaceful sleep when you hear of new technology that just takes all the social media platforms like a firestorm especially in the "bird" social media platform 😂. When I say "firestorm" I mean it (consider the spread of the dangerous Amazon Fire which happened last year).
But, I will tell you one thing, you don't have to know all the new technology that becomes a cause for heated discussion in the tech world. Instead, you just have to stick to your main niche which you have been practicing for some months or years, which brings me to the main topic of today's blog.
So, if you are a beginner who wants to get into web development like others to enjoy the essence of creating something new and unique which provides you with a fair amount of fortune, or a seasoned developer who's here to check for the new techs who might be useful for your armory of skills or to have a revamp your web developer career this blog is for you.
Please bear in mind that this will be a big blog and each step is simplified to ground level or as much as I could
Let's get started...
A website is a page that can be accessed by the user when he sends requests to the browser and the browser, in turn, sends the data of the page that the user accesses and fulfills his purpose of visit. In other words or in a more technical way.
A website is a collection of many web pages, and web pages are digital files that are written using HTML(HyperText Markup Language) and are styled using CSS (Cascading Style Sheets).
Developing a website is very easy but, don't think it's a piece of cake to develop. It requires a lot of hard work and determination to develop a good-looking website like Facebook, Netflix, Hulu, etc. You have to be creative in your design skills so that it can attract more users to your site and also it should be user-friendly.
Now that we know what is a website let's see how we can build one. PS: We won't be building a website here instead we will see what technologies are used to build one.
Now, let's look at the languages/technologies/framework you have to learn to get into web development.
Before you start learning about web development, you need to decide what type of web developer you want to become. There are 3 types of web developers:
Now that we know the types of web developers let's jump into the necessary tools to start learning and creating websites.
So, let's look at the tools which are necessary for developing a website
Text Editor/IDE:- Again you can use any text editor you want it's up to you to decide but, I would recommend going VSCode if you are a beginner in a development environment and the reason is pretty simple it's light, fast, it also has many features like you can install a plugin for literally everything, you can install extensions for any language you want and it also has a feature called emmet
which gives you a hint of what can come next. -Terminal:- You also might need a terminal to execute and to install a few additional requirements for whatever stacks you choose. Working with the terminal is a must as it saves a loottt of time in development. Again you can use anything Windows Command Prompt or git bash, Powershell, etc. It's up to you to decide.
-Design Software:- These are mostly for Front-end developers but, if you want to have a prototype of how your website will look after you have implemented your design learning these tools can be very much effective. There are a lot of tools like Figma which is very popular nowadays, Adobe XD and Sketch.
Now that we have looked into the tools required to start learning or for development let's jump straight into the technologies available.
HTML and CSS are literally the building blocks of web development. Consider web development or any development as building your house. You develop a design prototype(House Plan) for your house and then lay the foundation and those foundations are your !Doctype
statement and all the meta
tags statements. After the foundation, you start making the pillars and walls and those pillars and walls are your HTML which is just a skeleton of your house/website and then you add colors and position the design, windows, and all those things are called CSS i.e styling the HTML skeleton of your website.
Of course, you will learn frameworks for your development but, HTML & CSS are always going to be your building blocks of a website. Not a single website is available that can run without HTML and CSS.
So, what do you need to learn in HTML and CSS?
HTML5 Basic & Semantic Tags(Page Layout)
CSS Fundamentals
CSS Alignment (Flexbox and CSS grid)
Media Queries/Responsive Design
Simple Animations/Transitions
Once you have finished learning HTML and CSS then you can learn these two tools which specify below. Again it's not compulsory, it's optional if you want to have an extra bit of skillset to ease your styling process then you can consider these tools:
SASS:- Sass is a CSS pre-processor that adds the functionality of CSS. It also offers variables, functions, nesting, etc. It's a CSS compiler that offers you code reusability which you can't find in normal CSS. -PostCSS:- It's a tool for transforming CSS with JS. There are a lot of plugins in VSCode to add stuff to SASS offers.
Once you are done with HTML & CSS and you got a fair bit of knowledge to develop a clone of Hulu or Netflix landing page then you can go ahead and learn anyone of the CSS frameworks. So, CSS frameworks give you predefined classes/components to style elements. They can speed up your development process of creating the layouts. Here are some of the CSS frameworks from where you can choose one:
So, here are a few popular CSS frameworks from which you can learn anyone, you can also learn more if you want to but, the decision is up to you to learn all of them or one of them. Personally, I feel learning BootStrap or Tailwind is good enough to make a great layout.
Now till this point, you should have grasped the creative/design thinking if you are a front-end developer and must know some basic principles like Colour and Contrast, Whitespace, Scale, Visual Hierarchy, Typography, etc.
Now, that we know how to create a webpage using HTML and we can style them using CSS it's time, to give the webpage a life and JS does that job for us easily.
JS is a browser language and every web developer should know some level of JavaScript. Web developers need to know javascript because no website is fully complete without JavaScript. So, you must know the concepts like:
JS Basics:- Data Types, Data Structures, functions, loops
DOM:- Document Object Model which is used to target HTML id or class using inbuilt functions
Async JS:- Promises, Async/Wait is a must
Fetch API & HTTP:- Make requests to API's & understand HTTP
Array Methods:- Map, Filter, Reduce, etc.
Now that you know HTML, CSS and JS it's time to learn and see some version control tools which are highly popular and are great tools to keep your source code files securely in the cloud.
Git: Git is a popular version control system and it is used with remote repositories such as GitHub, GitLab, and BitBucket.
NPM: NPM is a package for JS which is used to install packages into your project.
NPM requires Node.js to be installed.
Browser Dev tools: They are important for every developer as they provide solutions to some logical errors done by developers during designing.
Emmet in VSCode, Live Server, Prettier, ESLint, GitHub Copilot, etc.
Now that you know what it takes to be a front-end developer let's see what a front-end developer must be able to do by now:
There are technologies by which your front-end development can be made easier. Sounds great ain't it? So, why waste time looking around let's jump into some front-end frameworks which are gaining constant popularity in the tech world!
The front-end JS frameworks can be used for Single Page Applications (SPAs). Some of thee popular front-end frameworks are:
So, these are the technologies that are very useful for Front-end developers. Now, let's look at some of the Back-end technologies.
Back-end developers use languages called Server Side Language which runs on the server-side and takes care of all the server-side logic and website securities. Let's look at some of the server-side languages/technologies:
There are other server-side languages like Java, Ruby, Golang, Rust, Scala, Kotlin, etc. which aren't much popular in Web development fields.
There are a lot of server-side frameworks out of which I'm gonna point out a few popular ones.
So, these are a few popular frameworks which you can learn after learning your main Server-Side Language.
Note: You just have to learn one language for the Server-Side. It's not mandatory that you learn all of them present out there. Just learn one get used to it if you feel you have to learn some more then you can choose another language and any one framework from that language.
Backend and full-stack developers work with various database tools and they implement all the logic for database querying and maintenance. So, it's important to learn Database Management if you want to become a back-end or a full-stack developer. Here are a few database technologies which are popular and highly used in web development
We have looked at the things which are pretty necessary to become a backend developer or a full stack developer. Here are the things which you must be able to if you are a backend or a full-stack developer:
Comfortable with Server Side scripting
Know how to set up and manage a database
Know how to create authentication
Know how to work with the servers
A full-stack developer can do this as well as frontend tasks.
So, here is the list of tools and technologies which you must learn to become a frontend or backend or a full-stack web developer. I hope you enjoyed reading it and I know it's a long blog which is like some 10 minutes odd read, if you have read it till the end it's well and good and I hope this blog helps you in becoming a successful web developer. Do give me a follow on hashnode for more blogs on web development and we will also build some cool stuff using the tools I mentioned above. Also do follow my social media account link for the same can be found on my profile or is given at the end of the blog. Thank you once again for reading and happy coding!