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:

  • Ajax Asynchronous JavaScript provides new methods of using JavaScript, and other languages to improve the user experience.
  • Flash Adobe Flash Player is a ubiquitous browser plugin ready for RIAs. Flex 2 is also deployed to the Flash Player .
  • JavaScript JavaScript is an ubiquitous client side platform for creating and delivering rich Web applications that can also run across a wide variety of devices. It is a dialect of the scripting language ECMAScript.
  • jQuery Cross-browser JavaScript library designed to simplify and speed up the client-side scripting of HTML.
  • 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)
  • CGI
  • Groovy (programming language) Grails (framework)
  • Java, e.g. Java EE or WebObjects
  • Lotus Domino
  • Node.js
  • 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
  • SSJS Server-Side JavaScript, e.g. Aptana Jaxer, Mozilla Rhino
  • 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
  • JavaScript front-end applications in Java.
  • Dart provides tools to create and maintain complex JavaScript front-end applications as well as supporting server-side code in Dart (programming language).
  • 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 are translated automatically to JavaScript) and which parts run on the server. The developer can tune those decisions with simple directives. (open source)
  • 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.


    Database Technology:

  • Apache Derby
  • DB2 (IBM proprietary)
  • Firebird
  • Microsoft SQL Server
  • MySQL
  • Oracle
  • PostgreSQL
  • SQLite
  • Sybase
  • WebDNA
  • Redis
  • MongoDB
  • CouchDB