Website development is a broad term for the work involved in developing a web site for the World Wide Web or a private network. This can include web design, web content development, client liaison, client-side/server-side scripting, web server and network security configuration, and e-commerce development. However, among web professionals, “website development” usually refers to the main non-design aspects of building web sites: writing markup and coding. Website 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.
People who develop websites are called web developers. For larger organizations and businesses, web development teams can consist of hundreds of people. Web development may be a collaborative effort between departments rather than the domain of a designated department.
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 browser plug-in ready for RIAs. Flex 2 is also deployed to the Flash Player.
- Microsoft Silverlight Microsoft's browser plug-in that enables animation, vector graphics and high-definition video playback, programmed using XAML and .NET programming languages.
- HTML5 and CSS3 Latest HTML proposed standard combined with the latest proposed standard for CSS natively supports much of the client-side functionality provided by other frameworks such as Flash.
Server Side Coding
- ASP (Microsoft proprietary)
- CSP, Server-Side ANSI C
- Groovy (programming language) Grails (framework)
- Java, e.g. Java EE or WebObjects
- Lotus Domino
- Perl, e.g. Catalyst, Dancer (all open sources)
- PHP (open source)
- Python, e.g. Django (web framework) (open source)
- Real Studio Web Edition
- Ruby, e.g. Ruby on Rails (open source)
- Smalltalk e.g. Seaside, AIDA/Web
- WebDNA (WSC proprietary)
- Websphere (IBM proprietary)
- .NET and .NET MVC Frameworks (Microsoft proprietary)
Web engineering is multidisciplinary and encompasses contributions from diverse areas: systems analysis and design, software engineering, hypermedia/hypertext engineering, requirements engineering, human-computer interaction, user interface, information engineering, etc. Web engineering is neither a clone, nor a subset of software engineering, although both involve programming and software development. While web engineering uses software engineering principles, web development encompasses new approaches, methodologies, tools, techniques, and guidelines to meet the unique requirements for web-based applications.
Client Side + Server Side
- Opa is a high-level language in which both the client and the server parts are implemented. The compiler then decides which parts run on the client and which parts run on the server. The developer can tune those decisions with simple directives.
- Tersus is a platform for the development of rich web applications by visually defining user interface, client side behavior and server side processing.
- However languages like Ruby and Python are often paired with database servers other than MySQL. For instance some developers prefer a LAPR (Linux/Apache/PostgreSQL/Ruby on Rails) setup for development.
Website 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. 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.