Firebase Functions - RESTful API
Drinks:Ration is under active development, with the trial due to commence in May 2020.
Identifying the role that technology plays now and in the future is crucial. We should always seek to future-proof our developments to ensure they remain relevant in the short/medium term. We are at the start of the InDEx project project; where we are mindful of selecting the most suitable technology platform to take us into the future. One of the first decisions we have to make is: which full-stack (otherwise development/production environment) should develop with. For the uninitiated, the term full-stack means working with all the layers from the back-end to the front-end technologies.
For many years, the standard environment was referred to as the LAMP and it primarily involved Linux, Apache, MySQL and PHP or Perl or Python. However, due to the resurgence of Javascript, and its ability to function both client and server-side, there's now a new stack which some considered as an alternative to LAMP; MEAN stack.
The MEAN stack includes MongoDB, ExpressJS, AngularJS and NodeJS and is gaining popularity in the industry - not so much in research. However, the questions remains, why choose MEAN over LAMP? LAMP after all is a tried and tested method that has been around for many years.
I just wanted to briefly mention some pros and cons to both technologies.
LAMP stack is one of the most common packages you will find in any development environment. LAMP is composed of Linux as the operating system, Apache as the Web server, MySQL as the relational database management system and PHP as the object-oriented scripting language. It is made up entirely of free, open-source software which have been design to function with dynamic content and applications.
A drawback of the LAMP stack is that you are locked in to using a variant of Linux.
The MEAN stack is the most modern stack on the market, powered solely by Javascript. This is an important aspect; for a LAMP stack you have to master numerous coding languages however for a MEAN stack you only need to know one - JavaScript. Coding in a single language saves significant amounts of time (resulting in money/time saved). Further, MEAN is designed for a cloud environment (LAMP has associated challenges for deploying in the cloud).
There are some good reasons why MEAN has the upper hand over LAMP. I wanted to mention some of these:
While LAMP may become outdated in the future, it still has a place in the stack environment - notably in research. However, MEAN stack is innovative, new and cutting-edge with state-of-the-art technologies making it the technology of the future. That is why we selected the MEAN stack when developing for the Medical Research Council funded InDEx project.
You may find these resources useful when developing with MEAN: