nuits.jp blog

C#, Xamarin, WPFを中心に書いています。Microsoft MVP for Visual Studio and Development Technologies。なお掲載内容は個人の見解であり、所属する企業を代表するものではありません。

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

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

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

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

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

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

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

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

.NET StandardプロジェクトでInternalsVisibleToを設定する方法

.NETには、例えばinternalなクラスやメソッドのUnitTestをUnitTestプロジェクトから呼び出す仕組みとして、「InternalsVisibleTo」という属性があります。 従来の.NET Frameworkプロジェクトでは、プロジェクト作成時にPropertiesの下にAssemblyInfo.csが作…

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

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

.NET StandardプロジェクトをxUnitでテストする方法

.NET Standardのプロジェクトをテストするために、.NET Standardのテストプロジェクトを作成するとxUnitのテストが認識されずテストできません。 現状ではつぎのようにすることで対応できます。 Testプロジェクトを.NET Coreのコンソールアプリケーションと…

【Xamarin.Forms】汎用的なBehavior集ライブラリを作ってる

ふと思い立って、汎用的なBehaviorライブラリを作ってます。 とりあえず作っているのは Eventを指定してEventが発生したら何かする抽象Behavior Eventが発生したらCommandを実行するBehavior DisplayAlertを表示してCommandを実行するBehavior ActionSheetを…

【メモ】Xamarin.FormsでPopModalしてもStackからPageが解放されない問題と、限定的な回避策

あくまでメモです。 検証などが不十分なので、鵜呑みにはしないでください ここでの回避策は特定の利用方法における限定的な回避策です ModalStackが適切な状態になるわけではありません さて ModalStackからPageをPopすると、画面は前画面に戻るが、ModalSt…

Xamarin.FormsでAndroidやiOSで例外がさっぱりわかんねえよ!って時の一つの解決方法

なんだかVisual Studio 2017になって、例外が余計に分かりにくくなったような気がするのは気のせいでしょうか? 本当、どうでもいいことでミスしていて(MasterDetailPageのMaster側のPageにTitleを設定するのを忘れていた。。。とか)、でもそれに気が付け…

Xamarin.Forms Navigation Overview

久しぶりにJXUGでしゃべらせていただきました。 完全に物理バックボタンを忘れていたので、そのうちどこかで追記なり補足します。 jxug.connpass.com 発表に利用した資料はこちらに公開しています。 docs.com ただ、スライドだけで理解いただけるものを作る…

【メモ】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」にて、現在進行形…

Infragistics Day 2017 Spring でBlue Monkeyについて話してきました

発表資料はこちらになります。 Blue monkey architecture overview from Atsushi Nakamura www.slideshare.net 入れ込み過ぎて喋り過ぎたかも。。。 気合い入り過ぎました

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%としたときの評価グラフです。 具体…

Prism for Xamarin.Forms 6.3.0アップデートの注意事項

ちょっとTLで話題になっていたのでせっかくだから文章でまとめようかと思いエントリーにしてみました。 6.3.0の正式版リリース時にも注意が必要な事項 6.3.0-pre独自の注意事項(リリースまでにはおそらく改修されるだろう内容) についてまとめてみましたの…

VMwareのHDDのベンチマークを取ってみた

前々から気になっていたのでVMwareの仮想HDDについてパフォーマンスを測定してみました。 ただ、手軽にベンチマークを取得するため、CrystalDiskMarkを利用しました。 このソフトウェアは、手軽にベンチが取得できる反面、正確性はあまり高くないという話も…

2016年に最も読まれた記事 TOP10 世の中まだまだWindows 7

なんだか皆んなが書いていて自分も書きたくなってまとめて見ました。 「2016年に」も何も、去年始めたブログなので、このブログ全体のランキングみたいなものです。 では早速行って見ましょう。

IoC Battle in 2017

