I use a typical AJAX/Web 2.0 style of programming for web applications.

JSON Interfaces

I try not to emphasise the brand of server side processing (PHP, ASP, JSP etc) and instead write client side code based the JSON objects being returned from an URL. The JSON object is then templated on the client. Thus the server is left to fullfill a data request but not the formatting of that data. This has a number of advantages:

  1. Removes reliance on a particular server side scripting language/environement.
  2. Performance benefit for server
  3. Server side code is simpler.

Client Side View and Templating.

I typically use jQuery/Javascript for implementing the client view, supported by Trimpath JST templating.

One Language to Rule them All

I use the haXe programming language for most of my coding. There are many benefits to use haXe but primarily programming in a single language for all tasks and tiers (server, client) is extremely beneficial for

  1. reusing code
  2. keeping the mind focussed on a single set of libraries and syntax

haXe can be used to generate code for PHP (server), Flash (client) and Javascript (client).

For bingo for example, i use haXe as the client side engine (controller), with either Flash or jQuery/Javascript implementing the view.

Build System

I try to automate as much as possible. For this purpose I have a build system written in haXe in which it’s easy to specify tasks and dependencies, like the venerable “make” or Ruby’s rake.

The build system streamlines development by systemizing the management process.

For example,

  1. pre-processing and offline templating of files based on deployment targets
  2. version control
  3. copying of files to their correct places, creation of symlinks etc
  4. compressing javascript and css
  5. pre-processing of Textile wiki syntax to HTML.

Platform and Tools

My development platform is Linux as it enables a great deal of flexibility and has a wealth of tools I use daily, e.g.

bash, rsync, ssh and git

Framework

The tools and practices work within a framework. The framework is a simple directory structure where multiple sites share common code and resources and where all management of that framework is automated by the build system. This helps reduce error and speeds development of the application.