LoginSignup
12

More than 5 years have passed since last update.

MvvmCross だけじゃない!クロスプラットフォームMVVMフレームワーク「QuickCross」を試す

Last updated at Posted at 2014-02-11

以前、MvvmCross を紹介しました が、Xamarin で使える同種のフレームワークはまだいくつかあります。

今回は、その中の一つ、「QuickCross」を見てみます

なぜ他のMVVMフレームワークが必要なのか?

Why another cross-platform Mvvm framework? にて、MvvmCross があるのになぜ?という事を説明しています。

要約すると、MvvmCross は、高機能だが Fat で複雑で、拡張が大変であるのに対し、QuickCross は、軽量で生産性が高く、拡張が簡単である、との事です。

主な機能

Features より。

  • Xamarin.iOS, Xamarin.Android, Windows Phone, Windows Store Apps に対応。
  • バイナリは使ってない!Snippet と、プロジェクトにソースコードの追加を行うだけです。
  • ViewModel や View の追加は package manager console からコマンドを実行して行います。
  • いくつかのコードスニペットを提供します。
  • 以下略…

仕組み


via https://github.com/MacawNL/QuickCross#features

Navigator って概念があるのが MvvmCross と違うとこですかね。

使い方

Getting Started を見てください。

Nuget の Package manager console を使う必要があるので、Mac と Xamarin Studio 、そして Indie Edition では試せません、残念。
Visual Studio + Xamarin Business Edition以上を使ってる方、試してみてください。

サンプルを動かしてみた

Getting Started は試せませんでしたが、github に含まれるサンプルは Mac + Xamarin Studio でも動かせました。

QuickCross.ios.sln を Xamarin Studio で開いて実行したところ↓

MvvmCross と同じく、ViewModel などは Shared プロジェクトの方にあります。
Shared プロジェクトは PCL にできるんじゃないかなーと思いやってみましたが、

  • Profile147(.NET4.0) では System.Windows.Input.ICommand が無いと言われ
  • Profile78(.NET4.5) では、このバグ にエンカウント※

してビルドできませんでした、残念。
(※Alpha版では修正されてるようです)

まとめ

MvvmCross は確かに大規模すぎて使うのが大変です。拡張するには Plugin を自作する事になりますし。
QuickCross は、すべてのソースコードがプロジェクトにあるので、カスタマイズが手軽に行えそうだというのは分かりました。

Xamarin Starter Edition の場合、64kbyte までのバイナリ制限があるので、MvvmCross は使えませんが、QuickCross なら使えるかも知れません。

ただ残念なのは、Nuget の Package Manager Console を使う必要があるために、Visual Studio が必要で、その為には Xamarin も Business Edition 以上が必要になってしまう所です。

Xamarin Studio のみでも使えるくらい Lightweight だったら、もっと試してみたくなるフレームワークです。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12