nuits.jp blog

C#, Xamarin, WPFを中心に書いています。Microsoft MVP for Visual Studio and Development Technologies。

Xamarin

Xamarin.Forms.GoogleMaps.Bindings 2.2.0リリースしました

Xamarin.Forms.GoogleMapsのバインディング対応ライブラリを更新しました。 更新内容はひとまず以下の通り。 UpdateRegionBehaviorの追加 UpdateCameraPositionBehaviorの追加 MoveToRegionBehaviorでanimatedを指定できるように変更 近いうちに、もう少し本…

良さげなDI Containerの比較記事を見つけた

英語のブログですが良さげな比較記事を見つけました。 www.palmmedia.de 私が知らなかっただけで、DI Containerのパフォーマンス評価としては著名なもののようですが。 github.com 個人的にDI Containerへ基本機能や安定性は大前提として、つぎのような条件…

XamarinでもAOPしたい! Fody&Mono.Cecil編

さて前回、Mono.Cecilを利用した静的なAOPについて解説しました。 今回はいよいよXamarin.iOSでも動作する、静的なAOPの実装について解説したいと思います。Mono.Cecilを使ってILを織り込むFodyのアドインを作成し、コンパイル時に自動的にILを織り込むとこ…

XamarinでもAOPしたい! Mono.Cecil編

さて前回、Cauldron.Interception.Fodyを利用すればXamarinでもAOPできるんだけど、仕様が好みじゃないので作るしかないな!というお話をしました。 IL弄ってアスペクトを織り込むアドインを作成するわけですが、ILを弄ると言うと黒魔術のように感じるかもし…

XamarinでもAOPしたい! Cauldron.Interception.Fody編

前回XamarinでAOPするにはIL弄るライブラリを自作するしかないと言ったな? あれは嘘だ。Cauldron.Interception.Fodyを使えばできる。 www.nuget.org なんてこった…まぁ皆さんには朗報ですしょう。私は赤面の限りですが。 という訳で、今回はCauldron.Interc…

XamarinでもAOPしたい! 希望編

この記事は [初心者さん・学生さん大歓迎!] Xamarin その1 Advent Calendar 2017 の6日目の記事です。 qiita.com 空いたままだったのが忍びなく埋めようと書いた記事なので、完成まで到達できていませんがその辺はご容赦ください。 予定では25日の本チャン…

Visual Studio 2017 version 15.5でXamarin関連のアップデートが神すぎる

今日、Visual Studio 2015の新しい更新(15.5)が来ましたね。 今回はXamarin関連でも非常に魅力的なアップデートが来ていますので簡単に紹介しておきたいと思います。

やっぱりXamarin.iOSではRealProxyは使えなかった話

動的コード生成が絡むだろうし無理だろうと思ってたんですが、なぜかRealProxyクラスはあってコンパイルはできるので試してみました。 はい、ダメでした。bugzillaにも上がってますね。動的生成コードが多くなるからiOSじゃ無理だよと。 27847 – Linked away…

技術書典3にXamarin本出展します!

来る11月22日(日)に秋葉原UDXにて技術書展3が開催されます。 techbookfest.org 今回も榎本さん率いるサークル「Xamaritans」では新刊「Extensive Xamarin」を用意してお待ちしております。 新刊の詳細情報はこちら。 https://atsushieno.github.io/xamarit…

Xamarin.Formsで「ビルド アクション 'EmbeddedResource' は、プロジェクトのターゲットの 1 つ以上でサポートされていません。」の解決方法

