Re: Technology choices for online recording
Dear all,
As you may have read, we now have the requirements for a toolkit to help develop online recording websites and the build is set to take place over the next few months. The proposed approach is to build the "Core" of the system using PHP and MySQL since it is so ubiquitous, but it should be possible to build the web pages themselves using any web technology from PHP to Java or .NET, or even using a content management system. However, this decision would be based on an assumption that PHP and MySQL skills are more widely available within the recording community than the other options. If this is not the case then there are other alternatives which each have their own advantages.
Here's a quick summary of the things we have considered:
1) PHP - the strength of this option lies in the fact that its usage is so widespread so there are many developers available, and also hosting options are extremely cheap. All the other options would incur a greater hosting fee. PHP is perhaps not the best language for produce nicely structured code though.
2) Ruby on Rails - the strength of this option is that it is a very productive development environment. Generally things are developed more quickly in Ruby on Rails than other options. It's also got good support for multiple databases, so we would not be tied to just MySQL for example. Note that there are "frameworks" around for PHP which make the productivity closer to Ruby on Rails though.
3) Java - more powerful than PHP, but hosting is more expensive.
4) .NET - although not Open Source, the .NET development tools and languages are very powerful. Don't forget that there are very good free "Express" versions of the development tools.
For the database, the main options are MySQL and PostgreSQL or PostGIS. The advantages of the PostgreSQL approach are much better support for spatial databases, though again hosting options are not so freely available.
So, before ploughing ahead with the development, I'd like to give anyone with an opinion on the development environment we use a chance to chip in. Whether you have a strong preference for one of the tools, are aware of particular problems with a tool, know of a tool that we ought to consider that I haven't mentioned, or just have access to developers of one of these tools, please let us know. Don't forget that what we are talking about at this stage is the "back end" code - not the web pages that the end users interact with which can be developed on any development environment.
Cheers
Biodiverse IT