Choosing the Right Server-Side Language and Platform for Your Mobile App Development
Ultimately, the choice is a balance between your comfort level and the project requirements. There is no single language and platform that can do it all, but with the right questions you can narrow down your search and find the solution that fits your project.
Here are the questions you will need to ask to find the right fit.
1: How robust is it?
Java – Both platform and language have been around for quite awhile, and have a wide variety of libraries and support. Java requires you to provide your own IDE and environment for development. Due to the age of Java, other languages generally get new features added at a quicker pace.
.NET – Widely considered as having one of the best IDEs for developing, .NET is fully enterprise-focused. But choosing .NET will tie you into other Microsoft technologies such as IIS, and you won’t be able to diversify other portions of the application.
Ruby on Rails – A growing platform and language, Rails has come a long way, with a growing list of libraries and support. Rails does not provide any IDE or development environment and you must be comfortable with command line tools.
2: What’s the learning curve?
Java – Since it’s been around so long, there are extensive online knowledge bases (Oracle itself provides documentation), but many can be out of date.
.NET – Microsoft provides a large online knowledge base and has enterprise solutions to help.
Ruby on Rails – While there’s extensive technical documentation provided, the online knowledge base is not up to the same standards as .NET or Java.
3: Is it scalable, stable, and reliable?
A project can grow from zero to millions of users overnight; picking a platform and language to support this ensures proper growth.
Java – Java is quite stable and reliable, but scalability can be an issue. AWS can help, but it comes with a price tag.
.NET – The .NET platform is amazingly scalable, stable, and reliable but completely dependent on the Microsoft platform. You will either need to host with Azure, or build out your own server environment.
Ruby on Rails – This new contender has the stability and reliability needed, but as with all new platforms and languages, scalability comes at the cost of development time.
4: Is it easy to recruit new talent?
Java – Most college students learn Java in school, but finding the ones who continued to pursue it to a high level of expertise can be difficult.
.NET – Finding a .NET engineer is not hard, but most have found stable work, and will likely require being lured away with potential salary increases and other incentives.
Ruby on Rails – Because of its popularity, talent may be easy to find, but question the depth of knowledge and years of experience. To many this is still an experimental language, making everyone an expert in their own mind.
Starting a server-side project from scratch can be a daunting task for any experienced development team, but these questions will take you a long way to making the right choice.