Specifications and Core Technologies

Languages

LanguageDescriptionLanguageDescription
Java
Java is a computer programming language that is concurrent, class-based, object-oriented, and specifically designed to have as few implementation dependencies as possible.

Supported version: 1.7 and 1.8
Link to Official site
HTML
HyperText Markup Language is the standard markup language used to create web pages.

Supported version: 4.1
Official site: http://www.w3.org
JavaScript
JavaScript® (often shortened to JS) is a lightweight, interpreted, object-oriented language with first-class functions, most known as the scripting language for Web pages.

Supported version: Standard ECMA-262
Official site: https://developer.mozilla.org/
XML
Extensible Markup Language (XML) is a markup language that defines a set of rules for encoding documents in a format that is both human-readable and machine-readable.

Supported version: 1.0
Official site: http://www.w3.or
Groovy
Groovy is an agile and dynamic language for the Java Virtual Machine which builds upon the strengths of Java but has additional power features inspired by languages like Python, Ruby and Smalltalk.

Supported version: 2.0.1
Official site: http://groovy.codehaus.org
Scala
Scala runs on the JVM, so Java and Scala stacks can be freely mixed for totally seamless integration.

Supported version: 2.8.0
Official site: http://www.scala-lang.org/
Jython
Jython, successor of JPython, is an implementation of the Python programming language written in Java.

Supported version: 2.7-b2
Official site: http://www.jython.org
JRuby
JRuby is a high performance, stable, fully threaded Java implementation of the Ruby programming language.

Supported version: 1.7.13
Official site: http://jruby.org/
Kotlin
Kotlin is a statically typed programming language that compiles to JVM byte codes and JavaScript.

Supported version: 0.8.11
Official site: http://kotlin.jetbrains.org/
PHP
PHP is a popular general-purpose scripting language that is especially suited to web development.

Supported version: 5.6.0 RC 4
Official site: http://php.net/
Python
Python is a widely used general-purpose, high-level programming language, that provides constructs intended to enable clear programs on both a small and large scale.

Supported version: 2.7.8
Official site: https://www.python.org/

Frameworks

FrameworkDescriptionFrameworkDescription
Android
Android, the world's most popular mobile platform.

Supported version: 4.1.1.
Official site: http://developer.android.com
Angular.JS
AngularJS lets you extend HTML vocabulary for your application. The resulting environment is extraordinarily expressive, readable, and quick to develop.

Supported version: 1.2.16
Official site: https://angularjs.org/
Bottle
Bottle is a fast, simple and lightweight WSGI micro web-framework for Python. It is distributed as a single file module and has no dependencies other than the Python Standard Library. Runs with Python version 2.7.8. GAE SDK version: 1.9.9

Supported version: 0.12
Official site: http://bottlepy.org/docs/dev/index.html
Flask
Flask is a microframework for Python based on Werkzeug, Jinja 2 and good intentions. Runs with Python version 2.7.8. GAE SDK version: 1.9.9

Supported version: 0.10.1
Official site: http://flask.pocoo.org/
Grails
Grails is an Open Source, full stack, web application framework for the JVM. It takes advantage of the Groovy programming language and convention over configuration to provide a productive and stream-lined development experience.

Supported version: 2.4.2
Official site: https://grails.org/
GWT
GWT is a development toolkit for building and optimizing complex browser-based applications. It's open source, completely free, and used by thousands of enthusiastic developers around the world.

Supported version: 2.6.1-rc2
Official site: http://www.gwtproject.org/
JSF
JavaServer Faces (JSF) is a Java specification for building component-based user interfaces for web applications. It was formalized as a standard through the Java Community Process and is part of the Java Platform, Enterprise Edition.

Supported version: 2.1.7
Official site: https://javaserverfaces.java.net/
JSP
JavaServer Pages (JSP) technology provides a simplified, fast way to create dynamic web content. JSP technology enables rapid development of web-based applications that are server- and platform-independent.

Supported version: 2.0
Official site: http://www.oracle.com/technetwork/java/jsp-138432.html
Lift
Lift open source software licensed under an Apache 2.0 license. Because Lift applications are written in Scala, an elegant JVM language, you can still use your favorite Java libraries and deploy to your favorite Servlet Container and app server.

Supported version: 2.5
Official site: http://liftweb.net/
Play
Play Framework makes it easy to build web applications with Java & Scala. Play is based on a lightweight, stateless, web-friendly architecture. Built on Akka, Play provides predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications.

Supported versions: 1.0 and 2.0
Official site: http://www.playframework.com/
Spring
Core support for dependency injection, transaction management, web applications, data access, messaging, testing and more.

Supported version: 3.0.5
Official site: http://projects.spring.io/spring-framework/
Struts
Apache Struts is a free, open-source, MVC framework for creating elegant, modern Java web applications. It favors convention over configuration, is extensible using a plugin architecture, and ships with plugins to support REST, AJAX and JSON.

Supported version: 2.2.3.1
Official site: http://struts.apache.org/
Tapestry
Component oriented framework for creating dynamic, robust, highly scalable web applications in Java.

Supported version: 5.3.7
Official site: http://tapestry.apache.org/
Vaadin
Vaadin is an open source Web application framework for rich Internet applications. In contrast to JavaScript libraries and browser-plugin based solutions, it features a server-side architecture, which means that the majority of the logic runs on the servers. On the client-side Vaadin is built on top of and can be extended with Google Web Toolkit.

Supported version: 7.0.0
Official site: https://vaadin.com/
Wicket
With proper mark-up/logic separation, a POJO data model, and a refreshing lack of XML, Apache Wicket makes developing web-apps simple and enjoyable again. Swap the boilerplate, complex debugging and brittle code for powerful, reusable components written with plain Java and HTML.

Supported version: 6.15.0
Official site: http://www.playframework.com/
Shale Shale is a modern web application framework, fundamentally based on JavaServer Faces. Architecturally, Shale is a set of loosely coupled services that can be combined as needed to meet particular application requirements.

Supported version: 1.0.4
Official site: http://shale.apache.org
Rhino Rhino is an open-source implementation of JavaScript written entirely in Java. It is typically embedded into Java applications to provide scripting to end users. It is embedded in J2SE 6 as the default Java scripting engine.

Supported version: 1.7R4
Official site: https://developer.mozilla.org/en-US/docs/Mozilla/Projects/Rhino
Velocity Velocity is a project of the Apache Software Foundation, charged with the creation and maintenance of open-source software related to the Apache Velocity Engine . All software created at the Velocity project is available under the Apache Software License and free of charge for the public.

Supported version: 2.0
Official site: http://velocity.apache.org/
Thymeleaf Thymeleaf is a Java library. It is an XML / XHTML / HTML5 template engine (extensible to other formats) that can work both in web and non-web environments. It is better suited for serving XHTML/HTML5 at the view layer of web applications, but it can process any XML file even in offline environments.

Supported version: 2.0.15
Official site: http://www.thymeleaf.org/
Xstream XStream is a simple library to serialize objects to XML and back again.

Supported version: 1.4.7
Official site: http://xstream.codehaus.org/

Web Servers

The following are default web-server versions used as runtime in Codenvy. It’s possible to customize runtime as per own Dockerfile. See: Custom Runtime.

Web ServerVersionDescription
Tomcat
7.0.53Apache Tomcat is an open source software implementation of the Java Servlet and JavaServer Pages technologies. Official site: http://tomcat.apache.org/
JBoss
7.1.1JBoss Application Server is the open source implementation of the Java EE suite of services. It comprises a set of offerings for enterprise customers who are looking for preconfigured profiles of JBoss Enterprise Middleware components. Official site: http://www.jboss.org/overview/
Jetty
9.1.5Jetty is used in a wide variety of projects and products, both in development and production. Jetty can be easily embedded in devices, tools, frameworks, application servers, and clusters. Official site: http://www.eclipse.org/jetty/
GlassFish
4.0GlassFish Server Open Source Edition provides a server for the development and deployment of Java Platform, Enterprise Edition (Java EE platform) applications and web technologies based on Java technology. Official site: https://glassfish.java.net/
TomEE
1.5.1Apache TomEE is an all-Apache Java EE 6 Web Profile certified stack where Tomcat is top dog. Apache TomEE is assembled from a vanilla Apache Tomcat zip file. Official site: http://tomee.apache.org/apache-tomee.html

Build and Package Systems

