Regarding improvements, there are still some limitations with Xamarin, particularly regarding access to core functionality in Android and iOS. When developers need to utilize certain core features of these platforms, they encounter difficulties accessing them directly within the Xamarin project. Instead, they must create and implement interfaces in platform-specific code to access.
In Xamarin.Forms, we have the option to preview our UI designs, but the functionality can be limited. So, this is not fully functional. Since I have some knowledge of iOS, where when you write code or design in the storyboard, your design is immediately visible in the preview. So, if this feature could be improved in Xamarin, it would be great for developers. They could see what they are designing right in the preview rather than having to run and check it on the simulator or the device. It would save developers a lot of time.
There are issues with Xamarin, such as when you run into errors doing something called linking. When you build your solution, you can use Linker, which can give you errors if you don't link properly. However, the major I see with Xamarin right now is that there is no visual editor. For example, Android Studio or Xcode have visual editors where you can drag and drop controls. If you are designing a mobile screen with an image, some text, and a button, you could just drag controls from the library into the screen and see how they look. But there is no feature in Xamarin, and you have to write code.
The monitoring of the remote devices is not good as it should be extended along. It would be useful if the log is more integrated with the central console. I am not sure it can be accessed but it would be better.
Xamarin is reaching its end of life and they're moving it to .NET MAUI, combining it with other platforms and creating a centralized framework. It's a big change that's affecting a lot of the good features and something they could have done in a more user-friendly way.
Xamarin Platform is missing the code renderer, like a model view controller where you can design your code and then pass it while in preview model. Having this would provide better performance.
This solution has improved in so many areas, like in .NET MAUI. They have reduced the structure and introduced so many new features. However, Xamarin Platform lacks in app size. When we are developing an app, it is higher compared to other frameworks. The developers are working on the issue, as many people have raised concerns about the app file size. They should introduce a fix on .NET 7.0.
We have noticed that there have been stability-based performance issues with this product, which need to be improved. We would also like the notification feature that was available with previous versions, to be included again.
Senior Mobile Developer / Senior Xamarin Developer at Imparta
Real User
2022-08-08T13:59:32Z
Aug 8, 2022
Xamarin Platform can improve by making the enterprise documentation better. There's a lot of basic documentation of how to do many of the functions of the solution, but there's not much enterprise-level documentation.
Software Engineer (Xamarin/MAUI Mobile, .NET APIs, Azure Cloud) at rseg
Real User
2022-08-08T09:26:00Z
Aug 8, 2022
The solution struggles a little bit with binding libraries. If you want to use something like Google Maps or a third-party component that's been built for Android or iOS but isn't part of the actual Android or iOS platform, you have to build these things called binding libraries. It's a tedious process and the tooling doesn't do a lot to help you with it. The really common libraries usually have bindings already built that you can use, but if you get stuck having to build binding libraries, it's a lot of work. I'm a Mac user and I'm not a huge fan of the Visual Studio for Mac because it's not as strong of a tool as the Visual Studio for Windows, and you don't have the same features on both. That's why I have to resort to a different IDE. I generally work in JetBrains Rider because it's a much better IDE for Mac. The IDE support on Mac lags, but they do have a new version of Visual Studio out, so I can't say I've given it a fair chance yet.
Xamarin Platform can improve if there was a virtual test environment so we did not have to have a Mac system for the iOS testing. At this time You must have a Mac to deploy or generate IBA profiles.
Data Management Technical Lead - Project Manager at a computer software company with 51-200 employees
MSP
2020-11-18T23:52:58Z
Nov 18, 2020
The software itself was pretty good. The problem that I faced was that the communication, the roles, and the responsibilities, weren't defined between Microsoft and Xamarin, that's really where the problem was in my opinion. Nobody was taking ownership of that. Let's say you have two platforms on-prem. If you're an iPad user, you want the look and feel of the iPad; if you are a Surface Pro user, you want the look and feel of the Surface Pro. What I feel is of the utmost importance in regards to Xamarin, is to make sure that when you do something, whatever the object is, you get the object that the iPad user expects. Conversely, if you're a Surface Pro user, you get the object that the Surface Pro user expects.
Founder and CEO at a tech services company with 1,001-5,000 employees
Real User
2018-09-25T09:23:00Z
Sep 25, 2018
We need to think about partnering with IBM because there is a need for a big data partner; someone who has machine learning and can help us connect the app to big data.
Software Development Lead at a tech services company with 51-200 employees
Real User
2018-05-28T09:18:00Z
May 28, 2018
It would be great to have some quirks of Xamarin.Forms solved. However, the number of community developed libraries and components are growing rapidly, so this should be another advantage soon. Nowadays, it is common to find a problem that you would need to develop from the start since there are no third-party components to reuse.
They need to improve performance, especially for the Android platform. Also, some controls are missing in the Xamarin framework when compared to native controls; for example, the checkbox control.
The most common issues involved are with the IDE and build process. The worst build issue concerns are the caching process MSBuild uses to reduce the build time. It is unnecessarily complex (internally) and will sometimes leave cached files which should have been removed, even when a full solution clean is performed. The work around involves closing the solution and deleting some project folders. Occasionally, IntelliSense loses sync with the code and provides visual error indicators when no error exists. Xamarin.Forms does have some short comings, especially surrounding performance. Launch time on Android is a particular issue because Xamarin.Forms loads all the external assemblies during initialization. Support for lazy loading or merging of assembles would significantly reduce this, but Microsoft is still committed to a solution. Support of platform specific behavior could also still be improved. However, I believe strongly that Xamarin.Forms is the future of cross-platform native mobile development.
Manager Mobile Software Development at SEAMGEN, LLC
Real User
2018-05-28T09:18:00Z
May 28, 2018
Xamarin's profiling tools are only available for the highest tier of MSDN subscription and compatibility with platform-native profiling tools is rather lacking. This causes friction when working on performance-related issues.
C#/Xamarin/Mobile Technical Lead at a tech vendor with 1-10 employees
Real User
2018-05-23T10:30:00Z
May 23, 2018
I would like to see hot reload, similar to what Flutter has out-of-the-box. There is "Live Reload" but it’s still in preview and was only recently announced.
I would say that every technology has room for improvement, Xamarin Platform is no exception. All Xamarin library issues which need to be taken care of should be top priority. Sometimes it becomes clumsy when there are a lot of things going on in your project or solution and you need to take care of business logic in parallel. On top of everything, providing only wrapper classes does not make a developer’s life easy. So yes, there are improvements going on and they will need to continue to improve in the future as well.
Xamarin is an open-source platform for developing modern and performant applications for iOS, Android, and Windows using.NET. Xamarin is an abstraction layer that manages how shared code is communicated to the platform's underlying code. Xamarin is for developers with the two following goals:
Cross-platform sharing of code, tests, and business logic.
Writing cross-platform apps in C# with Visual Studio.
Xamarin allows developers to share an average of 90% of their program across platforms....
Regarding improvements, there are still some limitations with Xamarin, particularly regarding access to core functionality in Android and iOS. When developers need to utilize certain core features of these platforms, they encounter difficulties accessing them directly within the Xamarin project. Instead, they must create and implement interfaces in platform-specific code to access.
In Xamarin.Forms, we have the option to preview our UI designs, but the functionality can be limited. So, this is not fully functional. Since I have some knowledge of iOS, where when you write code or design in the storyboard, your design is immediately visible in the preview. So, if this feature could be improved in Xamarin, it would be great for developers. They could see what they are designing right in the preview rather than having to run and check it on the simulator or the device. It would save developers a lot of time.
There are issues with Xamarin, such as when you run into errors doing something called linking. When you build your solution, you can use Linker, which can give you errors if you don't link properly. However, the major I see with Xamarin right now is that there is no visual editor. For example, Android Studio or Xcode have visual editors where you can drag and drop controls. If you are designing a mobile screen with an image, some text, and a button, you could just drag controls from the library into the screen and see how they look. But there is no feature in Xamarin, and you have to write code.
The monitoring of the remote devices is not good as it should be extended along. It would be useful if the log is more integrated with the central console. I am not sure it can be accessed but it would be better.
Xamarin is reaching its end of life and they're moving it to .NET MAUI, combining it with other platforms and creating a centralized framework. It's a big change that's affecting a lot of the good features and something they could have done in a more user-friendly way.
Xamarin Platform is missing the code renderer, like a model view controller where you can design your code and then pass it while in preview model. Having this would provide better performance.
The Xamarin.Forms could improve.
This solution has improved in so many areas, like in .NET MAUI. They have reduced the structure and introduced so many new features. However, Xamarin Platform lacks in app size. When we are developing an app, it is higher compared to other frameworks. The developers are working on the issue, as many people have raised concerns about the app file size. They should introduce a fix on .NET 7.0.
We have noticed that there have been stability-based performance issues with this product, which need to be improved. We would also like the notification feature that was available with previous versions, to be included again.
Xamarin Platform can improve by making the enterprise documentation better. There's a lot of basic documentation of how to do many of the functions of the solution, but there's not much enterprise-level documentation.
The solution struggles a little bit with binding libraries. If you want to use something like Google Maps or a third-party component that's been built for Android or iOS but isn't part of the actual Android or iOS platform, you have to build these things called binding libraries. It's a tedious process and the tooling doesn't do a lot to help you with it. The really common libraries usually have bindings already built that you can use, but if you get stuck having to build binding libraries, it's a lot of work. I'm a Mac user and I'm not a huge fan of the Visual Studio for Mac because it's not as strong of a tool as the Visual Studio for Windows, and you don't have the same features on both. That's why I have to resort to a different IDE. I generally work in JetBrains Rider because it's a much better IDE for Mac. The IDE support on Mac lags, but they do have a new version of Visual Studio out, so I can't say I've given it a fair chance yet.
Xamarin Platform can improve if there was a virtual test environment so we did not have to have a Mac system for the iOS testing. At this time You must have a Mac to deploy or generate IBA profiles.
The software itself was pretty good. The problem that I faced was that the communication, the roles, and the responsibilities, weren't defined between Microsoft and Xamarin, that's really where the problem was in my opinion. Nobody was taking ownership of that. Let's say you have two platforms on-prem. If you're an iPad user, you want the look and feel of the iPad; if you are a Surface Pro user, you want the look and feel of the Surface Pro. What I feel is of the utmost importance in regards to Xamarin, is to make sure that when you do something, whatever the object is, you get the object that the iPad user expects. Conversely, if you're a Surface Pro user, you get the object that the Surface Pro user expects.
We need to think about partnering with IBM because there is a need for a big data partner; someone who has machine learning and can help us connect the app to big data.
There is limited support for UX widgets. Also, there are compatibility issues between versions of various Xamarin components.
* The android application compilation time needs to be reduced. * The deployment package sizes need to be looked into.
It would be great to have some quirks of Xamarin.Forms solved. However, the number of community developed libraries and components are growing rapidly, so this should be another advantage soon. Nowadays, it is common to find a problem that you would need to develop from the start since there are no third-party components to reuse.
They need to improve performance, especially for the Android platform. Also, some controls are missing in the Xamarin framework when compared to native controls; for example, the checkbox control.
The most common issues involved are with the IDE and build process. The worst build issue concerns are the caching process MSBuild uses to reduce the build time. It is unnecessarily complex (internally) and will sometimes leave cached files which should have been removed, even when a full solution clean is performed. The work around involves closing the solution and deleting some project folders. Occasionally, IntelliSense loses sync with the code and provides visual error indicators when no error exists. Xamarin.Forms does have some short comings, especially surrounding performance. Launch time on Android is a particular issue because Xamarin.Forms loads all the external assemblies during initialization. Support for lazy loading or merging of assembles would significantly reduce this, but Microsoft is still committed to a solution. Support of platform specific behavior could also still be improved. However, I believe strongly that Xamarin.Forms is the future of cross-platform native mobile development.
Xamarin's profiling tools are only available for the highest tier of MSDN subscription and compatibility with platform-native profiling tools is rather lacking. This causes friction when working on performance-related issues.
* It needs offline sync capabilities to store data on devices persistently. * Security features and data analytics need to be improved.
They need to take a step towards independence from the UI platform. It takes a lot of time to adapt the native controls.
I feel that the Android AppCompat library creates a lot of issues. A lot of development time is often wasted solving these issues.
The performance needs improvement, especially the dev tools, and also the ultimate output of the mobile applications.
Needs to improve the customization of its screens.
I would like to see hot reload, similar to what Flutter has out-of-the-box. There is "Live Reload" but it’s still in preview and was only recently announced.
For those who use only XAML to design the UI, it would be better if there was a better XAML previewer or designer.
I would say that every technology has room for improvement, Xamarin Platform is no exception. All Xamarin library issues which need to be taken care of should be top priority. Sometimes it becomes clumsy when there are a lot of things going on in your project or solution and you need to take care of business logic in parallel. On top of everything, providing only wrapper classes does not make a developer’s life easy. So yes, there are improvements going on and they will need to continue to improve in the future as well.