About Xamarin.Mac

Easily create apps in C# for Mac.

Xamarin.Mac provides all the tools to build native cross-platform apps in one package. Xamarin.Mac lets you create, build, debug and deploy apps in Visual Studio, or use Xamarin Studio, a fully-featured IDE that is built for mobile app development. Xamarin delivers high performance compiled code with full access to all the native APIs so you can create native apps with device-specific experiences.

Bring your apps to 66 million Macs with Xamarin.Mac

  • Bring your mobile and Windows apps to Mac.
    Whether you’re creating a companion desktop application for a mobile app, or bringing a Windows application to the Mac, Xamarin.Mac is the fastest path to your destination.
  • Use AppKit with Interface Builder.
    Use XCode's Interface Builder to design your Mac app visually, then program your AppKit UI with shared C# using Xamarin.Mac. Your apps look and behave like all great OS X apps should, while sharing C# with iOS, Android and even Windows.


The Xamarin Platform of products allow you to build apps in C# for iOS, Android, Windows Phone, Mac OSX, Windows, Google Glass and more.

Xamarin apps look and feel native because they are native.

  • Native User Interfaces
    Xamarin apps are built with standard, native user interface controls. Apps not only look the way the end user expects, they behave that way too.
  • Native API Access
    Xamarin apps have access to the full spectrum of functionality exposed by the underlying platform and device, including platform-specific capabilities like iBeacons and Android Fragments.
  • Native Performance
    Xamarin apps leverage platform-specific hardware acceleration, and are compiled for native performance. This can’t be achieved with solutions that interpret code at runtime.


Share code everywhere.
Use the same language, APIs and data structures to share an average of 75% of app code across all platforms. Build user interfaces with Xamarin.Forms and share nearly 100%.

  • Shared Projects
    Add any file to a Shared Project and it’s automatically included on all platforms. Share code, images, and any other media across iOS, Android, and Windows Phone.
  • Portable Class Libraries
    Use popular Portable Class Libraries (PCLs) like SQLite, Json.NET, or ReactiveUI on every platform. Build your own app logic as a PCL and use it everywhere.
  • Xamarin.Forms
    Xamarin.Forms allows you to build native user interfaces for iOS, Android and Windows Phone using 100% shared C#. Xamarin.Forms includes more than 40 controls and layouts, which are mapped to native controls at runtime.

Xamarin.Forms
Use the Xamarin.Forms API to quickly build shared screens for iOS, Android and Windows Phone. If you know C#, you already know how to build iOS, Android, and Windows Phone apps. Xamarin designed an API that works exactly how C# developers expect. Xamarin.Forms pages represent single screens within an app. Pages contain layouts, buttons, labels, lists, and other common controls. Connect these controls to shared backend code and you get fully native iOS, Android, and Windows Phone apps built entirely with shared C#.

At runtime, each page and its controls are mapped to platform-specific native user interface elements; for example, a Xamarin.Forms Entry becomes a UITextView on iOS, a EditText on Android, and a TextBox on Windows Phone.

Mix-and-match with platform-specific code.

  • Decide page-by-page.
    Xamarin.Forms is great for forms-based screens, and you can mix Xamarin.Forms with the full power of Xamarin.iOS and Xamarin.Android in the same app. For example, use Xamarin.Forms for your login and settings screens, and Xamarin.iOS and Xamarin.Android for the rest of your app.
  • Embed custom views anywhere.
    Not only are Xamarin.Forms pages mixable with custom screens, but you can embed custom views built directly against Xamarin.iOS and Xamarin.Android into Xamarin.Forms pages.
  • Call platform APIs via shared services.
    Need platform-specific functionality within a Xamarin.Forms page, such as querying the accelerometer? We’ve included services that quickly and easily abstract platform-specific API calls to keep you writing as much shared code as possible.


Extend Xamarin.Forms with custom controls.

  • Define your own controls, layouts, pages and cells.
  • Expose your own platform-specific controls in Xamarin.Forms pages.
  • Subclass included controls and customize their behavior.


Build pages entirely with XAML.

  • Define views, layouts and bindings in a succinct markup language.
  • Note: Xamarin.Forms is not compatible with pre-existing XAML visual designers.


Architect with MVVM and data bindings.

  • MVVM architecture for clean separation of UI and app logic.
  • Two-way data bindings automatically sync data between controls and models.
  • Mobile-optimized dependency injection with <10ms startup time.
  • Messaging center for loosely-coupled messaging between app components.


Weave captivating animations.

  • Basic animations (e.g. rotate, fade, scale) which can be composed to build complex effects.
  • Low-level animation API for building custom, replayable animations.
  • All operations delegate to platform-specific animation APIs (e.g. CoreAnimation on iOS) for optimal performance.
  • Animations are awaitable using async/await for developer-friendly sequencing.


What’s included with Xamarin.Forms

Pages

  • ContentPage
  • MasterDetailPage
  • NavigationPage
  • TabbedPage
  • CarouselPage


Layouts

  • StackLayout
  • AbsoluteLayout
  • RelativeLayout
  • GridLayout
  • ContentView
  • ScrollView
  • Frame


Controls

  • ActivityIndicator
  • BoxView
  • Button
  • DatePicker
  • Editor
  • Entry
  • Image
  • Label
  • ListView
  • Map
  • OpenGLView
  • Picker
  • ProgressBar
  • SearchBar
  • Slider
  • Stepper
  • TableView
  • TimePicker
  • WebView
  • EntryCell
  • ImageCell
  • SwitchCell
  • TextCell
  • ViewCell