If you are developing a web app from scratch then your selection of a technology stack is a critical decision. Often it is dictated by what you or your developers already know which may be out of date or not a fit for what you want to do. Here’s a look at the pros and cons of three popular technology stacks to help you make a good decision.
LAMP (and sometimes WAMP or MAMP)
The classic open source tech stack for developing web applications.
- L is for the Linux operating system.
- A is for the Apache web server
- M is for the MySQL relational database or the MongoDB NoSQL database
- P is for the programming language which historically has been one of PHP or Python.
Other open source languages can also be used such as Java. WAMP and MAMP is the same stack on computers running the Windows or Mac operating systems. It doesn’t start with “M” but PostgreSQL is often used instead of MySQL in this stack.
Here’s some pros and cons of the two programming languages:
- Popular scripting language in use since 1995
- Lots of developers available
- Improved object-oriented features added in 2005 but not often used
- Script execution is generally fast
- Multiple frameworks available to improve developer productivity
Harder to share code and build large, complex systems
- Usually used with Django or another framework for Python
- Easy to learn and produce code
- Passionate and dedicated following
Developers are available but not as many as other languages (PHP, Java, C#, etc.)
Accelerance has 11 certified partner companies that are expert in Python & 38 in PHP for example.
RoRM – Ruby on Rails with or without MongoDB
RoR is for Ruby on Rails where Ruby is the popular scripting language and Rails is a framework used to create web application using the Ruby language.
M is for MySQL or MongoDB
Most RoR web applications use MySQL or PostgreSQL relational database but MongoDB is growing in popularity for reasons I’ll cover shortly. MongoMapper and Mongoid are two RoR software modules or “gems” used to work with MongoDB.
Accelerance has 14 certified partner companies that are expert in RoR
M is for MongoDB – the NoSQL document-oriented database
E is for Express, the Node.js web application framework
A is for AngularJS
A major difference of this stack is the commitment to a NoSQL, document-oriented database, primarily MongoDB.
AngularJS handles data presentation.
Using these scripts are a simplified back-end architecture and both front and back end implemented in programming language giving all your developers access to the entire application without switching languages.
If that’s not enough, there is also a variation of MEAN called MEEN where Ember is used instead of Angular.
The LAMP stack remains one of the most popular approaches to open source web app development with Ruby on Rails being a close second.
Selection of your tech stack borders on being a religious decision. The amount of time a developer spends learning a particular stack leads to a measure of commitment that is hard to overcome. Your development team will likely have a strong preference or disdain for one of these stacks described here. Similarly, software outsourcing companies tend to commit to tech stacks based on experience and the developers they hire.
Accelerance certified partners can handle just about any stack you need supported. It is comforting to know that developers are available no matter which tech stack you choose and development of your web and mobile apps by an outsourced team experienced with LAMP, RoRM or MEAN can begin ASAP!
Get all the answers to your outsourcing questions in our eBook "Software Without Borders."