Building Low Code Applications with Mendix: A Starter Guide

published on 19 April 2024

If you're curious about building low code applications with Mendix, here's what you need to know in simple terms:

  • Mendix is a platform that lets you create apps quickly without much coding, using drag-and-drop tools and visual modeling.
  • It's great for teams with both coders and non-coders, helping to bring app ideas to life fast.
  • You can deploy apps across web, mobile, and cloud with ease.
  • Mendix includes features like visual development, collaboration tools, and scalability options.

In a nutshell, Mendix enables rapid app development with less coding, making it easier and faster for businesses to innovate and implement new ideas. Whether you're starting with Mendix or looking to enhance your existing skills, this guide walks you through the essentials: setting up your environment, creating your first application, adding logic, deploying, and more.

  • Setup: Sign up and familiarize yourself with Mendix Studio and Studio Pro.
  • Application Creation: Build your app using drag-and-drop components and visual workflows.
  • Advanced Features: Extend your app with custom code, integrate with REST services, and ensure robust error handling.
  • Deployment: Prepare your app for deployment and choose the right hosting options.
  • Monitoring and Management: Keep tabs on your app's performance and user engagement post-launch.

This introduction covers the basics of what Mendix is, why it's beneficial, and how to start creating your own low code applications.

What is Low Code?

  • Low code platforms are like digital Lego sets for making apps. You pick pieces (UI components) and snap them together with a few clicks.
  • Instead of writing lines of code, you use a straightforward editor to link these pieces with logic.
  • Since the platform takes care of the complex parts, you don't need to code as much.
  • This way of making apps is much quicker than traditional coding.

Benefits of Low Code

Using a low code platform like Mendix has several advantages:

  • Speed - You can make apps way faster, sometimes 3-10 times quicker.
  • Engagement - It's easier for everyone, whether they code or not, to work together.
  • Cost - You save money because you need fewer people who know how to code.
  • Simplicity - It cuts out the complicated stuff so you can focus on what your app needs to do.

Introducing Mendix

Mendix started in 2005 and became part of Siemens in 2018. Here's what makes it special:

  • Visual Development - You can quickly build apps using a simple drag-and-drop editor.
  • Collaboration - It's made for both coders and non-coders to work together on making an app.
  • Deployment Flexibility - You can put your app on the web, on mobile, or in the cloud.
  • Scalability - Mendix takes care of the tech stuff like infrastructure, so your app can grow without hassle.

Mendix is all about making it easier and faster for companies to create complex web and mobile apps. Its low code approach means more teamwork and quicker updates.

Setting Up Your Mendix Environment

Creating a Mendix Account

To start using Mendix, you first need to sign up. Here's how:

  1. Visit https://www.mendix.com/try-now/ and click Sign Up
  2. Fill in your name, email, company name, and choose a password
  3. Pick the Free App plan
  4. Check your email to confirm your account
  5. Sign in to Mendix

After signing in, you'll see the main page of Mendix. This is where all your app-making happens.

Introduction to Mendix Studio & Studio Pro

Mendix has two main tools for creating apps:

  • Mendix Studio: This tool is all about making app creation easy with drag-and-drop features and templates. It's best for simpler apps.
  • Mendix Studio Pro: This is for the pros who need to do more complex stuff, like adding APIs, working with data, and customizing apps in depth.

Mendix Studio is user-friendly, perfect for beginners or those who need to make an app without much fuss. It lets you see changes right away.

Mendix Studio Pro is where you can tackle big projects. It's got everything for building robust apps, from detailed settings to code customization.

Touring The Mendix Platform

Here's a quick look at what you'll find on Mendix:

  • Dashboard: See how your app is doing.
  • Modeler: A place to put your app together, piece by piece.
  • Team Server: Where you and your team can work together.
  • App Store: Find bits and pieces you can use in your apps.
  • Docs & Academy: Where to learn more about Mendix.
  • Deploy: Get your app out into the world.
  • Settings: Handle your account and app settings.

It might take a little time to get used to everything, but there's plenty of help available in the docs and online forums.

Your First Mendix Application

Creating a New App

