Web Development – Typical Areas
Web Development can be split into many areas and a typical and basic web development hierarchy might consist of:
Client Side Coding
- Flash Adobe Flash Player is a ubiquitous client-side platform ready for RIAs. Flex 2 is also deployed to the Flash Player (version 9+).
- * JavaFX is a software platform for creating and delivering rich Web applications that can also run across a wide variety of devices.
- * Microsoft Silverlight Microsoft’s browser plugin that enables animation, vector graphics and high-definition video playback, programmed using XAML and .NET programming languages.
Server Side Coding
- ASP (Microsoft proprietary)
- ColdFusion (Adobe proprietary, formerly Macromedia)
- CGI and / or Perl (open source)
- C Server Scripts (TrustLeap G-WAN, freeware)
- Groovy (programming language) Grails (framework)
- Java, e.g., Java EE or WebObjects
- Lotus Domino
- PHP (open source)
- Python, e.g., Django (web framework) (open source)
- * uby, e.g., Ruby on Rails (open source)
- Smalltalk e.g., Seaside, AIDA/Web
- Websphere (IBM proprietary)
- .NET (Microsoft proprietary)
Client Side + Server Side
- Pyjamas is a tool and framework for developing Ajax applications and Rich Internet Applications in python.
- Tersus is a platform for the development of rich web applications by visually defining user interface, client side behavior and server side processing. (open source).
However, lesser known languages like Ruby and Python are often paired with database servers other than MySQL (the M in LAMP). Below are example of other databases currently in wide use on the web. For instance some developers prefer a LAPR(Linux/Apache/PostgreSQL/Ruby on Rails) setup for development.
- Apache Derby
- DB2 (IBM proprietary)
- Microsoft SQL Server
In practice, many web developers will also have interdisciplinary skills / roles, including:
- Graphic design / web design
- Information architecture and copy writing / copy editing with web usability, accessibility and search engine optimization in mind
- Project management, QA and other aspects common to IT development in general
The above list is a simple website development hierarchy and can be extended to include all client side and server side aspects. It is still important to remember that web development is generally split up into client side coding covering aspects such as the layout and design, then server side coding, which covers the website’s functionality and back end systems.
Looking at these items from an “umbrella approach”, client side coding such as XHTML is executed and stored on a local client (in a web browser) whereas server side code is not available to a client and is executed on a web server which generates the appropriate XHTML which is then sent to the client.
As the nature of client side coding allows you to alter the HTML on a local client and refresh the pages with updated content (locally), web designers must bear in mind the importance and relevance to security with their server side scripts. If a server side script accepts content from a locally modified client side script, the web development of that page shows poor sanitization with relation to security.
Web development takes into account many security considerations, such as data entry error checking through forms, filtering output, and encryption. Malicious practices such as SQL injection can be executed by users with ill intent yet with only primitive knowledge of web development as a whole. Not only this, but scripts can be exploited to grant unauthorized access to malicious users trying to collect information such as email addresses, passwords and protected content like credit card numbers.
Some of this is dependent on the server environment (most commonly Apache or Microsoft IIS) on which the scripting language, such as PHP, Ruby, Python, Perl or ASP is running, and therefore is not necessarily down to the web developer themselves to maintain. However, stringent testing of web applications before public release is encouraged to prevent such exploits from occurring.
Keeping a web server safe from intrusion is often called Server Port Hardening. Many technologies come into play when keeping information on the internet safe when it is transmitted from one location to another. For instance Secure Socket Layer Encryption (SSL) Certificates are issued by certificate authorities to help prevent internet fraud.
Many developers often employ different forms of encryption when transmitting and storing sensitive information. A basic understanding of information technology security concerns is often part of a web developer’s knowledge. Because new security holes are found in web applications even after testing and launch, security patch updates are frequent for widely used applications. It is often the job of web developers to keep applications up to date as security patches are released and new security concerns are discovered.
Study: From Wikipedia, the free encyclopedia. The text is available under the Creative Commons.