Welcome to the Treehouse Community

Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.

Start your free trial

General Discussion

What server-side language should I use for mobile apps? (Apps that are like Snapchat, which are not like Facebook...

What server-side language should I use for mobile apps? (Apps that are like Snapchat, which are not like Facebook, since Facebook has it own website which require different type of server.

2 Answers

Mobile backends that only deal with I/O (input/output) and don't do much CPU-bound activities (calculations, parsing, etc) are often written in JavaScript these days, for node.js. I believe LinkedIn is an example of such server-side architecture. Yahoo and PayPal are also moving a great deal of their architecture to node.js.

Snapchat itself appears to be written in Java, another popular choice, due to Java's popularity in general and ability to scale.

Theoretically, you could write the backend in anything, even PHP would do for a small-scale app, although I wouldn't recommend it.

You could also use a BaaS like Parse or Backendless, or an open-source self-hosted alternative like BaaSBox. In that case the backend is more about modelling the date than development.

The thing is, there is no golden rule. Usually people use whatever they're most familiar with and then, if necessary, move on to a different architecture (like Twitter which started as a Ruby on Rails app and then moved its backend to Scala).

Snapchat runs on Google App Engine Backend.