I use a typical AJAX/Web 2.0 style of programming for web applications.
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:
I typically use jQuery/Javascript for implementing the client view, supported by Trimpath JST templating.
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
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.
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,
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
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.