BBVA Open4u - Development in the cloud: advantages and platforms for programmers

Development in the cloud: advantages and platforms for programmers

Codio, Cloud9, Codenvy and Nitrous are four examples of online Integrated Development Environments, which have the normal editor and text functionalities plus the main development advantages in the cloud: collaboration and customization.
BBVAOpen4U
|
04 Nov. 2015

A large part of the software business, in any aspect, is being transferred to the cloud. An essential reason behind this movement is cost reduction. There is nothing more sacred in a company than costs. Product development is no exception. There are currently tools for programmers used to program in the cloud: Codio, Cloud9, Codenvy and Nitrous are some examples. 

The concept behind these kinds of tools is simple. They are Integrated Development Environments (IDEs) with the advantages of a solution stored in the cloud. At Sitepoint, the page with specialized content for developers, they make a list of the virtues of using the cloud for programming:

- They're somewhat more than a code editor: if IDEs could be defined as code editors on steroids, then development platforms on the cloud could be called IDEs on steroids. These kinds of tools are more like Development Platforms as a Service - dPaaS, which offer a greater series of cost and productivity functionalities.

- Less implementation time: these types of platforms greatly reduce installation times. Less time, less cost.

- Program from anywhere: you don't have to be in front of your computer to continue programming your product. Since its stored in the cloud, you can do it from anywhere and any device (computer or tablet). Only requirement: be connected to the Internet

- Collaborative work in real time: one of its great advantages is that several developers can be working on the same project at the same time and use the online chat services to communicate.

- Customization of the development environment: these types of tools can be used to install dependencies for projects independently. When programmed in local, there are often complications because the dependencies for certain projects affect others or are damaging to other web applications.   

Codio: free for open source projects

Codio is a development tool in HTML5, CSS3 and JavaScript. It's also possible to program in other languages such as Java, C, Pascal, Scala, Go, Haskell or Rust. The back-end offers us servers in Linux Ubantu configured with Node.js. It also has several distributed version control systems such as Mercurial and Git. As far as databases are concerned, there are several options: MongoDB, phpMyAdmin, MySQL, PostgreSQL, SQLite and Redis

Some of its key features are:

- As a code editor, it has all the normal functionalities of similar tools such as: upload and download files, create or delete folders, function for dragging and dropping documents, auto-completion of code during programming, capacity to share and embed projects, collaborative work, command for formatting the code... And in the latter case, with a simple shortcut you can clean codes with no problem:

From this code without format:

if ('this_is'==/an_example/){of_beautifer();}else{var a=b?(c%d):e[f];}

To this other, much cleaner and sorted:

if ('this_is' == /an_example/) {
    of_beautifer();
} else {
    var a = b ? (c % d) : e[f];
}

- Several additional tools:

Bower: this is a tool which is basically in charge of all the packages and libraries related with the frontend of a web project. The tree of dependencies it uses is flat, and just requires a version of each of the packages it manages, which reduces the minimum time for loading websites.

Phonegap: Codio is fully integrated in this Adobe tool for developing multi-platform applications. Phonegap makes it possible to program an app for iOS, Android and Windows without having to use different programming languages or different Development Environments.

Deployment: Codio is used to deploy your web project or application in the menu Tools Terminal menu, although the code frontend can be used automatically from port 80.

Cloud9, code editor in the cloud with Ubuntu

Cloud9 began as a code editor in Node.js and is now a development tool for web projects and applications in the cloud, in Python, PHP, Ruby, C, C++, JavaScript, Go and up to 40 types of different languages. It's used to create digital products in content managers such as Wordpress, Drupal, Joomla and Ghost and development frameworks such as Django, Ruby on Rails, Meteor, Bootstrap, CakePHP, Ember.js, Laravel and Symphony

It's also important to note that it's integrated with databases such as Cassandra, CouchDB, MongoDB, MySQL, phpMyAdmin, PostgreSQL, Redis and SQLite. The possibilities are huge, with almost all the possible options available.

Its key features are:

- Code editor. It has the normal in tools of this type: simultaneous management of several files, auto-completion of the code, key shortcuts, program debugging, versions control, possibilities to customize the tool itself, images editor, code editing in a team and in real time...   

- Virtual testing server: in a digital development project, it's normal to install a local server in any of the options (Xampp, Wampp or Mampp) to launch the code of our web project or application and run real tests. Cloud9 has a virtual server, where the developer can see the visual and functional result of their programming in real time. And make improvements.

- Customizable templates.

- Supports Git and Mercurial.

Codenvy, a very flexible online IDE

Codenvy is an Integrated Development Environment in the cloud that has been largely accepted within the developers' community: it can be used in projects with languages such as Java, JavaScript, Ruby, Python and PHP; development frameworks such as Spring and Ruby on Rails; and hosting services in the cloud for the deployment of products such as Heroku, Google App Engine and AWS.

Some of its features include:

- Condevy is a tool used to install plugins to increase its functionalities. One example is the Eclipse plugin. It connects to the IDE through authentication API. Once connected, you can use Eclipse to work on all the projects you had in Codenvy. The changes are automatically synchronized.

- Usa Docker, an open code project for creating containers for developing projects. They are virtual machines that are easy to deploy in other systems and are really light, and the storage demands are less.

Nitrous, a perfect IDE for Ruby on Rails

Nitrous basically offers the same as the Integrated Development Environments in the cloud seen earlier: several programming languages, different development frameworks and different databases services such as ongoDB, PostGreSQL, MySQL, Redis and Amazon RDS. Nitrous is used to create virtual Linux machines for developments with Ruby on Rails, but also in programming languages such as Python and Go. 

Its main features are:

- SSH access: makes it possible to access the virtual Nitrous machine and customize the configuration. This virtual machine has the following installed by default: Ubuntu OS, Ruby on Rails, Vim and Tmux

- SSL data encoding.

- Integration with GitHub.

- Usa Docker for creating containers.

Follow us on @BBVAAPIMarket