LAMP, RoR & MEAN Open Source Tech Stack Pros and Cons

August 12, 2015

By Steve Mezak

open source tech stackIf 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:

PHP

Pros

  • 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

Cons

  • Harder to share code and build large, complex systems

Python

Pros

Cons

  • 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.

https://upload.wikimedia.org/wikipedia/commons/1/16/Ruby_on_Rails-logo.png

 

 

 

 

 

 

 

 

Accelerance has 14 certified partner companies that are expert in RoR

MEAN - the JavaScript-only tech stack

  • M is for MongoDB – the NoSQL document-oriented database

  • E is for Express, the Node.js web application framework

  • A is for AngularJS

  • N is for Node.js the new and lightweight web server written in JavaScript

Who needs any other scripting or programming language! This stack just uses JavaScript on the backend with Node.js and the front end in the browser with Angular (or Ember). There is no L, W or M – this tech stack is available on just about any operating system.

A major difference of this stack is the commitment to a NoSQL, document-oriented database, primarily MongoDB.

http://s3.amazonaws.com/info-mongodb-com/_com_assets/media/mongodb-logo-rgb.jpeg



MEAN uses Express.js and AngularJS for web page presentation and control flow, Express.js serves as the controller.

https://upload.wikimedia.org/wikipedia/commons/thumb/6/64/Expressjs.png/200px-Expressjs.png

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.



https://angularjs.org/img/AngularJS-large.png




Choosing Node.js locks all code on your web server into JavaScript. For new development this isn’t a major concern, but converting a back-end of significant complexity can be time-consuming

. https://nodejs.org/images/logos/nodejs.png

If that’s not enough, there is also a variation of MEAN called MEEN where Ember is used instead of Angular.

https://upload.wikimedia.org/wikipedia/en/6/69/Ember.js_Logo_and_Mascot.png


Angular, Ember and also Backbone are popular JavaScript application frameworks used for frontend development with LAMP and RoRM too.

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."

Subscribe

Learn more about successful outsourcing and get the latest from Accelerance.