Xamarin.Forms 101: Tools for Xamarin Mobile Development
Are you looking for tools that will help you build Xamarin projects?
Do you want to make your development easier as much as possible?
In this post, you’ll see some common development tools when creating Xamarin apps.
Design and Development
Balsamiq is a rapid wireframing tool that helps you Work Faster & Smarter. It reproduces the experience of sketching on a whiteboard but using a computer
Sketch (Mac only)
Sketch is useful for designing your multiple iOS screens and apply the specific iOS design guideline to your application.
Adobe XD CC
Adobe XD is a user experience design software developed and published by Adobe Systems. It supports vector design and wireframing and creating simple interactive click-through prototypes.
Xamarin Inspector brings an interactive C# console with tools to users. The Inspector integrates with the app debugging workflow of your IDE, serving as a debugging or diagnostics aid when inspecting your running app.
Resharper (Windows Only)
Resharper is a must-have Visual Studio Extension for .NET developers. It eliminates errors and code smells, its IntelliSense is better than Visual Studio IntelliSense, used for code editing helpers, instant code reviewer, and more.
MFractor (Mac Only)
A must-have mobile-first productivity tool for Visual Studio Mac that uses XAML to C# code generation, code issue fixing and image importing wizard.
One of the best ways to architect an application is by separating the user interface from the underlying code, which is sometimes called the business logic. Several techniques exist, but the one that is tailored for XAML-based environments is known as Model-View-ViewModel or MVVM.
Here are some MVVM frameworks that you can use in your Xamarin Forms
- Prism : https://github.com/PrismLibrary/Prism
- MvvmCross : https://github.com/MvvmCross/MvvmCross
- Mvvm Light : http://www.mvvmlight.net/
- Exrin : https://github.com/exrin/Exrin
- Fresh MVVM : https://github.com/rid00z/FreshMvvm
Dependency Injection Containers
A DI Container is a framework to create dependencies and inject them automatically when required. It automatically creates objects based on request and inject them when required. DI Container helps us to manage dependencies with in the application in a simple and easy way.
Here are some DI containers that you can use in your Xamarin Forms
- Unity : https://github.com/unitycontainer/unity
- Ninject : http://www.ninject.org/
- Autofac : https://autofac.org/
- DryIOC : https://bitbucket.org/dadhi/dryioc
the ability to mirror the display screen of devices such as iPad, iPhone, Android Phone or tablet, Chromebook, PC, or Mac to computers wire-free
QuickTime Player for iPhones
Vysor for Android phones
Version Control Tools
Version control tools are a great way to enable collaboration, maintain versions, and track changes across the team.
Here are some version control tools that you can use.
- Team Foundation Version Control : https://www.visualstudio.com/team-services/tfvc/
- Git : https://git-scm.com/
- Mercurial : https://www.mercurial-scm.org/
Online Source Code Repositories
Web-based hosting services for source code and development projects are very useful if you are working remotely in an open source project of enterprise applications.
- VSTS : https://www.visualstudio.com/team-services/
- GitHub : https://github.com/
- Bitbucket : https://bitbucket.org/product
Unit Testing Tools
Unit testing helps developers to test their code written whether it meets design & requirements and behaves as expected before delivering to QA testing. This will help to identify problems at early stages of the development even though it can’t be replaced with integration testing & performance testing.
Here are 3 known Unit Test frameworks that are used in .NET
- MS Test : https://docs.microsoft.com/en-us/dotnet/core/testing/unit-testing-with-mstest
- NUnit : http://nunit.org/
- xUnit : https://xunit.github.io/
Used to continuously build, test, release, and monitor apps for every platform.
So there you have it. Start designing and building your first mobile app. Happy coding.