さて、今年もやってまいりました! DIコンテナの頂上決戦、IoC Battle in 2017!! さて、今回も最強の挑戦者たちが(ry 冗談です(´・ω・`) ちょっとUnity死亡説があった為、IoCコンテナの情報を整理していたらこんな記事を見つけました。 IoC Battle in …

PrismにPull Request送ってみた

先日、以下のようなエントリーを書きました。 www.nuits.jp で、Twitterでその関連で話をしていたら、Braian氏からレスが付きました。 @nuits_jp @aetos382 looks like I need to create templates for other containers :)— Brian Lagunas (@brianlagunas) …

ゲームじゃないUnityの開発が停止している疑惑について

ゲームじゃない方のUnity、DIコンテナで多分もっとも著名な実装の一つであるUnityの開発がどうやら停止しているくさい?という事を知ってちょっと衝撃を受けています。

Xamarin.Forms.GoogleMaps用のBinding拡張ライブラリをリリースしました

唐突ですがみなさん、Xamarin.Forms.GoogleMaps使っていますか? github.com 私は使っているというか、使おうとしてちょっと疑問があって質問して見たら、なんだかこんな流れでBinding拡張ライブラリの作成を請け負うことになりました。 今は Data Binding …

Microsoft MVP アワードを初受賞しました!

この度めでたく、Visual Studio and Development TechnologiesカテゴリーでMicrosoft MVP アワードを受賞致しました!やったぜ!! こういう書き方をすると、何だか定型文見たいですがそれでもやはり書かずにはいられませんでした。 今年一年、私の活動を見…

Xamarin.Androidでリソースファイルを読み込む

ちょっと走り書きのメモです。 Xamarin.Androidで自作のリソースファイルを埋め込んで利用する方法を紹介します。

Prism for Xamarin.Forms Navigationイベント詳細 NavigationPage編

どうも、いまだかつてXamarinでアプリを一本も完成させたことのない初心者です。 本エントリーは[学生さん・初心者さん大歓迎!]Xamarin Advent Calendar 2016の12日目のエントリーとして投稿しました。 前日はbetatさんのグッとくる Xamarin Studio のショ…

MSDN付属のXamarin Studioライセンスの有効化方法

なんだか、Xamarin StudioでライセンスがExpireされまくっているようで少し調べてみました。 なお、私は「そういうもんだ」と思っていて、Communityのまま使っていた(ライセンスはEnterprise持ってます)ので、有効だった人がこの方法で復活できるかどうか…

XamarinにおいてAndroid実行時にブレークポイントが効かなくなった時の対処方法

私自身はあまりなったことないのですが、Twitter見てたら困っていた人がいたので対処方法をまとめて見ました。 元ネタは自分の体験とフォーラムの情報です。 forums.xamarin.com

【Xamarin.Forms】ListViewで行選択時に処理を実行する、たった一つの冴えたやり方?

疑問形にすると(ry しかも別に一つじゃないんですけどごめんなさい。 少し前に、かずきさんも類似の記事をアップされていました。 blog.okazuki.jp やりたい事はほとんど同じです。 なにせ、BlueMonkeyプロジェクトで、どう実装するかSlackで話していてで…

Moq用の拡張ライブラリを作ってみた?

なんだか、疑問形のタイトルにするとクリック率+200%らしいのでそうしてみました。 15万記事の分析でわかった「記事タイトル」のクリック率を高める4つの法則1、長さは8ワードがベスト(+21%)2、サムネイル画像いれる(+27%)3、偶数よりも奇数がい…

Copy to Markdown AddIn

選択したExcelのセルをMarkdown形式でコピーするExcelアドインです。 日付の書式、金額、カンマフォーマットなども生かしたままコピーできます。 右寄せ・左寄はヘッダー行の設定に従います。 Markdown形式のブログでテーブルを記述する際などにご利用くださ…

Prism for Xamarin.Forms 6.3.0-pre1の紹介

本エントリーは[初心者さん・学生さん大歓迎!] Xamarin その2 Advent Calendar 2016 - Qiitaの15日目のエントリーです。 昨日はkamuさんの kamusoft.hatenablog.jp でした! 今回は、新しく公開されたPrism for Xamarin.Forms 6.3.0-pre1について紹介します…

私がXamarinを選びたい理由

よくよく考えたら、私1個もXamarinアプリを完成させたことないので、初心者だと思います。 てことで本エントリーは[初心者さん・学生さん大歓迎!] Xamarin その2 Advent Calendar 2016 - Qiitaの12月13日分になります。 明日はmuak_xさんです。よろしくお…

Xamarin.FormsでOnSleep・OnResumeをViewModelでハンドルする

またもteratailネタですが、せっかくサンプル作ったのでこっちにも残していきます。 ちなみに、Prism for Xamarin.Formsの6.3で同様(同じ?)機能が盛り込まれる予定です。 したがって、それ以降はそちらをご利用頂いた方が良いと思います。 また、クロスプ…

Prism for Xamarin.Formsの画面遷移 10のベストプラクティス

本エントリーは Xamarin Advent Calendar 2016 (その1)5日目のエントリーです。 さてこれまで何度かPrismを利用する場合の画面遷移について記述してきました。 Prism for Xamarin.Forms入門 ViewModel Firstで画面遷移する - nuits.jp blog 【Prism for Xa…

【Prism for Xamarin.Forms】Type Safe Navigation潔癖症パターン

ちょっと前に、Prism for Xamarin.FormsにおけるViewModel Firstによる画面遷移をご紹介しました。 www.nuits.jp ただこの例には二つの気になる点(悪い点というわけでもない)がありました。 ViewModelが別のViewModelにクラスの参照のみであるが発生してい…

【完全無料】Azure SQL Databaseを設定する

本エントリーは連載「Xamarin公式サンプルをAzure連携して使う」のAzure SQL Databaseの初期設定回です。 連載の目次は以下にありますので良かったらご覧ください。 Xamarin公式サンプルをAzure連携して使う はじめに&目次 SQL Databaseは単独で作成しよう…

【完全無料】Azure Mobile Appsを設定する

本エントリーは連載「Xamarin公式サンプルをAzure連携して使う」のAzure Mobile Appsの初期設定回です。 連載の目次は以下にありますので良かったらご覧ください。 Xamarin公式サンプルをAzure連携して使う はじめに&目次 今回は普通にAzure Mobile Appsを…

【完全無料】Xamarin公式サンプルをAzure連携して遊ぼう はじめに&目次

ちょっと前にちょまどさんが公式から提供された新しいサンプルアプリを紹介されていました。 Xamarin の雛形アプリを Xamarin 本家が配布を始めたみたい!ーKickstart Your Project with Our New Bootstrapped Mobile Apps https://t.co/iP2ESHkXkTー pic.tw…

Xamarin for VS 4.2.1.62とAzure SDK 2.9.6でMac Agentに繋がらない問題の対策方法

上述のバージョンの組み合わせで Couldn't retrieve SSH Fingerprint. Please ensure the Max is reachable and Remote Login is enabled と表示されてMac Agentに繋がらない不具合が発生しています。 というわけで、Xamarin for VS 4.2.1.64の緊急パッチが…