The land of web development has many paths, corners and unfamiliar terminology, but that’s what we’re here for. Today we’ll make use of metaphors, analogies and examples to guide you through these two software development process.
Before we go into actual definitions, here’s how some like to explain it:
“Consider front end as in front of the curtains’ and back end as ‘behind the curtains’. Front end is the user experience and the visuals; back end is the programming and database that makes it all happen.”
And another one: “Front end is what the user sees and interacts with. Back end is what will process the data.”
Now some formal definitions:
Front-end development is the development of those elements of a website that the customer sees and interacts with directly. It is a combination of programming skills (knowing which program to choose), and aesthetics (understanding element arrangements on the screen, the color and font choices).
Back-end development writes code that usually interacts with database and other web services.
Even more clear– while exploring Quora, we found these great comparisons:
Front end: It’s about visuals and user interactions.
Back end: It’s information & data-based
Front end: What we see in an application when we use it; i.e., the interface.
Back end: What we don’t see when we use an application; i.e., the code.
Front end: Where we enter information; e.g. a “Contact us” page in a website.
Back end: Where the entered information is used and desired/calculated result is given.
Front end: A car’s body, dashboard, steering controls. It provides the appealing car exterior.
Back end: A car’s engine, power line, transmission lines. It builds the engine so the car can move.
Front end: A beautiful building you see in front of you.
Back end: The bricks, concrete and cement to hold the bricks tight.
Back end: PHP, Python, JAVA, ASP .Net
Now, regarding the code makers: what is a front end developer? What does a back end developer do?
Here are some direct descriptions, supporting the text above:
“A front end developer builds what lives in the browser. A back end developer builds what lives on the server.”
“A front end developer is responsible for the interior design of a house that’s been built by a back end developer.”
Using these tools, front-end developers work closely with designers or user experience analysts to bring mockups, or wireframes from development to delivery. Strong front end developers can also accurately identify specific issues in user experience and provide recommendations and codified solutions to influence the design.
“Everything you see on any website was made by a front end developer. A designer crafted the branding (logo, graphics), a photographer took the pictures, and a copywriter wrote the content. But a front end developer assembled all of those pieces and built the experience you have with each page.”
Since the back end of a website consists of a server, an application, and a database, a back end developer builds and maintains the technology that powers those components. Back end developers use server-side languages like PHP, Ruby, Python, Java, and .Net to build an application, and tools like MySQL, Oracle, and SQL Server to find, save, or change data and serve it back to the user in front-end code. It’s also important that back end developers have experience with version control software like SVN, CVS, or Git; and experience with Linux as a development and deployment system.
Back end developers (like most of us at CSW Solutions) use the tools we’ve mentioned to create or contribute to web applications with clean, portable, well-documented code. However, to write that code, we need to interact and collaborate with our clients to understand their particular needs; only then we can translate those into technical requirements and come up with the most effective and efficient solution for building the technology.
We hope this was a cheerful trip into software developement knowledge. We plan to keep explaining things to non-developers in 2015; if you have a topic in mind, let us know via the comments below or through a private message. Cheers!