Xamarin(ザマリン)とは、2011年5月、Mono、MonoTouch、Mono for Androidの開発者により設立された企業である。これら3つのソフトウェアは、共通言語基盤 (Common Language Infrastructure; CLI) 並びに共通言語仕様 (Common Language Specifications; CLS) のクロスプラットフォームな実装である(CLIとCLSを合わせたものはMicrosoft .NETと同等の環境である)。すなわち、それぞれLinuxなどのUnix系オペレーティングシステム (OS) やMicrosoft Windows、iPhoneなどのiOS、Android上で動作する.NET環境である。
また、これらのライブラリおよびフレームワークのことをXamarinと呼ぶこともあるXamarin App Development with Visual Studio | Visual Studio。
Xamarinのサポートは2024年5月1日で終了。(後継は、)
コンポーネント Xamarinには各プラットフォーム固有のAPIやGUIツールキットを.NET向けにラッピングしたコンポーネントと、完全にクロスプラットフォーム化されたコンポーネントの両方が存在する。 Xamarin.Forms - XAMLベースのクロスプラットフォームなGUIアプリケーションフレームワーク。 Xamarin.iOS - iOS用。旧称MonoTouch。 Xamarin.Android - Android用。 Xamarin.Mac - macOS用。Visual Studio for Macにて利用可能。
名前の由来 Xamarinの設立者のひとりであるミゲル・デ・イカザは、会社設立時のインタビューにおいて、Xamarinの名前はタマリンという猿に由来すると述べているInterview with Miguel de Icaza: Xamarin, Attachmate Layoffs, Future of Mono, More (ADTMAG)特集:Visual StudioとXamarinで始めるiOS/Android/UWPアプリ開発:第1回:Xamarinでアプリを作ろう (@IT)Xamarin Monkeyの歴史を振り返る - ものがたり。
歴史 2000年6月、マイクロソフトは.NET Frameworkをはじめて公表した。Ximianのミゲル・デ・イカザはこのLinux版が実現可能か調査を開始した 。その後、2001年6月19日、Monoというオープンソースプロジェクトが立ち上げられた。MonoをサポートしていたXimianは2003年8月4日、ノベルにより買収された。
2011年4月のによるノベルの買収ののち、Attachmateは数百名にも上るノベル従業員のレイオフを発表した。この中にはMonoの開発者が含まれていた。Attachmateが同開発者をレイオフした理由として、同社がMonoの将来性を疑問視しているとの声が挙がっている。
同年5月16日、ミゲルは彼のブログにて、Monoを新しい企業Xamarinで開発ならびにサポートすると発表した。Xamarinは携帯電話(モバイル)製品に関する新しいソフトウェア・スイートを公開する計画を立てていると彼は述べている。デ・イカザによると、少なくとも、オリジナルのMonoチームの一部分は新しい企業へと移籍した。
この発表ののち、プロジェクトの将来性について疑問が持たれた。MonoTouchとMono for Androidは現在Attachmateにより保持されている商用製品と直接競合する点、ならびに以前ノベルに雇用されている間に開発したテクノロジーを同一の著作物に対し利用していないことを証明するのが困難である点である。しかしながら、2011年7月、現在はAttachmateの買収が完了し子会社となったノベル、そしてXamarinとの間で、XamarinへMono、MonoTouch、Mono for Androidに関連する全ての知的財産権ならびに各プロジェクトの管理権を公式に引き渡すという内容を含む永続的ライセンス契約を締結したと両社が発表した。
2016年2月24日、Xamarinはマイクロソフトによる買収に合意したと発表した。
製品 Xamarinの統合開発環境としては、クロスプラットフォームかつオープンソースのMonoDevelop(バージョン4.0からはXamarin Studioに改称)が利用されていた。
2013年11月、Xamarin社はMicrosoft Visual Studio 2013と統合可能な、最新のXamarinプラットフォームを発表した。この製品を使用することで、.NET言語(主にC#, VB.NET)を用いて、Windows上のVisual StudioでiOS/Androidアプリケーションのクロスプラットフォーム開発が可能となった。以前のバージョンでは、iOSについてはユーザーインターフェイスの定義にXcodeが必要など、制限が大きかったが、このバージョンではVisual Studio 2013上でほぼ実装が完結する(Windows環境にはiOSエミュレーターが存在しないため、デバッグにはiPhone等の実機かMacが必要Visual StudioでiOS/Androidアプリが書けるXamarinを試してみた(iOS編) - Build Insider)。 この製品は、マイクロソフトカンファレンス2013でも大々的に取り上げられ、クロスプラットフォーム開発に関心のあるデベロッパーの関心を引くこととなった。
なお、Visual Studio for Macは、macOS版のXamarin Studioがベースとなっている。
クロスプラットフォームなUIフレームワークであるXamarin.Formsは、.NET Multi-platform App UI (.NET MAUI) として.NETに統合される予定である。当初は.NET 6の正式リリースと同時に一般公開される予定だった.NET MAUIがPreview 8をリリース、しかしGAは2022年Q2に延期が、2021年11月の.NET 6正式リリースには間に合わなかった。.NET MAUIでは、名前空間がXamarin.FormsからMicrosoft.Mauiなどに変更されているため、既存のXamarin.Formsコードを.NET MAUIに移行するには、アップグレードアシスタントなどを利用して修正する必要があるMigrate your app from Xamarin.Forms to .NET MAUI - .NET MAUI | Microsoft Docs。
脚注
外部リンク
Xamarin ドキュメント - Xamarin | Microsoft Docs Xamarin (ザマリン) - エクセルソフト Advanced IDE for iOS & Android - Xamarin Studio - マイクロソフト買収前の Xamarin Studio のページ。