Containers
Project types

The Sphere Engine Containers module supports various base projects for different purposes. They can be grouped into generic categories. Each category reflects the specificity of a given type of project and has a distinctive user layout in the workspace.

The following main types are currently available for Sphere Engine Containers projects:

Web applications

Web applications are one of the most popular software products. Although they use a wide variety of technologies (e.g., Python, PHP, NodeJS), back-end frameworks (e.g., Django, Symfony), and front-end frameworks (e.g., React, Angular, Vue.js), they have a lot in common, especially when it comes to running or testing.

When working in the workspace, web application projects allow displaying a live view of the web application being created.

Workspace displaying a web application project
Fig. 1. Workspace displaying a web application project

Desktop applications

Desktop applications may not be as popular as they were a few years ago, however in some cases will be the preferable solution. Launching such applications usually leads to opening a graphical user interface window.

The following use cases are still very popular as desktop apps:

  • scientific packages with charts and plots (e.g., PyPlot, Octave, R),
  • game frameworks (e.g., PyGame).
Workspace displaying a desktop application
Fig. 2. Workspace displaying a desktop application

Mobile applications

Nowadays, mobile applications are very popular, and the interest in related technologies continues to grow. To be able to monitor the end-user experience, working with a mobile app requires emulating a mobile device environment.

Workspace displaying a mobile application
Fig. 3. Workspace displaying a mobile application

Console applications

This is the most generic project type. Anything that communicates with the external world using data streams (like stdout or stderr) or files falls into this category.

The following projects often appear as console applications:

  • C/C++ multi-files projects built with Makefile,
  • Python or PHP scripts,
  • Java projects defined by Maven's pom.xml file with jUnit unit tests,
  • Machine learning projects powered by the Tensorflow framework,
  • .NET framework C# projects,
  • projects using MySQL relational database operations.
Workspace displaying a console application
Fig. 4. Workspace displaying a console application

Tool applications

This is a broad category of single or multi purpose tools such as Jupyter, Git or Ansible.

Workspace displaying a tool application
Fig. 5. Workspace displaying a tool application