It’s a tale as old as the invention of working for someone else for pay: You agree to do a job with a basic job description outlined, and then boom! Life happens. A problem occurs, or an opportunity arises, and before you know it, you find yourself in a position where you’ve got to go the extra mile and deliver an outcome even if it means using tools you’re not familiar with.
The knowledge gap
Let’s look at a hypothetical situation: You’re tasked with developing a native mobile app for your organization. A single developer might be enough for a simple stand-alone app on one platform (Android or iOS). However, if developing an app for both platforms, you may need some extra help unless you happen to be good on both (or are utilizing a cross-platform mobile framework like React Native). Additionally, if the app talks to a web server, and has a website, you may need another developer for that side of things unless you are familiar with all aspects of Android, iOS, and web development. And we haven’t even gotten into the UI, design, and the look and feel.
Ideally, all these resources and tech requirements would be identified early in the planning phase, but in reality, they often pop up during the development, causing unnecessary delays and missed deadlines. On top of that, simply identifying the needed resources is no guarantee that you’ll actually get them, creating a scenario where knowledge gaps begin to appear.
A knowledge gap is the difference between the information someone knows vs. what their organization needs them to know. But an incomplete team is hardly the only way that these gaps appear. Sometimes knowledge gaps develop at a more granular level, with team members using multiple tools that don’t synch, for example, leading to possible outcomes such as missed goals, significant delays, or even a project developed using a familiar architecture instead of the actual best architecture for the use case. On top of that, knowledge gaps inherently mean you are reliant on others to reach your goals.
But what if there were a way to circumvent the knowledge gaps and still hit your target?
Multi-channel application solution
One answer to the issue of knowledge gaps is a multi-channel application solution – meaning being able to develop for multiple platforms simultaneously. The Mendix Platform offers such a solution. With a completely integrated visual development environment, developers on the platform can build full stack applications that can be used in many ways – whether it be front end oriented, back end services focused, or sometimes as part of a core system.
Depending on your channel strategy requirements, you can build responsive web apps, progressive web apps (PWA), or native mobile apps for both Android or iOS from a single, reusable model. To gain more flexibility and optimize the user experience, you can specify a user interface per device type (desktop, tablet, and mobile), and you can extend the app’s capabilities using Java Actions. Additionally, pluggable widgets allow you to create or use powerful tools to above and beyond standard Mendix components.
This increases productivity, reduces maintenance costs, and also reduces the need for differing skillsets to build web and mobile apps, eliminating the knowledge gap within the teams.
In layman’s terms, it’s not an emergency and you don’t have to start from scratch when your manager says: “I want this app to work on iOS, too”.
A knowledge gap can also develop when different team members use multiple tools that don’t always work together very well. All team members are meant to collaborate and determine how to implement different aspects of the software. For a developer, building an app consists not only of coding but also complex and time-consuming tasks such as debugging errors and managing servers. And let’s not forget all the other team members that use tools to ideate, design, manage the project, test etc.
An all-in-one app development platform that covers the entire software development life cycle is an answer to that. Miscommunication is minimized and there is more opportunity to fill in the knowledge gaps when all the team members work on a single platform that enables easier collaboration. This includes ideation to app development and all the steps in between, plus deployment and operations. Utilizing fewer tools means higher efficiency and less room for errors.
Developers Chris and Jeremiah, who developed an application with Mendix, stated in their interview with us:
“When coding an application you need to use multiple platforms and frameworks. This meant that introducing a change in one of the components requires making changes in several places – something that added time-consuming extra steps. This problem doesn’t exist when using Mendix.”
Collaborate, develop once, deploy, and reuse
With the all-in-one Mendix Platform you can easily collaborate with others to develop apps once and deploy them anywhere with the multi-channel application solution. Whether you end up wanting a web, PWA, or native mobile application, you can reuse a single model to easily ship your application to the platform or device your users want, without worrying about the knowledge gaps within your team.
Check out our webinar Low-Code in 30 Webinar: Building Beautiful Multi-channel Applications to take a more in-depth look at how Mendix platform allows you to build beautiful multi-channel apps.