Build SystemVersionDescription
Grunt
0.4.5The Grunt ecosystem is huge and it's growing every day. With literally hundreds of plugins to choose from, you can use Grunt to automate just about anything with a minimum of effort.
Bower
1.3.3Bower is a package manager for the web. It offers a generic, unopinionated solution to the problem of front-end package management, while exposing the package dependency model via an API that can be consumed by a more opinionated build stack. There are no system wide dependencies, no dependencies are shared between different apps, and the dependency tree is flat.
3.2.1Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.
1.9.4Apache Ant is a Java library and command-line tool whose mission is to drive processes described in build files as targets and extension points dependent upon each other. The main known usage of Ant is the build of Java applications.

Version Control

VCSVersionDescription
1.9.2Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.

Git Hosting

Below is a list of Git Hosting providers that have been tested to integrate with Codenvy. This means that it is possible to establish SSH connection with each provider, push, pull and fetch changes.

ProviderHomepageTutorial Link
Assemblahttps://www.assembla.com/ Assembla
Beanstalkhttp://beanstalkapp.com/Beanstalk
BitBuckethttps://bitbucket.org/BitBucket
CloudForgehttp://www.cloudforge.com/CloudForge
Codebasehttp://www.codebasehq.com/Codebase
Codeplanehttps://codeplane.com/Codeplane
Codespaceshttp://www.codespaces.com/Codespaces
Deveohttps://deveo.com/Deveo
GitEnterprisehttp://www.gitenterprise.com/GitEnterprise
GitHubhttps://github.com/GitHub
GitLabhttp://gitlab.com/GitLab
Gitorioushttps://gitorious.org/Gitorious
PHPCloudhttp://www.phpcloud.com/PHPCloud
PikaCodehttps://pikacode.com/PikaCode
Planiohttps://plan.io/Planio
ProjectLockerhttp://projectlocker.com/ProjectLocker
Unfuddlehttps://unfuddle.com/Unfuddle

Databases

Database TypeVersionDescription
Amazon RDS MS SQL Server
actual MS SQL versionsAmazon RDS for Microsoft SQL Server® makes it easy to set up, operate, and scale SQL Server deployments in the cloud. Amazon RDS frees you up to focus on application development by managing time-consuming database administration tasks including provisioning, backups, software patching, monitoring, and hardware scaling.
Amazon RDS Oracle
actual Oracle versionsAmazon RDS makes it easy to set up, operate, and scale Oracle Database deployments in the cloud. With Amazon RDS, you can deploy multiple editions of Oracle Database 11g in minutes with cost-efficient and re-sizable hardware capacity.
Amazon RSD Postgree SQL
actual Postgree SQL versionsAmazon RDS manages complex and time-consuming administrative tasks such as PostgreSQL software installation and upgrades, storage management, replication for high availability and back-ups for disaster recovery. With just a few clicks in the AWS Management Console, you can deploy a PostgreSQL database with automatically configured database parameters for optimal performance.
Google Cloud SQL
MySQL 5.5 and 5.6Fully managed, highly available relational databases. Create, configure, and use MySQL databases that live in Google's Cloud. We manage replication, encryption, patch management, and backups, so you focus on your applications and services.
Postgree SQL
9.3PostgreSQL is a powerful, open source object-relational database system. It has more than 15 years of active development and a proven architecture that has earned it a strong reputation for reliability, data integrity, and correctness.
MySQL
5.7 MySQL is the world's most popular open source database. Whether you are a fast growing web property, technology ISV or large enterprise, MySQL can cost-effectively help you deliver high performance, scalable database applications.
Oracle
12cOracle Database 12c introduces a new multitenant architecture that makes it easy to deploy and manage database clouds. Innovations such as Oracle Multitenant, for consolidating multiple databases quickly, and Automatic Data Optimization with Heat Map, for compressing and tiering data at a higher density, maximize resource efficiency and flexibility.
MS SQL Server
14SQL Server enables customers to build mission-critical applications and Big Data solutions using high-performance, in-memory technology across OLTP, data warehousing, business intelligence and analytics workloads without having to buy expensive add-ons or high-end appliances.
NuoDB
2.0.3NuoDB is a distributed cloud database management system with a rich SQL implementation and true ACID transactions. It's an operational DBMS designed to meet the needs of cloud-scale apps and the 50+ billion connected devices in use worldwide.