Runtimes
Polyglot Serverless
Write functions in your preferred language. Apache OpenWhisk supports 11+ official runtimes plus any custom Docker-based environment.
Official Runtimes
js
JavaScript / Node.js
14 / 16 / 18
Most popular. npm packages supported via ZIP bundles.
python
Python
3.x
pip packages via virtualenv ZIP. Great for ML/AI workloads.
java
Java
OpenJDK 11
JAR-based deployment. Full Java ecosystem.
go
Go
1.17+
Single binary deployment. Excellent performance.
php
PHP
8.x
composer packages via ZIP bundles.
ruby
Ruby
2.7
gem packages supported.
swift
Swift
5.x
Ideal for Apple ecosystem integration.
net
.NET (C# / F#)
6.x
Full .NET SDK access.
scala
Scala
2.12
JVM-based, interoperable with Java.
rust
Rust
stable
Via Docker action. Memory-safe systems programming.
Custom / Experimental
docker
Docker (any language)
any
Bring your own runtime image. Haskell, Deno, Ballerina, etc.
c
ANSI C
via Docker
See the Quick Start → ANSI C example for a working template.
Same Function, Multiple Languages
function main(p) { return { msg: "Hello, " + p.name }; }
def main(p): return { "msg": "Hello, " + p.get("name") }
func Main(p map[string] interface{}) map[string] interface{} { return map[string] interface{}{ "msg": "Hello", } }
