What is backend development?

Source: Internet
Author: User
Tags ruby on rails
Software applications are like icebergs. Users see only part of the application--in most cases--most of the applications are invisible. This is an elusive and mysterious "back end."

In the Web development chapter, we discuss Web development primarily because it involves direct interaction with end users-what we can call "front-end Web development."

In most applications, the non-user interface code is much more than the user interface code. A complex system is a variety of logic that takes place in the background to make it work.

We need to store and retrieve data, we need to follow business logic and rules, and we need to anticipate the results. All this is happening behind the scenes.

Back-end developers are such developers.
What is back-end development?

The purpose of this article is that I will consider backend development as a development that does not involve creating a build user interface. This may include back-end Web development, possibly also involving authoring APIs, creating libraries or working with system components that do not have a user interface or even a scientific programming system.


In reality, even if front-end development gets most of the glory, most of the code in the world (which can be said to be the most useful code) is the backend code that the end user never sees.

In short, back-end development is code that developers write that cannot be seen directly.
What back-end developers do.

Depending on the size and scope of the application you are working on, the backend developer has a great deal of difference. When I was a back-end developer, I did a lot of work, working on the business logic in the application, and extracting and retrieving data from the front end.

In the Web development world, most back-end developers are engaged in the actual logic behind building the applications they are working on.

Typically, a front-end developer builds the user interface, and the backend developer writes code to make it work.

For example, a front-end developer creates an interface in an application that has a button and presses a button to get the customer's data.

The backend developer writes code that enables the button to work by pointing out what data is extracted from the database and passing it back to the front end (and eventually showing there).

Back-end developers may also be heavily involved in the system architecture, deciding how to organize the logic of the system so that it can be maintained and run properly.

He might be involved in building a framework or system architecture to make it easier to write programs. Back-end developers spend more time on implementing algorithms and solving problems than front-end developers.

I've always liked back-end development because it's more like a challenge.

This is not to say that front-end developers don't solve problems, but typically front-end development is more about creating user interfaces and related content than implementing actual business logic and making applications work.
Key technologies and skills for backend development

Front-end developers need to know a series of tools for creating a user interface, and the backend developer typically uses a completely different set of tools and skills to perform their work efficiently.

One of the key skills that backend developers need is related to SQL and databases. Most back-end systems need to connect to a database that stores application data.

Back-end developers typically work by writing, reading, and processing data from a database or other data source, so it is important to have skills such as SQL. Back-end developers-at least for web development-also need to excel at the server-side language of the technology stack they are using.

For example, while front-end Web developers are more focused on html,css and JavaScript, the backend developer needs to learn more about the PHP web framework, Ruby on rails,asp.net MVC, or any server-side web development framework that is being used to build applications.

Finally, I want to say that back-end developers need to know more about the application architecture, because in most cases the backend developer needs to build the architecture and internal design of the application.

A good backend developer has to know how to use various frameworks and libraries, how to integrate them into the application, and how to build code and business logic in a way that makes the system easier to maintain.

If you like designing your application infrastructure, implementing algorithms and logic, and working with data, you might like to be a backend developer.
About the entire stack of developers.

I wanted to start a new article for a whole stack of developers, but it occurred to me that since web development and back-end development was covered, it was more natural to extend it to talk about whole-stack development, since full stack development just involved front-end and back-end development.

In fact, full stack development includes all the components and layers that handle the system or software development stack. It may even involve understanding the server hardware and architecture, or is considered devops.

Today, a growing number of software development jobs are looking for developers who can build on a full stack, because it is valuable for software developers to work on the entire technology stack involved, rather than splitting front-end development with back-end developers.

Part of the reason is that more and more applications now blur the boundaries between front-end and back-end development.

Many popular JavaScript frameworks, such as angular, allow you to create most of the content that can be considered business logic in the user interface section of the system.

In addition, as more and more teams adopt agile methods, individual programmers are asked not only to work in their fields of expertise, because tasks are assigned to teams far more than individuals.

I think it's useful to be a full stack developer-and you should be fully aware of what's going on at every level of the software-but I don't think it's a good idea to "specialize" the entire stack of developers because it's not a professional area.

Basically, you should focus on getting a broad knowledge of the most common technology stacks you might use, but you should choose one or two major majors and then really delve into the direction of choice.

All software developers should know how to create a user interface, the basis of the framework used, how to store and retrieve data from the database in the application, and even how the infrastructure supports the software, they do not need to be experts in all of these areas, since these areas are not only quite large but also growing.

It may be much better to have all the knowledge that is common and effective in the technology stack or specialized knowledge in some areas.

Then you can still call yourself a "full stack," but in fact, for a team, it's more useful for people like you.
Transfer from Liberation community: http://bbs.jointforce.com/topic/26165

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.