News

Azure Functions Improves TypeScript Support, Adds Java

Azure Functions, Microsoft's serverless computing experience in the cloud, now officially supports the Java programming language and has also made it easier to work with TypeScript.

Azure Functions, like AWS Lambda and Google Cloud Functions, is an event-driven serverless compute platform that lets developers provide code that gets executed -- typically in response to events or bindings -- without the need to provision or manage servers, which is done automatically in the cloud.

The Azure Functions Web site promises developers they can "Use the programming language of your choice," and those choices just expanded yesterday (Feb. 25) with the general availability of Java support in Azure Functions 2.0.

Java support for Azure Functions was earlier introduced in a preview, and since then the dev team has been improving that support by, for examples, boosting the authoring experience and hosting platform.

"With this release, Functions is now ready to support Java workloads in production, backed by our 99.95 percent SLA," said Asavari Tayal, program manager II, Azure Functions, in a blog post. "You can build your functions based on Java SE 8 LTS and the Functions 2.0 runtime, while being able to use the platform (Windows, Mac, or Linux) and tools of your choice. This enables a wide range of options for you to build and run your Java apps in the 50+ regions offered by Azure around the world."

Also yesterday, Microsoft announced improved TypeScript support. Previously, said Colby Tresness, another program manager, developers could work with Azure Functions in TypeScript (after all, Tresness said, Azure Functions runs another JavaScript-based technology, Node.js).

"However, the experience wasn't seamless, and things like our default folder structure made getting started a bit tricky," Tresness said. "Today we're pleased to announce a set of tooling improvements that improve this situation. Azure Functions users can now easily develop with TypeScript when building their event-driven applications!"

That set of tooling improvements affects Azure Functions Core Tools and the Azure Functions Extension for Visual Studio Code (preview) and consists of new templates for TypeScript, type definitions and npm scripts.

Here's a look at each:

  • Templates for TypeScript: When creating functions with the two tools mentioned above, developers can opt in to using TypeScript. That sets up the background machinery to set up TypeScript compatibility such that upon creating future functions, various TypeScript-specific function templates will be available. "Each template represents one possible trigger, and there is an equivalent present in TypeScript for each template supported in JavaScript."
  • Type definitions for Azure Functions: The @azure/functions package on npm contains type definitions for Azure Functions that provide information such as what an Azure Function object is shaped like or the context object that is passed into every JavaScript function.
  • Npm scripts: The TypeScript function apps now include a default package.json file containing some simple npm scripts that allow Azure Functions to fit directly into typical development workflows by calling specific Azure Functions Core Tools commands. "For instance, 'npm start' will automatically run 'func start,' meaning that after creating a function app you don't have to treat it differently than any other Node.js project."

Additional resources available include:

About the Author

David Ramel is the editor of Visual Studio Magazine.

comments powered by Disqus
Upcoming Events

.NET Insight

Sign up for our newsletter.

Terms and Privacy Policy consent

I agree to this site's Privacy Policy.