2017年7月現在、良く遭遇します。 最初に開いたソリューションで良くなるかも。 起きたら、ソリューションを閉じて開き直したら99%直ります。 ゴミみたいな記事でゴメン(´・ω・`) 追記: 手動でビルドアクションを一度コンパイルにして埋め込みリソースにし…

Prism 6.3の変更点 その2 画面遷移関連(for Xamarin.Forms)

Prism 6.3のXamarin.Forms向けで最も大きな変更があったのが画面遷移関連です。 機能追加もありますし、注意が必要な破壊的変更もあります。

Prism 6.3の変更点 その3 新規要素(for Xamarin.Forms)

本エントリーではPrism6.3で新たに追加された機能をいくつか紹介します。 EventToCommandBehavior IApplicationLifeCycleの追加 IApplicationStore IDeviceService

Prism 6.3の変更点 目次(for Xamarin.Forms)

Prism6.3のアップデートにおける変更点をまとめました。 以下をご覧ください。 www.nuits.jp www.nuits.jp www.nuits.jp 今回はこれだけ!

Prism 6.3の変更点 その1 Pris.Core

Prism 6.3がリリースされてからすでに2カ月。書こう書こうと思っていたのですが、後回しにしまくっていたのでここに変更点をまとめます。 for Xamarin.Formsの範囲が対象となります。 と、言っておきながら、本エントリーではWPFおよびUWPとも共通のPrism.Co…

Xamarin.Forms用の汎用Behaviorライブラリをリリースました

Xamarin.Forms用の汎用Behaviorライブラリをリリースました! www.nuget.org コード&詳細ドキュメント(まだ下記中ですが)はこちらにあります。 github.com たとえば、こんな感じでイベント発生時にEventのパスを指定してEventのプロパティを引数にCommand…

Xamarin.Forms Navigation Overview

久しぶりにJXUGでしゃべらせていただきました。 完全に物理バックボタンを忘れていたので、そのうちどこかで追記なり補足します。 jxug.connpass.com 発表に利用した資料はこちらに公開しています。 Xamarin.forms navigation overview from Atsushi Nakamur…

【メモ】PrismでMasterDetailPageと付き合うコツ

そのうち、きっちりまとめ直しますがひとまずメモを。 MasterDetailPageを利用する際に、Prismの画面遷移イベントとライフサイクルイベントをうまく活用するコツをメモっておきます。

【メモ】INavigationがPlatformによって実装が異なる話

あくまでメモでなのでご注意を 網羅的な説明になっていません 内容の正誤を十分検証していません つぎのようなコードを呼ぶとき page.Navigation.PushAsync(new NewPage()); NavigationプロパティはINavigationインターフェースの実装クラスで、その実態はNa…

【Xamarin.Forms】DisplayAlertを表示するBehavior

みなさんWPF用のMVVMインフラストラクチャであるLivetをご存知ですか? ふとしたきっかけで、Livetの機能を見ていて 「指定されたEventでダイアログを表示し、その後ViewModelをよびだす」 機能が、Xamarin.Formsでも使えると便利だなと思いました。 そこで…

Blue Monkey Architecture Overviewに対する訂正

先日公開した、つぎの記事について何点か指摘をいただきました。 【Xamarin】Blue Monkeyプロジェクト Architecture Overview コメント入り掲載 - nuits.jp blog 指摘の通り、前述の記事には明らかに誤った記載が何点かありました。読んでいただいた方には大…

「Xamarinのインストールが遅い」は本当かどうか試してみた

結論 「くそ早い」 以上! で、終わる訳にもいかないので詳細をもう少し解説したいと思います。

Prism 6.3.0がリリースされました

去年末からリリースの待たれていたPrism 6.3.0が先ほどリリースされました。 https://github.com/PrismLibrary/Prism/wiki/Release-Notes-6.3.0 今回のリリースはXamarinから見ると非常に多くの魅力的な機能追加が含まれています。 画面遷移時に、遷移前処理…

技術書典2 & 超技術書典でXamarin本出します

すでにご存じの方もいらっしゃると思いますが、つぎの技術同人誌イベントにてXamarin本を出典します! techbookfest.org techbookfest.org (Xamarin.Mac)初心者向けの記事からディープな記事まで、一部メンバーが入れ込み過ぎて、えのさんも呆れるほど書き…

【Xamarin】Blue Monkeyプロジェクト Architecture Overview コメント入り掲載

【追記】 本エントリーは大幅に見直す予定です。現在検討中の内容は以下に公開しています。 Blue Monkey Architecture Overviewに対する訂正 - nuits.jp blog 【追記終了】 先日Infragisticsさんのイベント「Infragistics Day 2017 Spring」にて、現在進行形…

XamarinがVisual Studio 2015と2017で共存可能になったぽい?

タイトルのまんまですが、そうっぽいかも? 少なくとも基本的な機能は共存できています。 細かい部分で問題があるかもしれませんが、とりあえず第一報まで。

PrismでViewModelがバインドされないときの調査方法

私も良くやるので、もっとも有効な調査方法をさらっと書いておきます。

【解決済】引数渡しなし&マルチスレッドで、呼び出し元とオブジェクトを共有するいい方法

2017.02.19 追記: 本件は、以下のアドバイスで解決することができます。 @nuits_jp ThreadLocal でダメなら AsyncLocal でどうじゃ? と思った— あえとす 2017-beta.2 (@aetos382) 2017年2月18日 AsyncLocalなんて追加されていたんですね。全く知りませんで…

Prismで、いつの間にかAutowireViewModelが不要になってた話

色々いじってて、おかしいおかしいと思ったらPrism for Xamarin.Forms 6.2.0のリリースノートの記述にこんな内容が ViewModelLocator.AuowireViewModel is now done automatically. This is now an opt-out feature https://github.com/PrismLibrary/Prism/w…

Xamarin.FormsのPage遷移の詳細に迫る

なんかちょっと久しぶりに書いている気がします。 みなさん、いかがお過ごしでしょうか。私は諸々忙しくて辛いです。 今回はXamarin.Formsの画面遷移、正確には画面遷移スタックについて掘り下げてみたいと思います。 ここまで理解しておく必要があるケース…

IoC コンテナ パフォーマンスバトル on Xamarin in 2017

少し前に、PC上でのIoCコンテナのパフォーマンス調査を行いました。 www.nuits.jp 今回はXamarin上で調査しましたので、その情報を共有したいと思います。 それでまずは結果から見てみましょう。 まずはUnityの性能を100%としたときの評価グラフです。 具体…