News

New Xamarin Tools in Visual Studio 2017 RC

Two new tools for cross-platform developers provide insight into app performance and allow for real-time XAML previews.

Developers who are familiar with the Xamarin integration that's going on with Visual Studio should be aware of two new features that are available: Xamarin Forms Previewer and Xamarin Profiler. These tools are part of Visual Studio 2015 and 2017 RC that was made available a few weeks ago as part of Microsoft's Connect(); event.

The Previewer is a component of Xamarin.Forms that allows for "a live preview of a page side-by-side with the XAML markup, allowing you to see your user interface come to life as you type," writes Nina Vyedin, a Xamarin program manager, in a blog post. Just clicking on any ContentPage, ContentView, or ViewCell file while in Xamarin Studio or Visual Studio for Mac will bring up a project in a split window showing code and the rendered page side by side in a dual pane editing window. Developers can toggle between design surfaces, from iOS to Android, and from a tablet to smartphone, as well as viewing rendered pages in landscape or portrait mode. Rendered pages are also zoom-able.

It's available for free to Visual Studio developers working under a Community license, and it's installed by default with VS 2017 RC and updated installs of VS 2015.

The other tool, Xamarin Profiler, is intended as a spit polish for apps, to identify any performance issues before developers put apps into production. "The Xamarin Profiler is currently the only way to profile managed (C#) code and find memory and performance issues in Xamarin applications," Vyedin writes, in a separate post. "It can also be paired with native profilers, like Xcode Instruments and Android Monitor, to ensure better app behavior and performance."

Xamarin Profiler carries out its work using three instruments:

  • Allocations: Lists each object, its memory usage, and what each object is used for. Each object's data can be filtered for specific objects or allocations, and app allocations can be snapshotted to record specific activity based on time.
  • Time Profiler: Within the Allocations instrument, a developer can click on an object to get a sampling of that object's activity.
  • Cycles: Shows a list of cycles under the Roots & Cycles tab, and is used for identifying native reference cycles for objects using a table and visual chart. "These types of cycles are important, because they prevent the objects involved from being picked up by the garbage collector," writes Vyedin.

Xamarin Profiler can be used for Windows and Mac apps. See Vyedin's post for more.

About the Author

Michael Domingo is a long-time software publishing veteran, having started up and managed several developer publications for the Clipper compiler, Microsoft Access, and Visual Basic. He's also managed IT pubs for 1105 Media, including Microsoft Certified Professional Magazine and Virtualization Review before landing his current gig as Visual Studio Magazine Editor in Chief. Besides his publishing life, he's a professional photographer, whose work can be found by Googling domingophoto.

comments powered by Disqus

Featured

  • Full Stack Hands-On Development with .NET

    In the fast-paced realm of modern software development, proficiency across a full stack of technologies is not just beneficial, it's essential. Microsoft has an entire stack of open source development components in its .NET platform (formerly known as .NET Core) that can be used to build an end-to-end set of applications.

  • .NET-Centric Uno Platform Debuts 'Single Project' for 9 Targets

    "We've reduced the complexity of project files and eliminated the need for explicit NuGet package references, separate project libraries, or 'shared' projects."

  • Creating Reactive Applications in .NET

    In modern applications, data is being retrieved in asynchronous, real-time streams, as traditional pull requests where the clients asks for data from the server are becoming a thing of the past.

  • AI for GitHub Collaboration? Maybe Not So Much

    No doubt GitHub Copilot has been a boon for developers, but AI might not be the best tool for collaboration, according to developers weighing in on a recent social media post from the GitHub team.

  • Visual Studio 2022 Getting VS Code 'Command Palette' Equivalent

    As any Visual Studio Code user knows, the editor's command palette is a powerful tool for getting things done quickly, without having to navigate through menus and dialogs. Now, we learn how an equivalent is coming for Microsoft's flagship Visual Studio IDE, invoked by the same familiar Ctrl+Shift+P keyboard shortcut.

Subscribe on YouTube