Showing posts with label Mendix. Show all posts
Showing posts with label Mendix. Show all posts

Thursday 7 December 2023

Mendix - Part 2 - Diving deeper (E2E automation testing of Mendix using Playwright)

Mendix Series

1.  Overview of Mendix 

2. Mendix - Part 2 - Diving deeper (This post)

AI with Mendix (current version Mendix 10.5.x):

  1. Logic bot - recommends what you are likely to do, like a copilot as you go along building the app
  2. Performance bot - shows redundancies, recommends performance improvements 
  3. Chatbot in beta

Playwright is a good UI testing tool for Mendix:

For more advanced applications, Playwright is a good testing framework that can help developers know their code is running end-to-end, useful for monitoring applications and behaviour, and also can be used as part of the CI process to validate Mendix end user accessibility as shown in this mp4 (7 minutes - good video).

Thoughts:

I needed to change from US format to UK date time format:
Community has the answer: Mendix Forum - Question Details

Sunday 29 October 2023

Mendix Overview

Overview:  Mendix is a low code app builder that is a leader in the market.  While I predominately use the Power Platform, I think Mendix can be a good option.  

The ALM has: Version Control: this is intuitive and follows a local checkout version and commit back to a main branch (simple version control) and allows to use branches so comprehensive and flexible.  It is a good idea to check in small and often or you run the risk of large complex competing merges.  I believe it is git but from the Mendix Studio IDE it is seamless.  

Build a local Version using the Mendix Studio Pro, and deploy to the cloud.  There are several options including on-prem. the free version is basic, and has limitations but has proven to be extremely powerful.

Mendix supports sprints, boards, so you can work with User Stories in the Developer Portal for ALM.

An App Package can be stored and it is a good idea to use this as the base for all projects in your company, so basic branding and naming conventions are consistent.

Deployment anywhere such as on-prem. via Kubernetes deployment, as well as the major cloud platforms i.e. AWS, Azure, GCP, Oracle.

Market Place - templates, connectors, components to reuse. 

Domain Modelling is excellent, can chose your database when creating app, modelling is easy and exposing via OpenAPI contract and generating CRUD screens is easy.

Publishing to cloud production versions is very easy and the local version as developing is seen on localhost.

Image 1, High level overview of the logical components making up Mendix.

Pros:

  1. Easy to use.
  2. Basics for Low code are all included such as version control, project management, deployment/publishing.
  3. Build native mobile apps.
  4. Improve business process easily.
  5. Supporting multiple languages is unbelievably simple and easy.

Image 2. Add multiple Languages to your app

Simple exercise: Call an key secured API and display on a Mendix page after watching this 7 minute video on API Calls.

The running example has:

  1. Various pages and forms for showing and persisting database information. 
  2. A REST Call to a 3rd party using OAuth key.  
  3. Publishing a REST API based on a table and an associated entity.
  4. Displays an Azure Chatbot

Me playing around with a Mendix App:

1. Get a REST endpoint and verify using postman (using a key for secure access)

Image3. Postman showing the REST call to be used

2. Create a new "microflow" as shown below:

3. Add a new "Action" of type "REST Call"
4. Add a JSON Structure file


5. Decide which attributes to pull out

6. Create an "Entity" in the Domain model to hold the retrieved data.
7. Map Model to the Import as shown below

...


Mendix Series

1.  Overview of Mendix (this post)

2. Mendix - Part 2 - Diving deeper

Monday 2 January 2023

Power Platform Competitors

Overview:  I like Power Platform, but there are other options out there.  Most products that are competitors cover a piece of what the Power Platform covers.

Mendix: A friend has used Mendix and they were not a fan.  I have played around and I like the product.  I certainly haven't found it's limitations but it feels straight forward and logical.  Easy to learn. 

Cons: 

  1. The publishing is very slow
  2. Free version you have to use Mendix subdomain.  Basic plan is $50/month, for my small demo, it a high price,


Outsystems:

Airtable:  Has lots of templates and easily connects to various data sources.  Easy to extend or build apps on the platform. Provides storage and low code apps.  It's like having Dataverse and Power Apps.  There are pre-built templates to get the team off to a start.

Nintex: Bought K2 and have a long history in workflows (workflows for SharePoint and O365), screen/form generation and form building.  If your company uses Nintex then worthwhile but I wouldn't use it for new projects or if the team does not have significant experience.

UiPath: RPA tool. A strong tool for automation, from a desktop automation and recording piece I feel UiPath is ahead of Power Automate Desktop (PAD).  Both UiPath and Power automate allow for attended and unattended runs.  PAD is part of Power Automation Premium or Power Automate Process licences. Automation Anywhere, and Blue Prism are other big players in the RPA space.

Postman Workflows: Bit of a dark horse but people love postman and i think this may become a interesting option for Rapid development.

Amazon:  AWS has various services that allow for Low Code solutions.  "Amazon Honeycode" is kind of like Model driven & Canvas apps, that can call Lambda's.  Lamda's are the same service as Azure Functions on AWS.  AWS Honeycode has predifined templates as staring points so I feel it is more like Salesforce's low code approach. This allows the developer to break out an write complex logic or persist the database in S3 storage.  "Amazon QuickSight" works like Power BI for reporting on solution data.

Salesforce Lightening: Allows for building custom apps and utilising Salesforce CRM and it's data. 

Retool: Good set of connectors to API's.


Appian: 

OutSystems: