If you click on this article, it means that you are interested in web development, or you are thinking about starting to learn web development. Here, I will tell you the route of becoming a web developer, a guide to web development for beginners. This article will not teach you how to write code, but point out things to think about before you actually write code. Web development is exciting and exciting, which is exactly what caters to this fast-changing world. To understand web development, let's first define a few basic concepts

## Frontend VS. Backend
At the beginning, we must distinguish between front-end development and back-end development, let's introduce them separately

**front end**
Web applications are classified as distributed applications, generally with a client-server structure, so we have part of the code running on the client and another part of the code running on the server. Those applications on the client are the front end, which usually refers to our browser. The most commonly used technology for front-end development is HTML+CSS+JavaScript. Advanced front-end developers usually use a combination of these technologies to develop the front-end of the application. Another common front-end technology is to use Photoshop to design and cooperate with other technologies to complete the production of Web pages. 

**rear end**
Back-end developers write the code that runs on the server. Generally speaking, this part of the work needs to deal with the database, such as reading and writing data, reading and writing files, and implementing business logic. Sometimes, the business logic is stored on the client side, and the background is used to provide the data in the database in the form of Web services. Back-end developers generally need to master a web programming language and a database management system

You can master front-end and back-end technologies at the same time, but most web developers still have certain preferences, and even only in-depth research in one aspect. Although the front and back ends are distinguished, their respective specific tasks are not specified. Sometimes the front end just completes the display of data, while other major work is done on the back end. But sometimes, the backend just provides data, and all calculations and specific functions are done on the frontend. The distribution of front-end and back-end work is usually determined by the design and architecture of the project

## Programming language

For web development, there are many programming languages ​​to choose from. When you need to develop on the front end, the standard development language is JavaScript, and when you need to develop in the background, we have more choices:
-PHP
-JavaScript
- Ruby on Rails (with Ruby language)
- ASP.NET (with .net language)
- Java EE
-Python
There isn't really a definitive list, the above are just languages ​​that developers typically think of and use. So how should you choose? Your choice should be based on the following aspects: job market (job opportunities), hosting services, available learning resources, available learning time, surrounding development environment, etc

If you really want to work in the development industry and find a job in web development, the most important selection factor is the job market (job opportunities). You have to analyze the industry situation and choose a programming language to learn. Another important factor is hosting services, such as PHP hosting is much cheaper than Java hosting. And if you want to develop enterprise applications, Java EE may be a good choice. But if you want to put your application online, Java EE is much more expensive than other languages

With the popularity of Node.js, JavaScript has also become popular in back-end development, but it is still a new andtechnology after all, and it is not recommended for beginners in web development to learn and use

In my opinion, PHP has the easiest learning curve, cheap hosting service, sufficient learning resources (PHP100 is a good choice) and relatively simple development environment, so I recommend junior web developers to learn to use PHP. Of course, ASP.NET is also a good choice. Microsoft provides many ASP.NET-related learning resources and free development tools. If you like the Microsoft environment, it is worth considering ASP.NET

## frame
If you are still a beginner, you still need to lay a good foundation before you start learning the framework. The framework can help you simplify the development work. There are many ready-made code libraries, which provide you with the structure of the Web application, making your programming work easier and faster. If you want to become a professional web developer, you must be proficient in at least one framework to accelerate your web development

There are many types of frameworks, ranging from general-purpose solutions to specific problems. You need to evaluate your needs first. If you choose PHP development, I recommend using Laravel as the framework. It is a very popular MVC framework in recent years. If you choose ASP.NET, I recommend learning to use ASP.NET MVC and EntityFramework


Web development can be so big that you only want to specialize in one application, such as a content management system (CMS). If you still choose PHP, then I recommend WordPress, which can help you create websites, blogs, or use existing plugins or themes as extensions

## What to do next
Even if you choose to only work on one side of the front-end or back-end development, you should also understand the development of the other side, doing so will make your team more efficient. If you have already learned a programming language and the corresponding framework, you should start learning another language. Each programming language has its own advantages and paradigms. A deeper understanding of the problem leads to a better solution, making you a better developer. Finally, as I said before, when you choose a programming language, you have to consider many factors. My choices are still JavaScript, PHP, ASP.NET and Java EE. You can refer to them

Original: httparian-celina.com/a-beginners-guide-to-web-development
Translation: httpwww.php100.com/html/dujia/2015/0120/8425.html