firebase-functions icon indicating copy to clipboard operation
firebase-functions copied to clipboard

Multi language support for firebase functions - Kotlin, Dart, Golang

Open algoflows opened this issue 2 years ago • 13 comments

Many users have been requesting Dart and Kotlin support for Firebase functions. AWS already supports layers and custom runtimes, and CDK and Pulumi both support multiple languages. Google's competitors, such as Deno, AWS, Azure, and other edge platforms, provide better JavaScript experiences or multiple vendor and language support.

As a leading tech company, Google and it's users would greatly benefit from supporting other languages, why not start with Google-backed or created languages such as Go, Dart, and Kotlin. With the emergence of unified codebases and deploying to multiple platforms, having support for more languages can help users deliver frontend and backend logic using a single language.

However, whenever someone brings up the topic of supporting Dart or Kotlin for Firebase functions, it seems to get dismissed. This has pushed me and possibly others away from Firebase and Firebase functions, as I don't want to feel locked into using JavaScript.

Hopefully, you'll adopt a similar approach to multi language support like pulumi, give the user the choice on which language he can write his firebase functions in.

To remain competitive, it's crucial for Google to start supporting other languages, listening to customer feedback, or it may risk being left behind by other players who are meeting these demands. It would be a shame to see Google get left behind.

algoflows avatar May 04 '23 16:05 algoflows

I found a few problems with this issue:

  • I couldn't figure out how to label this issue, so I've labeled it for a human to triage. Hang tight.
  • This issue does not seem to follow the issue template. Make sure you provide all the required information.

google-oss-bot avatar May 04 '23 16:05 google-oss-bot

Since Firebase is often used with Flutter, it would be great to see firebase functions support dart especially. Not sure if there would be an easy implementation since dart already support compiling to js, but I would love to see that feature!

Also, may be worth noting that there is an open source package (out of support) that provided this ability to some extent: https://github.com/pulyaevskiy/firebase-functions-interop

ZacharyBohn avatar Jun 07 '23 00:06 ZacharyBohn

Firebase v2 functions are now using Google Cloud Run under the hood. And even before v1, Google Cloud Run can be invoked as a function via firebase hosting. That means that any language that can be run in a docker container on an http port can be packaged as a function. I've successfully deployed a firebase function written in Scala and called it from my firebase client app.

glorat avatar Sep 04 '23 10:09 glorat

@glorat how? can you provide some link to read more about it?

tomasweigenast avatar Jan 08 '24 19:01 tomasweigenast