Web Development
Web Development is it's own, unique piece in the creation of a fully functioning web site. It is broken into two parts, the front end and the back end. There are significant differences in how each one interacts with a site design. They are also independent of each other in that front end code operates on a site visitor's browser and is restricted by their hardware's performance, capabilities and settings. Back end code operates on a web server and is not effected by a visitor's browser, or any restrictions by their hardware's performance, capabilities or settings.
The Front End
Front end development is capable of both User Interface functionality and design manipulation. With the advent of new functionality in modern browsers, front end code can also communicate with host web servers and client machines as if they are servers too. Current trends focus on the use of JavaScript, jQuery and any number of libraries or frameworks that rely on JavaScript. The combination of JavaScript and back end coding allow for what is known as "asynchronous" connection, or functionality without the need for page loads or refreshes. This gives the user a faster, more responsive experience, while reducing the workload on the hosting web server.
Front end development goes hand-in-hand with design and it is considered best practice to incorporate it during the design process, rather than add it later. However, the design world is not perfect and the front end development process is considerd "Agile". It can be utilized during any state of a web site's life-cycle.
There are still many Internet users that practice the habit of turning off their browser's JavaScript support. Best practices demand that all site development involving JavaScript will also have a gracefully degrading process that ensures site information and functionality are still available in a "noscript" capacity. This process requires greater reliance on CSS for design manipulation and back end code for data connectivity.
The Back End
Back end development has similar capabilities as front end development. It is capable of both User Interface functionality and design manipulation. The main difference, since the code is rendered on the server, is that manipulation and functionality depend on page loads and refreshes. This process is required to send pages and submitted data to the server, where it is processed, then it is re-rendered in a visitor's browser. Back end coding languages include, but are not limited to, C#.NET, PHP and Java.
The main focus of back end development is to provide access to a server's information resources, such as a database or web service. This will improve site profitability and effectiveness. Proper back end develpoment will also enhance the interaction between your site, your clients and your bottom line.
Best practices suggest that back end coding, since it can be integral to the effectiveness of an entire site, should be well-thought out in the beginning stages of a new project. If you have an existing site that could use a front end facelift, current functionality needs to be re-evaluated. This process will allow integration of new back end code and properly rewrite existing old code to work within the new user interface. Unnecessary code will be removed and rewritten code will be updated to new trends if possible.