Extensions, the Natural Evolution of the Developer Experience

Extensions Title Image

With the 10.12 release of Studio Pro this month, we are anticipating the public beta release of a new feature: Mendix Extensions. And it’s going to dramatically change the way you use the platform.

Extensions, or Extensibility, is the ability to directly customize the Studio Pro IDE. If I had to explain it as simply as possible, I would compare it to mod support for Mendix. It is a framework for allowing developers to create integrated solutions for Studio Pro.

Our hope is that by creating an extensible IDE, we will enable our users to fully integrate external tools so they can build better apps faster. (And have a great time doing it!)

Additionally, it will allow users to create fully integrated experiences with other tools, such as Menditect, Siemens Industrial Edge, and many more to come.

How can I create an Extension?

The plan is to make extensions open to internal and external developers. Therefore, we have separated extensions into different tiers, depending on your Mendix certification level:

  • The first tier will be for Advanced Mendix developers with some C# knowledge. Those developers will be able to build user interfaces for their Extension in Mendix while leveraging C# to make use of APIs and to build out more complex use cases. For the moment, C# is required for these custom integrations, as it provides the most control over how Studio Pro works.
  • The second tier will be for Expert Mendix developers with a more traditional full stack development background. These developers will enjoy the most freedom and control. Those who have experience in both C# and JavaScript or any other front end web technology will be able to create custom interfaces that are detached from Studio Pro. This tier will provide the ultimate freedom to customize your IDE.

While extensions for Mendix 10 will be based on C#, future versions may be based on other programming languages. We want to make Studio Pro the best experience for those using it. So head over to the forum and share which languages you would like to see.

Description of the two Extensions tiers

What kinds of Extensions can I build?

As an appetizer for what is to come, here are some Extensions already created by Mendix and by our partners who participated in the private beta.

Mendix Chat

Take a look at this AI-powered dockable pane that lets you make changes to your project based on simply using vocal prompts.

Eager to give Mendix Chat a try? You can find it in Studio Pro in your top-level menu under View.

Microflow Call Hierarchy

Our partner Menditect has created their own extension: the Microflow Call Hierarchy Extension. The Extension simplifies the process of automating testing by creating a seamless integration with Mendix.

The Microflow Call Hierarchy Extension enables you to view the entire structure of a microflow—which sub flows it calls and what microflows it’s used in. (Think breadcrumbs for microflows.)

On top of this, the Extension provides direct integration with the Menditect Test Automation Service, which allows you to automatically generate tests for a selected microflow. It allows a user to select a microflow and generate unit tests that they can then execute on their MTA platform.

Menditect is the first partner to create an Extension. We hope to see many more Extensions that integrate into third-party platforms.

An AWS POC

Our AWS team has also been hard at work creating a prototype extension for AWS Lambda. This POC extension allows you to authenticate with your AWS developer account. It then retrieves your Lambda functions, which you can consume in your Mendix app.

With the Extension, you’ll be able to simply drag and drop Lambda functions into your flows in the same way you use the Toolbox pane.

While the AWS Lambda connector was just an experiment to see what could be done, it will pave the way for future AWS-related extensions. I know I’ll be waiting to see what comes out of this in the future.

These examples are just the tip of the iceberg. I can’t wait to see what Extensions our incredible community creates. I look forward to code editors for new languages, JSON validators, and theme generators. If you have an idea for an extension but don’t know how to make it, submit your idea on the forum!

Where will I find Extensions?

You will be able to upload and share the Extensions you create on the Mendix Marketplace. That’s also where you’ll find extensions created by other developers to download into your project.

You import Extensions like modules, so they are specific to each project. You will have to download your favorites when starting a new app. This also makes it easier for team members to use the same extensions when working on the same project. Any Extensions will be included when new team members download the app from the repository or merge changes into their existing copy of the project

When can I get my hands on Extensions?

Soon! We have been piloting Extensions in a private beta up until now, but the public beta release is expected to be part of the 10.12 launch. Keep an eye on our release blog to catch the official announcement, or check the release notes for even more info.

You don’t have to wait to get started!

If you can’t wait for the release of Extensions and would like to start building your own for Studio Pro, submit a request to Mendix Support for information on getting involved in the private beta for the Mendix Partners. Not a partner? Stay tuned for the release updates!

I can’t wait to see all the amazing things this talented community will create. In my mind, this is the greatest new feature for the year. I eagerly await its full release so I can get my hands on all the weird and wonderful things people will create. Until then, dust off those C# textbooks, and start brushing up on the tools you need to truly make Mendix your own!