PowerApps is well suited for "quick-wins" and fast prototypes of business solutions. It also is beneficial for situations where business partners and developers work together - it allows the business folks to provide a "quick-and-dirty" prototype which is then fleshed-out by developers that are trained experts on the platform. The interactive and easy to understand representation of the solution allows business partners to "see" the solution and add, remove, or correct aspects of it themselves. It provides a common view and understanding of the actual solution across business units and tech teams. PowerApps, being a low-code\no-code platform is not well suited for business processes that require many complex computations or large amounts of custom code - such as solutions that are better architected as Web Site or "full-blown" desktop solutions. There are solutions that are just not easy or quick to accomplish in a low-code\no-code platform. Enterprise Architects should know the difference, however business partners often try to create a solution and only when stuck because it becomes too complex do they engage a tech team for assistance - at which point there are sunk-costs involved and hinderences to re-platforming the solution
If you are required to develop applications that are cross-platformed, Xamarin is a great tool to use. It will help save time and effort 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.
Power Apps has formats that are pre-built that don't require any coding which makes it easier to achieve your vision. This does become a challenge if your App needs don't fit into that format.
We deal with a ton of data so the fact that you can connect to any data source in addition to their pre-stablished data connections makes the process a breeze.
The online learning resources and tutorials are helpful as well for those who are tech savvy.
Xamarin allows you to write cross platform code. This allows companies to build apps more quickly by writing less code. Having code abstracted and reused across multiple platforms allows for more testing and less issues overall.
The ability to use Visual Studio is a huge plus. Visual Studio is one of the best IDE's available and being able to write cross platforms apps while in a great IDE makes everything less painful.
Xamarin is now free with a large company backing. This means that bugs on the platform get fixed more quickly and there is a large community of developers.
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.
PowerApps is a great solution and I have spent the last year familiarizing myself with the platform and building custom applications to complete a whole range of tasks such as asset management, custom invoice generation, and item restriction tracking. We as a company have barely begun to scratch the surface of what can be achieved with PowerApps.
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
The community forums are extremely responsive to questions asked, there is a good body of online documentation and many community posts to draw from. Although the platform has changed, which means some of the posts are out of date and the solutions provided aren't relevant. Of relevance, I read over 400 articles plus documentation to get this first app built in SharePoint, move it to SQL and make it work exactly the way it should.
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.
Much cheaper, much more customizable, and easier to use. There is not much of a learning curve and the licensing cost is much cheaper. PowerApps does one thing very well, whereas other platforms are mediocre. There is much more customization possible for your in-house workflows that you can build yourself vs using NetSuite engineers to build it for you.
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.
It has given us a focal point for development. We now have the possibility of connecting to mobile and the default SharePoint online interface isn't always easy to manipulate. PowerApps has given us an opportunity to improve our user experience.
An improved user experience has given us a better shot at compliance. When users don't fight the environment, they don't gravitate towards workarounds or non-compliance.
As lists and libraries change, the platform scales pretty well.
Having users with the capability to create their own forms and tools has dialed back the app dev need (there is a balance though) and distributed power to the process architects and people who actually need the solutions in the first place—much more efficient model of service delivery: self-service.