Web Development
Table Of Contents
- Web Development
- Please Read First
- An Introduction
- Technologies
- General
- Getting Started
- People To Follow
- FAQ
- Learning Materials
- References
Please Read First
An Introduction
Web Development is one of the most popular career paths in the Pakistan Industry.
While Web Dev
can mean a lot, at the surface level, it is about making websites and web applications.
The Web has grown quite a lot since its quick expansion over the past ten or so years, and we are seeing a stage of rapid development and refining of the tools that we already have to make the process more robust, easier to use, understand, and far more flexible than before.
Web Development includes many sub categories of work, it includes databases
, an understanding of
client-server relationship
, client side scripting
, server side scripting
, creating beautiful frontend design
, working with backend
systems to handle data, responsiveness
, and carrying the proper data between components.
It can include network configuration
, commerical
, entertainment
, public
or personal web development
.
Web Development is usually broken up into Frontend
and Backend
design. What frontend refers to is usually the looks and style of the website / web application itself. Backend refers to how the different components interact with each other, how the data is handled behind the scenes, and what services are used that should not really be exposed to the user.
People working in this domain are referred to as:
- Frontend Developers
Those who primarity work on client side technologies like HTML, CSS, JS (and JS based Frameworks)
- Backend Developers
Those whose task is to create APIs, manage Database, and Server side application like those involved web application server
- Full Stack Developers
Developers who can develop both client and server side applications
Technologies
The main or most popular components of client-side web development are:
- HTML, the skeleton of the web pages
- CSS, the looks of the web pages
- Javascript, the interactivity between and in the web pages
Other backend technologies (languages and frameworks) are:
Languages:
- JavaScript
- React, Vue, Ember, Backbone, Angular, etc.
- PHP
- Laravel, CodeIgniter, Symfony, CakePHP, Yii, Zend, Drupal, etc.
- Python
- Flask, Django, etc.
- C#
- ASP.NET framework
- Java
- Spring, Struts, GWT, etc.
- Other languages like Perl, Ruby, Go, etc.
Most developers these days use different frameworks depending on their use case, and thus have different stacks
that they use, which just means they use different conjunction of frameworks or technologies to meet their needs.
Some popular stacks are,
- MEAN ( MongoDB Express Angular NodeJS )
- MERN ( MongoDB Express React NodeJS )
- MEVN ( MongoDB Express Vue NodeJS )
- LAMP ( Linux Apache MySQL PHP )
- LEMP ( Linux Nginx MySQL PHP )
- Django ( Python Django MySQL )
- Ruby On Rails ( Ruby SQLite Rails )
- JAMSTACK (Javascript and Microserivces)
Where,
- NodeJS is a runtime for JavaScript
- ExpressJS is a web application framework on top of NodeJS
- MongoDB is a NoSQL database
NoSQL databases do not follow all the rules of a relational database —specifically, it does use a traditional row/column/table database design and does not use structured query language (SQL) to query data.
- Angular is a JS framework
- React is a JS library
- Vue is a JS framework
- Linux is an Operating System
- Apache is an Open Source Software based server
- PHP is another language like JS
- Nginx ( say Engine X ) is another way to maintain a server
- Python is a language
- Django is a “batteries-packed” web framework.
- MySQL is a Relational database
- Ruby is a very mature dynamic language, much like Python and JS
- Ruby on Rails ( or just Rails ) is a framework also very popular for web dev
General
Getting Started
There aren’t many pre requisites for starting web dev. A general beginner’s approach is to understand what frontend development firstly is, and then move towards a backend stage. There are A LOT of technologies out there, and it is not advised that you sit down to learn everything - commmon myth that learning more and more will make you more experienced. Usually, HTML is recommended, then CSS, then JS, and then either VueJS, AngularJS, or ReactJS for some front end fun parts. For starters, some good hands on knowledge with NodeJS and ExpressJS is recommend as well - just the basics of how to get started.
After that, try out deploying one of your creations somewhere on a web hosting website, such as Heroku, MS Azure, GCP, or AWS! If you’re a student, please do check out the Github Education Pack which has free credits for many popular services for university students just trying to put their work out there.
People To Follow
A few well know experts related to web dev. You can follow them on twitter
FAQ
Learning Materials
If you reading documentation, each technology has a corresponding documentation that you can google for. Other than that, do check out,
- For all your JS needs, JavaScript Info!
- For newbies wanting a more comprehensive and detailed guide, MDN Web Docs! <3
For further references or a bigger picture, or future reading,
- Web Dev 2020 Roadmap - Traversy Media
- Web Skills - A visual overview of useful skills to learn as a web developer
Courses
Books To Look Into
Youtube Channels
- Coding Tech
- Colt Steel
- Traversy Media
- FreeCodeCamp!
- Web Dev Simplified
- Learn Code Academy
- Fireship
- The Net Ninja
- Level Up Tuts
- Dev Ed
Podcasts
- Front End Happy Hour A podcast featuring a panel of Software Engineers from Netflix, Twitch, & Atlassian talking over drinks about all things Front End development.