iOSDC Japan 2019 Reject Conference days1[非公式] https://iosdc-reject-conference.connpass.com/event/137280/ Unio https://github.com/cats-oss/Unio
iOSDC Japan 2019 Reject Conference days1[非公式] https://iosdc-reject-conference.connpass.com/event/137280/ Unio https://github.com/cats-oss/Unio
先日行われた builderscon tokyo 2017 にて、「複雑なJavaScriptアプリケーションに立ち向かうためのアーキテクチャ」という発表をしてきました。この記事では、そのプレゼンテーションの再現を行います。 アバンパート 本日はこういう発表をします。よろしくおねがいします。 普段はメディロムという会社で働いていて、ScalaとJSを主軸に活動しています。PerlとRubyもたしなむ程度には書きます。業務では、業務で使うアプリケーションをブラウザプラットフォーム上に作っています。こういうブログも書いてるんでよかったら読んでください。 あと、何度かweb+DBプレスに特集書かせてもらっていて、とくに左の「データ構造の基礎知識」ってやつは自分で言うけどまじでいい記事なんでまだ読んでないひとはバックナンバー買って読んでください。 さて、複雑なアプリケーションに立ち向かうためのアー
世の中的にはWindows開発と言えばUWPとかなのかもしれませんが、まだまだレガシーなWindowsデスクトップアプリが滅びる様子はありませんよね。 そのレガシーな中でも最も近代的なプラットフォームと言えばやはりWPFで、WPFでアプリケーションを作るのならばやはりLivetは欠かせません。 Livet - ProjectHome しかし、LivetはVS2015対応としてリリースされたver.1.3を最後に更新されておりません。 作者自身もVS2015対応版がLivet 1.xの最終リリースとする旨の発言をしており、今後はLivet2を開発すると言っています。 ugaya40/Livet2 - GitHub しかし、現時点でLivet2のLastest commitは2015年8月。Livetの最大の武器ともいえるプロジェクトテンプレート付きのインストーラはおろか、正式リリースさえされ
前説 丸山です。Re.Ra.Ku. アドベントカレンダー13日目の記事です。前日はiOSアプリのUIをコードで書いてみる話でした。明日はおそらくScalaの話になると思います。 さて、以前も話題にしましたが、builderscon2016が先日開催されました。チケットは3hでSOLD OUT。プラチナチケットと化した参加権ですが、発表する側ならば実質無料で参加し放題!これはいっそ申し訳ないレベルでは!? というわけで、せっかく発表したのでその内容をなるべく多くの手段で共有したい。そう思い、今回も実況中継シリーズを弊社テックブログで行います。実況中継シリーズというのは、プレゼンをブログで再現するアレです。なお、実際のプレゼンは動画になってYoutubeにアップロードされております。builderscon公式サイトのセッション詳細ページからもご覧いただけますので、よろしければそちらも合わせてご
View のみで変更するパターンと、ViewModel からView に通知して閉じるパターンを書きます。後者だと ViewModel の処理結果で閉じないようなケースにも対応出来ますねー。 <Window x:Class="Sample.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:ei="http://schemas.microsoft.com/expression/2010/interactions" xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity" xmlns:loc
GUIとスレッド まず、WPF関係ない話ですが、一般にGUIはシングルスレッドモデルを前提にしてます。つまり、UIコントロールの生成、変更、削除は単一のスレッドからのみに限定されてます。これは主に性能のためです。ので、UIコントロールを触るためのスレッドをUIスレッドとか言ったりします。 WPFも当然ながらこの制約を受けます。じゃあWPFだとマルチスレッド無理なの?という話ではなく、あくまでUIに関する部分のみが単一スレッドなだけです。ので、重い処理とかは別スレッドでやって、処理が終わったらUIスレッドに戻ってUIを更新、みたいな感じになります。Webで言うところのWeb Workersみたいな感じです。余談ですが、GUIアプリとかで固まってUIの応答さえしなくなるものがあったりしますが、あれはUIスレッドで重い処理をしちゃってるからです。 さて、単一のUIスレッド的なものをグローバルに持
class Member : Livet.NotificationObject { Main m_parent; String m_name; public String Name { get { return m_name; } set { if (m_name == value) return; m_name = value; RaisePropertyChanged("Name"); } } DateTime m_birthday; public DateTime Birthday { get { return m_birthday; } set { if (m_birthday == value) return; m_birthday = value; RaisePropertyChanged("BirthDay"); } } String m_memo; public Strin
最新記事はこちらになります。 blog.okazuki.jp ReactivePropertyとは ReactivePropertyとは、ReactiveProperty<T>クラスを中心とした、MVVMパターンでのリアクティブプログラミングを強力にサポートするライブラリです。 導入方法 NuGetからインストールできます。 Install-Package ReactiveProperty 対象プラットフォーム 以下のプラットフォームで動作します。 .NET Framework 4 .NET Framework 4.5 Windows store app 8/8.1 Windows Phone Sliverlight 8/8.1 Windows Phone app 8.1 Xamarin.Android Xamarin.iOS ReactivePropertyの基本 ReactivePro
MVVMのめんどくさいと感じてるところ ModelとViewModelのクラスのマッピング MVVMでアプリ組んでるとModelとViewModelで似た構造のクラスを作って、値の移し替えを行うことがあります。AutoMapperとか使ってもいいのですが、ReactivePropertyを使うことでも楽をすることができます。 以下のようなModelクラスがあるとします。(BindableBaseクラスはPrismのINotifyPropertyChangedを実装したクラスです) public class Person : BindableBase { private string name; public string Name { get { return this.name; } set { this.SetProperty(ref this.name, value); } } pr
この記事は、「C# Advent Calendar 2014」の21日目の記事です。 WPFやWindows Phoneやストアアプリでは、Windows Formsのような「コードビハインド」による実装の他に、「データバインディング」を積極的に使う実装を行う事が出来ます。というよりも、データバインディングという手法を使わないと、複雑なUIを表現するのが困難です。この記事では、その辺りと非同期がどう関係するのかを書いてみたいと思います。 (なお、例はWPFですが、ストアアプリでもほぼ同様です) データバインディングって何? そもそもデータバインディングとは、どういう手法でしょうか? Windows Formsの時代、データバインディングと言うと「DataSet」クラスの内容を、「DataGridView」コントロールを使って表示させるという用途が一般的でした。 詳しい解説は「Windows
ProjectHome : http://ugaya40.hateblo.jp/entry/livet SourceCode : https://github.com/ugaya40/Livet Livetの概要と導入方法 Livet(リベット)はWPF4/4.5のためのMVVM(Model/View/ViewModel)パターン用インフラストラクチャです。.NET Framework 4 Client Profile以上で動作し、zlib/libpngライセンスで提供しています。zlib/libpngライセンスでは、ライブラリとしての利用に留めるのであれば再配布時にも著作権表示などの義務はありません。しかし、ソースコードを改変しての再配布にはその旨の明示が義務付けられます。 導入 – 拡張機能マネージャー/MSIによる簡単なインストール & Nugetによるライブラリの導入 Livetは
このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。 ステート マシン パターンによる WPF コマンド処理 Tarquin Vaughan-Scott Windows Presentation Foundation (WPF) には、UI とコマンド ロジックを分離できるようにする強力なコマンド処理フレームワークがあります。モデル - ビュー - ビューモデル (MVVM: Model-View-ViewModel) デザイン パターンを使用すると、コマンドは ICommand インターフェイスを実装するビューモデルでプロパティとして公開されます。ビューのコントロールがこれらのプロパティにバインドされます。ユーザーがそのコントロールを操作すると、コマンドが実行
GrapeCity さんの ActiveReports for .NET 7.0J を WPF で使うためネットで資料を探してみたら見つからなかったので、さくっとチュートリアルっぽいものを書いてみようと思います。 グレープシティ ActiveReports for .NET 7.0J スタンダード 1開発LP 出版社/メーカー: グレープシティ発売日: 2013/01/07メディア: CD-ROMこの商品を含むブログを見る 今回のチュートリアルでは、レポートのデータソースに DataTable でなく ObserbableCollection を使用するため、Livet で WPFアプリケーションを作成し、ViewModel のプロパティを帳票に出力する方向で行います。 ちなみに今回のエントリでは C# で開発し、次回の記事では VB 編を予定してます。本チュートリアルでの開発環境は以下の
ふつくしい国産MVVMライブラリ Livet 唐突ですが、降って湧いたLivet熱をアウトプットに活かすべく、頑張って記事を書いていきます。 まずは、Livetについて。 Livetを一言で言うと、最も洗練されたMVVMパターンライブラリです。 ・・・の前にMVVMパターンですが、もう車輪の再発明も甚だしいので。 WPF のための MODEL-VIEW-VIEWMODEL (MVVM) デザイン パターン 「MVVMパターンが必要な理由」啓蒙用資料公開 - the sea of fertility このあたりは前提として、です。 Livetが他のライブラリと比べて優れているな、と感じるのは次の点です。 Blend併用を前提としており、各種ビヘイビアが非常に充実している点。Blend上での使い勝手は隔絶して高い CodeSnippetが充実しており、とっつきやすい(売込みもしやすい) GAC
kazoo04 Advent Calendar 6日目です(6日目とは言っていない) みんな気合の入った記事を書いているので、頑張って書かないとなぁって書いていたらどんどん期限をオーバーしてしまって…ごめんなさい。 kazoo04氏の周りの人はみんなMacだったりLinuxだったりを使っていてあんまりWindowsプラットフォームに興味がないかもしれませんが、僕が書けそうな内容がこれしかなかったので、今回はWindowsのGUIプログラミング、WPFについてのおはなしです。 ちなみに: 今アツいかもしれないWindows Store AppはXAMLとC#を用いて書きますが、WPFじゃありません(重要)。ですが、概念は一緒です。(裏を返せば、概念以外は大きく違いますので気をつけてください……) これ、XAML Advent Calendarに書くべきだったかなぁ。 WPFは、むずかしい?
このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。 コードは MSDN コード ギャラリーからダウンロードできます。 オンラインでのコードの参照 目次 秩序と混乱 Model-View-ViewModel の進化 WPF 開発者に MVVM が好まれる理由 デモ アプリケーション 中継コマンド ロジック ViewModel クラス階層 ViewModelBase クラス CommandViewModel クラス MainWindowViewModel クラス ViewModel に View を適用する データ モデルとリポジトリ 新しい顧客のデータ入力フォーム All Customers ビュー まとめ 専門的なソフトウェア アプリケーションのユーザー イン
このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。 WPF 向けのモデル - ビュー - プレゼンター - ビューモデル設計パターン Bill Kratochvil コード サンプルのダウンロード これまで私が携わり、成功を収めたすべてプロジェクトのうち、もっとも成功を収めたプロジェクトには共通する成果があります。それは、アプリケーションの規模が大きくなるほど、コード ベースが小さくなる、というものです。一見矛盾しているように思えますが、アジャイル環境でコーディングを行うと、コード ベースが小さくなります。要件が変化するにつれて、リファクタリングが行われます。こうしたリファクタリングの際に開発後に明らかになった情報を組み合わせて、既存コンポーネントの再利用効率
WPFがWinFormsより敷居が高い? そりゃ、最初に掛け違ってるからですよ、きっと。 というわけで、これはXAML Advent Calendar 2014の3日目、12月3日分のエントリーです。WPF? XAML? MVVM? そんなにムズカシクないよ? というお話。 もちろんWinRTのWindowsストアアプリやWindows Phoneアプリ等、XAMLベースのプラットフォームにもほとんどすべて共通した内容です。 ここではあえて理論とか観念は説明しません。とにかくコードを見ながら仕組みと動きを理解していきます。 俺は、コードが読める、長い説明エントリーなんてめんどくせぇ、と思ったら、コード部分だけを実際に動かしながら見ていくだけでも基本的な構造が十分に理解できるのではないか、と。 サンプルプロジェクト Download: SimpleMVVM.zip github: https
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く