I'm in the early stages of development for a web application that has three developers (myself included) working on it. The project is, at its core, a web-based database that will be used by around 5,000 people. Its primary purpose is to track information about game characters while enforcing a set of rules and security. Meanwhile, it's supposed to be as usable as possible.
While the main presentation will be over a networked desktop web browser, we're also hoping that
certain features of the application will be usable while disconnected from the network and
that we can develop a version of the frontend for mobile devices.
Here is some basic background for the developers; I think it's fairly relevant to the question.
- Developer A maintains the system we are redesigning. It was built in PHP but there is very little actual code that we can keep. He also has veto power, though he takes suggestions readily.
- Developer B is familiar only with VB and SQL, though he has been studying AJAX and HTML/CSS lately.
- Developer C (me) has a degree in Software Engineering with experience in multiple (non MS) languages as well as with some general web/database development, but has only developed code in Ruby since graduating (2009). Dev C has experience in an older version of PHP and helped work on one project in the latest version of Rails back in 2008.
The main tools we're considering are Ruby on Rails 3 and PHP 5. Developer A seems fairly opposed to learning Rails, but my guess is that he is assuming it is more difficult to learn than it actually is. I don't know that for sure, though. Regardless of which we choose, I want to use a MVC architecture.
What are some other notable concerns we should address in order to determine which language would best suit us? Are any of the concerns listed below trivial?
The main issues/points/concerns I think I need to consider/address are:
- The learning hurdle for Rails - for developer A, mostly, but also if it would be harder to learn a bit just to help for developer B than it would be for him to learn a bit of PHP.
- The possibility that there will be performance issues with Rails.
- The lack of forced structure with PHP - should I expect difficulties enforcing an MVC
- Ease of AJAX integration in PHP vs. Rails.