To kick off a new project in Mendix, hit the Create App button on your dashboard. You'll need to name your app and maybe add a short description to tell what it's about. Choose if you're going to use Studio for simple projects or Studio Pro for more complex ones. You can switch between them later if you need to.

Your app will open in the Mendix Modeler after creation. This is where you build your app by dragging and dropping things instead of coding. You'll work with UI elements, link them with logic, and connect to data sources here. Let's look at some parts of the Modeler:

  • Domain Model - This is where you set up the data for your app, like what information you'll store.
  • Microflows - Use this to make the app do things, like what happens when a button is clicked.
  • Pages - Design how your app looks and where everything goes on each page.
  • Navigation - Decide how users move around in your app.
  • Project Explorer - Find all the bits and pieces of your app here.

With these tools, you can build a working app without needing to code!

Defining Requirements with User Stories

It's good to start with user stories, which are simple sentences that describe what users can do with your app. For example:

  • As a user, I want to sign up for a new account
  • As a user, I want to reset my password
  • As an admin, I want to see user profiles

These stories help make sure everyone knows what the app is supposed to do. You can add these stories in Mendix under the Project section.

Configuring Settings & Preferences

Here are some settings to look at when starting:

Version Control

Use this to keep track of changes and go back to older versions if needed.

Roles & Permissions

Set who can do what in your app, like who can see or edit information.

Scrum Collaboration

If you're working with a team, this helps organize things like who's doing what and when.

Additional Preferences

Set up things like how your app looks, what language it uses, and other basics.

Getting these settings right helps everyone work better together.

Building Your Domain Model

Your domain model is like the brain of your app where all the data is organized. Here's how to set it up:

  • Break Things Down - Make small, clear parts instead of a few big ones.
  • Plan Associations - Think about how these parts connect to each other.
  • Implement Validation Rules - Make sure the data people put in is right.
  • Model in Context - Use names and terms that make sense for your app.
  • Refine Iteratively - Keep improving your model as you go along.

Setting up your domain model right is crucial because it affects everything else in your app. Mendix's tools let you try different setups easily until you find what works best.

Designing Your Application

In this part, we're going to talk about how you can use Mendix to quickly put together the look and feel of your app without needing to write code.

Page Design Basics

Let's start with how you can set up your app's pages using simple tools.

Mendix Studio lets you use a drag-and-drop method to design your app. Here are some basics:

  • Layouts - These are the frameworks for your pages. You can change the size of different sections easily.
  • Widgets - These are the building blocks like text boxes, buttons, and lists you can just drop into your layout.
  • Templates - These are pre-made page designs you can use as a starting point and then tweak as needed.
  • Device Views - This is where you make sure your app looks good on a phone, tablet, or computer screen.

Here's a simple way to build a page:

  1. Pick a layout
  2. Drop widgets onto the page
  3. Set up how each widget works
  4. Check how it looks on different screens
  5. Link widgets to your data

You can keep tweaking your pages until they're just right, and you don't need to know how to code to do it.

Next, let's make sure people can find their way around your app easily.

Good navigation means users can get to what they need without hassle. Mendix gives you lots of ways to set up clear paths through your app:

  • Menu Widgets - Use these to make simple or complex menus.
  • Navigation Trees - Lay out your pages in a tree so it's easy to see how everything connects.
  • Context-Specific Menus - These menus change depending on what part of the app you're in.

Remember to keep things simple, use clear names for your menus, and put the most important stuff first.

Making Pages Responsive

Lastly, we want to make sure your app works well on any device.

Mendix helps you set up your app so it looks great whether someone is using a phone, tablet, or computer. You can:

  • Adjust Layouts - Change how content is arranged for smaller screens.
  • Toggle Widgets - Hide things that don't fit or aren't needed on a phone.
  • Modify Styling - Make text, buttons, and other elements look good on any device.
  • Refine Interactions - Make sure everything is easy to use on a touchscreen.

You can see how your changes look right away and make sure your app is easy to use no matter where it's being viewed.

By following these steps, you'll be able to create an app that not only looks good but is also user-friendly and works across all devices.

Adding Logic with Microflows

Microflows let you tell your Mendix app what to do in different situations, like when someone clicks a button or fills out a form. You don't need to write any code; you just use a visual tool to set up these rules.

