Programming Languages and Database
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 plugin ready for RIAs. Flex 2 is also deployed to the Flash Player .
Microsoft Silverlight Microsoft’s browser plugin 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 and Silverlight.
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. 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 is poorly sanitized with relation to security.
Server Side Coding:
ASP (Microsoft proprietary)
CSP, Server-Side ANSI C
ColdFusion (Adobe proprietary, formerly Macromedia, formerly Allaire)
Groovy (programming language) Grails (framework)
Java, e.g. Java EE or WebObjects
Perl, e.g. Catalyst, Dancer or Mojolicious (all open source)
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, information indexing and retrieval, testing, modelling and simulation, project management, and graphic design and presentation. 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:
Google Web Toolkit provides tools to create and maintain complex
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 languages like Ruby and Python are often paired with database servers other than MySQL (the M in LAMP). Below are examples 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.
DB2 (IBM proprietary)
Microsoft SQL Server