02 What Is Web Development
02 What Is Web Development
02 What Is Web Development
Web development
Web development is a broad term for any activity to developing a web site for the World Wide Web or
an internet. This can include e-commerce business development, web design, web content
development, client-side/server-side scripting, and web server configuration. However, among web
professionals, "web development" usually refers only to the non-design aspects of building web sites, e.g.
writing markupand coding. Web development can range from developing the simplest static single page
of plain text to the most complex web-based internet applications, electronic businesses, or social network
services.
For larger businesses and organizations, web development teams can consist of hundreds of people (web
developers). Smaller organizations may only require a single permanent or contracting webmaster, or
secondary assignment to related job positions such as a graphic designer and/or Information
systems technician. Web development may be a collaborative effort between departments rather than the
domain of a designated department.
Contents
2 Typical Areas
• 3 Security Considerations
4 Timeline
5 References
In addition, cost of Web site development and hosting has dropped dramatically during this time. Instead of
costing tens of thousands of dollars, as was the case for early websites, one can now develop a simple web
site for less than a thousand dollars, depending on the complexity and amount of content. Smaller Web site
development companies are now able to make web design accessible to both smaller companies and
individuals further fueling the growth of the web development industry. As far as web development tools
and platforms are concerned, there are many systems available to the public free of charge to aid in
development. A popular example is the LAMP (Linux,Apache, MySQL, PHP), which is usually distributed
free of charge. This fact alone has manifested into many people around the globe setting up new Web sites
daily and thus contributing to increase in web development popularity. Another contributing factor has
been the rise of easy to use WYSIWYG web development software, most prominently WebDev, Adobe
Dreamweaver or Microsoft Expression Studio. Using such software, virtually anyone can develop a Web
page in a matter of minutes. Knowledge of HyperText Markup Language (HTML), or other programming
languages is not required, but recommended for professional results.
The next generation of web development tools uses the strong growth in LAMP and Microsoft
.NET technologies to provide the Web as a way to run applications online. Web developers now help to
deliver applications as Web services which were traditionally only available as applications on a desk based
computer.
Instead of running executable code on a local computer, users are interacting with online applications to
create new content. This has created new methods in communication and allowed for many opportunities to
decentralize information and media distribution. Users are now able to interact with applications from
many locations, instead of being tied to a specific workstation for their application environment.
Examples of dramatic transformation in communication and commerce led by web development include e-
commerce. Online auction sites such as eBay have changed the way consumers consume and purchase
goods and services. Online resellers such as Amazon.com and Buy.com (among many, many others) have
transformed the shopping and bargain hunting experience for many consumers. Another good example of
transformative communication led by web development is the blog. Web applications such
as MovableType and WordPress have created easily implemented blog environments for individual Web
sites. Open source content systems such as Alfresco, Typo3, Xoops, Joomla!, and Drupalhave extended
web development into new modes of interaction and communication.
Typical Areas
Web Development can be split into many areas and a typical and basic web development hierarchy might
consist of:
AJAX Provides new methods of using JavaScript, server side languages (eg ASP.Net or PHP) and
other languages to improve the user experience.
Flash Adobe Flash Player is a ubiquitous client-side platform ready for RIAs. Flex 2 is also deployed
to the Flash Player (version 9+)
JavaScript Formally called ECMAScript, JavaScript is a ubiquitous client side programming tool.
Microsoft Silverlight Microsoft's browser plugin that enables animation, vector graphics and high-
definition video playback, programmed using XAML and .NET programming languages.
Google Web Toolkit provides tools to create and maintain complex JavaScript front-end applications
in Java.
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.
Database Technology
Apache Derby
DB2 (IBM proprietary)
Firebird
Microsoft SQL Server
MySQL
Oracle
PostgreSQL
SQLite
In practice, many web developers will also have interdisciplinary skills / roles, including:
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.
Security Considerations
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.
Timeline