Microflow Basics

Here are the basic parts of microflows:

  • Start Event - Something that starts the flow, such as a button being clicked.
  • End Event - This is where the flow stops.
  • Activities - These are the steps the flow takes, like checking or saving information.
  • Decisions - Points where the flow can go one way or another, depending on certain conditions.
  • Loops - Parts of the flow that repeat until something specific happens.

For a simple example:

  1. Start event - Someone submits a form
  2. Activity - The form's information is checked
  3. Decision - Is the information correct?
    • Yes: Save it
    • No: Show an error message
  4. End event

This flow helps make sure forms are filled out right before being saved.

Complex Logic

You can also set up more complicated flows, like:

  • Subflows - Parts of flows that can be used in other flows.
  • Custom Ranges - More detailed decisions based on specific conditions.
  • Object Handling - Steps for creating, changing, or removing information.
  • Exclusive Splits - Deciding which path to take based on which condition is met first.
  • Integration - Connecting your app to other services or data sources.

Some complex examples include:

  • Doing different things based on a user's role
  • Showing weather information from an outside service
  • Checking addresses with another service's help

Debugging Microflows

To make sure your microflows work right, you can:

  • Use debug mode to go through flows step by step
  • Look at the details of what's happening at each step
  • Pause flows at certain points to check things out
  • Write out messages to help track what's happening
  • Turn on detailed error reports to see what went wrong
  • Use tools to see how fast your flows are running

Fixing problems early and making sure your flows run smoothly can save you a lot of trouble later on.

With microflows, you can set up detailed instructions for your app without needing to dive into coding. Mendix turns your visual setups into the actual code that runs in the background.

sbb-itb-3a330bb

Advanced Customization & Integration

This part talks about more complex features like adding your own Java code, working with REST API, and making sure your app can handle errors well for more flexibility.

Extending Logic with Java

You can make your Mendix app do more by adding custom Java code. Here’s what you can do with Java actions:

  • Call External APIs - Use code from other places like Apache Commons.
  • Complex Calculations - Do hard math or work with data in special ways.
  • Legacy System Integration - Connect to old systems with their Java code.
  • Advanced Data Tasks - Do special things with data that Mendix can't do on its own.

To add Java code:

  1. Go to Project Explorer > Java Actions and make a new Java action.
  2. Write your code in the Java editor.
  3. Use this Java action in a microflow.
  4. Test it by running locally or deploying.

Adding Java lets you do more complex things without making your microflows too complicated.

Integrating REST Services

You can connect your app with outside services using REST APIs. This lets your app talk to other software.

To use REST services:

  • Discover APIs - Look for APIs in the Mendix Marketplace.
  • Configure Connections - Set up how your app will talk to the API.
  • Test Endpoints - Make sure the API is responding correctly.
  • Call Services - Use these APIs in your microflows.

To make your own REST endpoints:

  • Define Resources - Set up what your API will need and give back.
  • Configure Routes - Decide how URLs look and work.
  • Deploy as Services - Make your API available to others.
  • Secure APIs - Use OAuth to keep your API safe.

Using REST APIs makes your app more flexible by letting it use other services.

Debugging & Error Handling

Making sure your app works well includes checking for errors and fixing them.

Validating Data

  • Make sure data is correct and in the right format.
  • Use rules to check data.

Logging & Telemetry

  • Keep track of what your app is doing.
  • Use tools to watch how your app performs.

Handling Exceptions

  • Plan for when things go wrong.
  • Show helpful messages to users.
  • Keep a log for developers.

Testing Apps

  • Test important parts of your app.
  • Fix problems as soon as you find them.
  • Use tests to check everything works before updates.

By checking and testing your app, you can make sure it’s reliable and user-friendly.

Deploying & Managing Your App

Preparing for Deployment

