Comments (5)
We already started work on Kotlin runtime, work under construction once is stable IBM will contribute to Apache OpenWhisk https://github.com/ibm-functions/runtime-kotlin
from openwhisk-runtime-java.
Hmm, any reason why we'd build a specific Kotlin runtime vs. just using the Java one?
from openwhisk-runtime-java.
I think the reason is that java actions don't need kotlin standard library and so to keep the java runtime and java action jar minimal a dedicated runtime (with kotlin-specific stuff bundled) is considered.
from openwhisk-runtime-java.
There's really two reasons for having a specific Kotlin runtime:
-
Platform and dependencies
As @mkouba says, it means that we can embed the Kotlin standard library into the runtime and remove the need to include it in the action. It also means that in the future we have the option to switch to kotlin-native in the future if it makes sense to. -
Programming model and customisations
It makes it much easer to customise for Kotlin and adopt a more idiomatic programming model. For example, experimental Kotlin runtime does simple things like append the "Kt" to the class name for you. The experimental runtime also adds a data class based API so that you can avoid having to work with JSON directly. The next step would be to look more at how to implement a Kotlin idiomatic async API.
from openwhisk-runtime-java.
The experimental runtime also adds a data class based API so that you can avoid having to work with JSON directly.
This is also possible in Java, using e.g. Gson. Of course, java does not data data classes and so it's much more verbose.
This should imho be definitely added to java runtime too.
Kotlin idiomatic async API
Makes sense.
from openwhisk-runtime-java.
Related Issues (20)
- HTTP requests/responses not correctly parsed in expected format in webactions HOT 3
- about custom jre HOT 2
- build openwhisk-runtime-java project error HOT 1
- Some source files miss Apache license headers HOT 1
- Multiple Distros for Java Runtimes HOT 3
- Java action that depends on packages jar file fails HOT 4
- Making Java Function return Future
- [Thought] Using Volumes for java actions HOT 3
- Support Scala Actions
- fix .travis it contains deploy section twice
- Update Travis to stop build earlier HOT 1
- java Actionruntime of jar confilcts HOT 1
- Travis build failure openwhisk-admin-tools dependency not found HOT 1
- add additional Volume to java run time. HOT 4
- Support OpenJDK 11 using new AdoptOpenJDK Docker image HOT 1
- Add support to run on Knative along with OpenWhisk
- Retroactively add openJ9 JDK version bump to changelog
- Look to update adoptopenjdk base image HOT 2
- Upgrade Gradle to min. of v5.0 as recommended for JDK 11 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from openwhisk-runtime-java.