I think it's well suited if you have data available and you want to create customized solutions for different types of users. Mendix is very good at doing that. It allows you to do it very easily. So those are good use cases.
Xamarin is well suited for several reasons. The first, it allows companies to share code across platforms. If the app has a lot of business logic and a fairly simple UI, Xamarin is great for this use case. Xamarin also works well if the developers who will work on the app are already fluent in .NET. Xamarin is less appropriate if the company has a lot of developers. If there are plenty of resources to develop apps natively then the headache of dealing with Xamarin's issues are not worth the effort. If the UI is very complex and has difficult animations it's difficult to debug visual/performance issues in Xamarin.
Having also done a lot of native mobile development, some of the IDE's features need to emulator their native counterparts. For example, trying to extract a string resource on Android in Xamarin Studio is painful. There are many useful tools in Android Studio that Xamarin should implement.
Xamarin will always be behind on native platform features. They must catch up when Apple and Google release new platform versions.
The biggest pain point is the random issues Xamarin continues to have. Having a large code base on top of a native platform makes it very difficult to debug issues. Every developer must decide if its an issue with Xamarin or the native platform. Bugs don't get fixed very quickly. Hopefully that will change with the Microsoft acquisition.
Xamarin has been great for developing different projects efficiently and effectively. It's nice to reuse the core business logic across different platforms so that there are less to maintain and little replications are needed. The biggest benefit is that C# programmers do not have to learn a different language to do mobile development.
Drawing from my hands-on experience with Mendix, I can confidently state that the platform aptly fulfills our needs for web application development. Mendix stands out by providing a marketplace replete with pre-built templates and widgets. This feature empowers users to leverage readily available components, hastening the development process and contributing to an enhanced overall usability of the platform.
If you are required to develop applications that are cross-platformed, Xamarin is a great tool to use. It will help save time and efforts from your development team to be able to build applications seamlessly for android, IOS, windows, and web on a single platform instead of requiring multiple tools to get the job done
I think their support system is really professional. They answer question quickly and accurately. They have a ticket system that allows to track the current status of a request. The only point for imporvement is a way for me to postpone an answer. Tickets get closed automatically after some time. I feel that the user should have the option to change to an on hold status, allowing for more time to respond to a ticket.
I never had to contact support for any help. Most of the problems we ran into, we were able to identify and use peer support through blogs and other internet sources to resolve the problems. There are plenty of sources online which provide tutorials, discuss problems, etc. Example: StackOverflow
Just with any programming tasks, have a plan first. Design out the system, spend time to build it correctly the first time and have plenty of testing and user acceptance opportunities. Xamarin was easy to implement for a C# programmer. However, you need to do tutorials to realize the platform's capabilities.
Because most of our apps work closely with our main system (ERP) and other tools, we went with Mendix. It's good at easily connecting with lots of different systems, which is exactly what we need. Another thing we like about it is that it can handle growth well, and its pricing is straightforward and easy to understand.
Xamarin runs natively on MacOS, and the debugger and other integration and auto-complete tools are far better than Eclipse for C# .NET. It also carries much of the plugin/add-on capabilities that are so desirable on Atom. Eclipse is a better for generalized software development, provided a developer is comfortable switching between the IDE the command line for certain parts of their workflow, like building, package management, or debugging. But for C# .NET development on MacOS specifically, Xamarin is the best product I've used for the job.
Without Mendix we could not have been where we are now. A development platform as Mendix can make the difference in a constantly changing environment.
Upgrading to newer versions of Mendix is a breeze when you stay within a main version (e.g. M6.x to Mx6.x+1) and even between versions (Mx5 to Mx6) most of the time it is no problem at all and there are only minor changes needed to upgrade.
Learning Mendix is simple. Just start playing with it and see for yourself how easy it is and feel the joy of developing applications.
Code Sharing - We were able to launch an Android implementation of our app within weeks after finishing iOS. The amount of time taken to develop a new platform is very small.
Monetization - not the best, but definitely getting better. We've had issues with finding suitable ad networks that work with Xamarin.