Before you get your Mendix app out there, here are some steps to make sure it's ready and set up right:

  • Clean Up Resources: Get rid of anything in your app you're not using, like extra widgets or pages, to make it lighter.
  • Configure Constants & Settings: Adjust settings for different places where your app will run. This helps you change things easily for each version.
  • Parameterize Connections: Make sure your app's connections to databases and other services can be easily changed for different environments.
  • Manage Dependencies: Check and set up any extra bits from the Mendix App Store or Java actions your app needs to work smoothly.
  • Enable Logging & Monitoring: Turn on logging to keep an eye on your app, track how it's doing, and quickly spot any problems.
  • Set Up User Management: Make sure the user roles and permissions are right for who's using your app in each place it's deployed.
  • Test & Optimize Performance: Do tests to find any bugs, and look at your app's performance to make it as fast and reliable as possible.

These steps help make sure your app works well, no matter where it's running.

Mendix Cloud Hosting Options

Mendix has different options for where your app can live online, making it easy to handle:

Sandbox Tier

  • Good for testing or small projects
  • Free for apps with up to 10 users
  • Adjusts resources based on need

Flexible Production Tier

  • For bigger projects ready to go live
  • Grows with your app's traffic
  • Settings for auto-growing and staying available all the time

Dedicated Production Tier

  • For very big, important apps
  • Your own set of resources
  • Gives you the most control

Mendix takes care of the technical stuff like keeping the app running and safe, while you focus on making your app great. And you only pay for what you use.

Application Monitoring

After your app is live, you can keep tabs on it to make sure it's doing well:

View Metrics & Logs

  • Dashboards show you how your app's doing in real-time
  • Logs collect info on errors and user activities
  • Get alerts if something's not right

Configure Custom Checks

  • Set up checks to pretend to be users and make sure everything works
  • Track special metrics important to your app
  • Keep an eye on scheduled tasks and background work

Integrate External Monitoring

  • Send logs and data to other tools you use for security and monitoring
  • Create your own alerts
  • Use APIs to connect with other monitoring tools

Staying on top of how your app's doing helps keep it running smoothly and your users happy.

Beyond the Basics

Advanced Capabilities Overview

Mendix has some cool tools for making your apps even better:

  • AI Builder - Lets you add smart features like recognizing objects in pictures, understanding text, and making predictions, all without needing to code.
  • Native Mobile Generators - Helps you quickly make apps for iPhones and Android phones that feel right at home on these devices.
  • Cloud Scalability Blueprints - Offers ready-made plans to help your app handle more users smoothly, including automatic adjustments for busy times.
  • Baked Apps - Create web and mobile apps that update themselves with new features automatically, skipping the need for manual app store updates.

These tools give you more ways to make your Mendix apps do cool things.

Expanding Your Knowledge

To get even better at using Mendix, here are some ways to learn more:

  • Mendix Academy - Offers courses on more advanced topics in app making with Mendix.
  • Developer Certification - A program where you can show you're really good at using Mendix.
  • Mendix Forum - A place to ask questions and share tips with other Mendix users.
  • Documentation - Detailed guides and info on how to use all parts of Mendix.
  • Blog - Keeps you up to date on new Mendix features and helpful advice for making great apps.

By keeping up with these resources, you can become a Mendix pro and create even more amazing applications.

Conclusion

Mendix is a tool that helps you build complex apps quickly and without needing to write a lot of code. It uses a simple, visual way of putting apps together, which means you can drag and drop parts instead of typing out code.

Here's what we've covered:

  • What low-code means - It's a way to make apps using tools that let you build visually, without much coding.
  • Why low-code is good - It's faster, involves more people, costs less, and is simpler.
  • What Mendix does - It lets you model visually, work as a team, create apps that work in many ways, and get them out there quickly.
  • Getting started - How to sign up, get to know the platform, and make your first app.
  • Building blocks of an app - Setting up your app's data, designing pages, adding logic with microflows, and figuring out how users move through your app.
  • Going deeper - Adding your own code, connecting to other services with REST, and finding and fixing bugs.
  • Putting your app out there - Getting it ready, choosing where it lives online, and keeping an eye on how it's doing.

Now, you know enough to start using low-code and Mendix to turn your ideas into real apps quickly. Mendix gives you all the tools you need to make complex apps, get your team involved, and keep improving your app as you go.

Keep learning about Mendix by trying out their courses and maybe even getting certified. Talk to others who use Mendix to pick up tips. Most importantly, start working on your app idea. With Mendix, you can make it real much faster than you might think.

Related posts

Read more

Built on Unicorn Platform