Microsoft ASP.NET Blazor #02

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2020/11/22(日) 05:30:30.13ID:kDrPKY9d
ASP.NETのBlazorのスレッド part2です。

ASP.NET
https://dotnet.microsoft.com/apps/aspnet
ASP.NETは、クロスプラットフォーム対応、無料、オープンソースのフレームワーク
Free. Cross-platform. Open source.
A framework for building web apps and services with .NET and C#.

Introduction to ASP.NET Core Blazor
https://docs.microsoft.com/en-us/aspnet/core/blazor/?view=aspnetcore-5.0

【本命】Blazor スレ1【真打】
http://mevius.5ch.net/test/read.cgi/tech/1595255796/
2020/12/24(木) 14:00:28.72ID:VTM9inIm
ドットネッターはコンテナに拒否反応示す人が多いよね
.NET Coreでせっかくモダンなスタイルのデプロイが可能になったと思ったら、
井の中の蛙なユーザーに迎合してIIS統合とかFDD強化とか変なことに力入れてどんどん退行してるし
2020/12/24(木) 15:31:58.25ID:GGlRJfww
Windowsコンテナが実用レベルになったら起こしてくれ
2020/12/24(木) 17:59:56.32ID:tvAmDhsP
>>279
そこまでやる必要がないレベルといえばそう。
世にあるMVC系のWebフレームワークはなんか漏れ出してるということなんだろうか

>>280
逆に単純なマスタは一致するんじゃないの
そりゃおっしゃるようなシーンでは一致しないだろうけど
どっちが多いかにもよるんだろうか。

サーバーと型が共有できるって利点だと思っていたけど
結構反対意見も多いな。
少なくともBlazorの雛形はそうなっているけど、これは小規模だから成り立っている?
もっといろんな意見を聞きたい。
2020/12/24(木) 18:17:21.72ID:61P3AxB9
>>283
反対意見じゃなくてAPIの設計がちがう。

swaggerでopenAPIとして公開するレベルなら、
クライアントの種別、言語は問わない。
2020/12/24(木) 18:32:45.65ID:z4h3nURn
>>265
それってコンパイルエラーになるような変更なら気がつくけど
それ以外の変更なら不具合が起こってても気が付かないてことでしょ?
結局テスト書いてないだけじゃない?

swaggerとかインターフェース定義ファイルからそれぞれのスタブを自動生成するようなやつは
定義が変わればそりゃ検知できるけど検知できて新しい定義に対応したところで
その変更によって不具合が起こってないことはテストしないとわからないよね
2020/12/24(木) 18:36:25.33ID:cDdTcWWQ
>>280
モデルにも色々ある
ドメインモデルとかビューモデルは当然、共有しない

APIやRPCのI/Oモデルは共有する
Blazorはこれを追加作業なしで完全な形で型安全に共有できるから強い
2020/12/24(木) 18:46:02.72ID:PofLudrU
さらにF#の型プロバイダをBlazorで利用すると、バックエンドが.NETでない場合でも、型安全なI/Oモデルを手に入れることができる
インターフェース定義、コード生成要らないので、とても楽ちん
2020/12/24(木) 18:53:41.80ID:tvAmDhsP
>>284
いろんなデバイスやシステムからアクセスするapiに関してはおっしゃる通りだと思うよ。
でもそんなの限られるんじゃないの?いや俺がそういうの作った事ないからそう思い込んでるだけかもしれないけど。

そうじゃないものまでapi化するのは意味なくて、型は共有した方が嬉しいですよね♪ってことだと解釈してます。

>>285
swaggerはリリース前に自動で変更検知して止めてくれるってこと?
なら安心だな。
テストに関してはおっしゃる通り。
2020/12/24(木) 19:15:50.43ID:EoOpc5fU
>>283
型共有は工数削減効果が非常に高いので積極的に利用して良いよ
2020/12/24(木) 19:26:12.20ID:yLXHVLdF
swaggerがどうのこうの言ってる人はミスリードを狙ってそうな気配がする
swaggerはメソッドを定義することはできないからblazorの型共有とはそもそもまったくの別物だよ
2020/12/24(木) 19:34:01.95ID:yLXHVLdF
blazorの型共有は単にAPIのDTOを共有するといったつまらないユースケース留まらない(もちろんDTOとしても非常に便利ではあるが)

例えば単価、税率、個数から消費税込み価格を計算するメソッドがプレゼンテーション層とドメイン層の両方で必要になった場合
blazorならC#で1回だけメソッドを実装すればいい
バックエンドとフロントが異なる言語だと同じ処理を異なる言語で2回実装しなければならない
もちろん仕様変更が発生した場合には両方ともプログラムを修正、テストをしなければならない
テスト定義もバックエンドの言語とフロントエンドの言語で2回書かなければならない
片方の仕様変更を忘れてもテストが更新されなければアラートは鳴らないので
慎重に2つの言語を調べ尽くして実装漏れがないかどうか確認しなければならない
2020/12/24(木) 20:36:59.38ID:NdJ7CDDg
画面の金額と実際の請求金額に差異が出たりしたら偉い人が顧客に土下座するレベルの重大事故だろ
さすがにそこはサーバーサイドに投げるわ
コード共有などという小手先レベルの共通化は少々バグっても笑って許される程度の機能のちょっとしたUX改善程度にとどめておくべきで、
重要なものはアーキテクチャ上差異が発生しないように作る
2020/12/24(木) 20:48:02.28ID:yJIcrLfM
>>292
この例はあくまで一例
実際のシステムでは金額計算以外にも同じような状況は沢山ある
それをいちいち全部バックエンドに問い合わせるのは実行効率も製造効率も悪い
2020/12/24(木) 20:58:24.94ID:KjzzoxRm
>>291
コピペ?

swaggerを使ってのopenAPIなら
まずはその設計思想を勉強されてみてはどうでしょうか?

googleのAPIとか参考になりますし、
無料で試せますよ。
2020/12/24(木) 21:06:28.06ID:cW3QBX++
>>292
自分の設計だとバリデーション含めて
ロジックは全部(表示フォーマットも)サービス側ですね。
ローカルにあるロジックと応答速度で遜色ないですよ。

サービス側は全部単体テスト対象なんで
安心感もあります。

リリース後にバグ出すと、
なんで単体テストを通過したのか始末書もんです。
2020/12/24(木) 21:23:01.51ID:IhbSA9yU
>>295
思想としては正しいと思う
.NETな人って表面的なコードの共有は大好きなのにデプロイメントをDRYにするという意識が希薄な人が多くて、
ビジネスロジックのDLLをWebとバッチで安易に共通化したりしてデプロイをミスってトラブル起こすケースが多いんだよね
2020/12/24(木) 21:32:29.46ID:cW3QBX++
View側に業務ロジック混ざると、
コードが読めなくなること多いですからね。
いろんな人が出入りするし。

フロントなんて持って数年、
システムの統廃合やリプレース時にも楽ですよ。
298デフォルトの名無しさん
垢版 |
2020/12/24(木) 21:48:16.63ID:BMlK5S4S
Blazor Serverでファイルのアップロード処理をしたいのですが、
アップロード時に、ローカルにファイルが存在するかチェックするにはどうすればよいでしょうか?
2020/12/24(木) 21:51:51.36ID:zHK1POmy
>>298
ローカル側の処理なんでJavaScript書かないと仕方ないんじゃないの
2020/12/24(木) 21:59:31.17ID:BMlK5S4S
>>299
ありがとうございます。
該当部分はJavaScirptで作ります。
2020/12/24(木) 22:00:26.68ID:cDdTcWWQ
>>294
swaggerはblazorの型共有とは違うベクトルの話だよ
ここで話すべき内容ではない
2020/12/24(木) 22:05:56.79ID:cDdTcWWQ
>>295
それはいままで簡単にフロントエンドとバックエンドでロジックを共有できなかったからそうするしかなかっただけ
型共有がなかったからコードを重複させるか些細なことでもバックエンドにリクエストを出すしかなかった
どちらもやりたいことにたいして実装と実行のオーバーヘッドが大きい
型共有が可能なblazorでは無駄なエンドポイント実装、APIコール実装を削減することにより生産性の向上が期待できる
また無駄なラウンドトリップを避けることによりより良いユーザー体験が期待できる
2020/12/24(木) 22:08:01.69ID:cDdTcWWQ
>>296
昨今ではデプロイメントは自動化されるので間違えることはない
2020/12/24(木) 22:09:26.12ID:cDdTcWWQ
>>297
Viewには業務ロジックは混ざらない
Viewからは業務ロジックを呼び出すだけ
今まではAPIを通じてリモート呼び出ししていたがblazorではその必要なく呼び出せる
2020/12/24(木) 22:25:28.29ID:Lxgk3nTO
>>304 >>302
「Blazorでは」と書くと正しく伝わらない。
Blazor ServerとBlazor WebAssemblyで全然違う
紛らわしい名前つけたMSが悪いんだが。
306デフォルトの名無しさん
垢版 |
2020/12/24(木) 22:50:48.81ID:cFK/Qw2G
実際どちらのことを書いてるんだろう
Serverかな
しかしwasmとserverでほんと全然ものが違うよな。
共通点はフロントをc#でかけるってだけで。

MSの名前の付け方は本当に適当だと思う。
2020/12/24(木) 22:59:35.56ID:z4h3nURn
同一言語で作ってる同一プロジェクト内で型を参照することを
”型共有”って言うのは相当違和感あるね

誰が使い始めたのかしらないけど
2020/12/24(木) 23:11:34.69ID:F9/YVp9N
では何と言うべきか?
2020/12/24(木) 23:24:38.23ID:cFK/Qw2G
Qiita や個人のブログを貼るのはアレなので
クラスメソッドの記事を…

https://dev.classmethod.jp/articles/typescript-front-server/

interfaceを共有することで 型安全な開発ができます

これのことかな。
2020/12/24(木) 23:50:47.46ID:cDdTcWWQ
Blazorはinterfaceの共有もできるがそれだけに限らない
interface、class、struct、、、何でも共有できる
それらを総称するとなんと言うか?それは型だ
だから型を共有していると言うより適切な表現はないのではないかな
2020/12/25(金) 00:08:08.33ID:vv0pxJyE
>>309
このケースはリポジトリとして定義した型をサーバーとクライアントで共有してるというのは違和感ないな
RESTのAPIで切り離されてるからかな
(APIが返す型情報を元にしてないから微妙なところがあるけど)

ASP.NET MVCで言えば同じビューモデルの定義を参照してるからって
ビューとコントローラーで”型共有”してるとは普通言わないよね?
2020/12/25(金) 00:14:35.63ID:K5aqSQYy
>>311
言い回しとして普及してるかどうかは知らんが型を共有してるのは正しい
2020/12/25(金) 00:24:51.99ID:Z26lwPgE
>>311
Blazor wasmのプロジェクト構成では
Shareプロジェクトにモデルを定義して
ClientプロジェクトのRazorページでShareプロジェクトを参照している
同じくServerプロジェクトのコントローラーでもShareプロジェクトを参照している
これはなんていうんだろう。

どちらにせよサーバーとクライアントで同じ型を使うという目的に対して手段が違うだけであって、別にまずくはないと思うんだけどどうだろう。
2020/12/25(金) 08:42:56.78ID:uurLZNKt
サーバーとフロントで型を共有?できた方が大半はうれしい。
OpanAPIが必要なシステムではそこに固執しなくてもよいということで。

じゃあこの板でもたまにやたらと推してくる奴がいる言語、rubyやpythonって静的型付け言語じゃないよね。
てことは型の共有もくそもないと。

そういう言語で中規模以上のWebシステムを作ろうとするとやはり苦労する?
推してくるやつはその事実をわかっていない?
静的型付け言語しかしらない俺にとってはなんであんな推してくるのかとても気になる。
2020/12/25(金) 09:13:17.07ID:JfQSa+1c
>>314
OpenAPIじゃメソッド(処理)を共有できないよ
フロントエンドとバックエンドで言語を揃えることにより今まで複数言語で書くかリモート実行するしかなかった問題が解決した
OpenAPIは複数言語で書く手間を軽減できるがリモート実行するしかないという問題には未だに無力
2020/12/25(金) 09:31:31.83ID:UA1/tVeu
どんな言語であれフレームワークであれ
データ型は共有しないとクライアントが受け取ったデータを適切に処理できないでしょ

blazor は同じアセンブリを共有できる分開発は楽になるでしょ

クライアントに送るデータはクライアントに必要なデータしか普通は送らないし
サーバ側の型がクライアントに漏れるとか
入門書レベルの開発しかしたことないだろ
2020/12/25(金) 09:44:37.32ID:uurLZNKt
>>315
多種多様なシステムやデバイスが使うapiは仕方がないという認識
2020/12/25(金) 10:04:08.77ID:JfQSa+1c
>>317
その多種多様なデバイスの上で.NETが動くわけで
2020/12/25(金) 10:09:58.28ID:8j4BK9K7
ぜんぶ設計者次第だという認識
2020/12/25(金) 10:16:11.17ID:81Ut/TdK
>>314
WebなんてぶっちゃけDBと画面の間のマッピングを定義してるだけの話なので、
データモデルがRDBによって常に静的に型付けされているため動的型でも破綻しにくい
むしろ変にドメイン駆動とか意識高いのに毒されて画面から独立したモノリシックなビジネスロジック層みたいなのができちゃうと、動的型では確実に破綻する
2020/12/25(金) 10:17:04.89ID:JfQSa+1c
>>316
サーバー側の型がなにを指しているのかによるな
データアクセスレイヤのクラスがプレゼンテーションに漏れるのはBADだと思う
しかしドメインレイヤのクラスをプレゼンテーションから参照するのは問題ないと考えている

昨日も例を出したけど
入力として単価、消費税率、個数があってリアルタイムに税込み価格を表示する画面があったとする
この税込み価格の計算は明らかにドメインロジックだ
プレゼンテーションレイヤから直接ドメインレイヤを参照できればそれが最もシンプルでよろしい

もしそれができない場合、プレゼンテーションレイヤにも税込み価格計算ロジックを実装するかリモート呼び出しのためのエンドポイントを実装し、APIクライアントも実装するという重い作業を強いられる

もちろん、税込み価格計算はただの一例であり、実際にはより多くのニーズがある
プレゼンテーションレイヤからドメインレイヤの型を参照できると低コストでより高度な画面を作成することができる
2020/12/25(金) 10:22:24.07ID:JfQSa+1c
>>320
それはどうかな?
意識の高いプログラマの代表格であるマーチンファウラー先生はrubyを称賛していたね
ドメインを実装するのに必ずしも静的でなければならなということはなさそうだ
重要なのはテストを書くことなのだろう
2020/12/25(金) 10:27:26.49ID:JfQSa+1c
そもそもWEBをひとくくりに画面とDBのマッピングであると決めつけるのもいかがなものか
チュートリアルみたいな簡単な仕事ならそれでもいいのかもしれないが
現実のビジネスは小さな事業でもそんなに簡単にはいかない
2020/12/25(金) 10:32:50.39ID:vv0pxJyE
>>314
自分で勉強しろって
ここで言ってる”型共有”はRubyでもPythonでもできてる

>>315
“メソッドを共有”って何なの?
処理を共有するためのAPIなんだけど・・・
それにBlazorもリモート実行してるよ
2020/12/25(金) 10:35:51.93ID:uurLZNKt
>>322
C#であればコンパイラが型チェックしてくれるようなことすらも
Rubyは自力でテストを書かなければならない?
しんどくない?しんどくてもその分の見返りがRubyにはある?

いや数画面のスキャフォールドで作られたようなCRUDシステムなら好きな方選んだらいいと思うんだけど
中規模以上になってくるとどうなのかなと思って。
2020/12/25(金) 10:38:07.26ID:uurLZNKt
>>324
あれ、RubyやPythonも型があるのか
失礼しました。
もう自分で触ってみないとわからんな…
2020/12/25(金) 10:38:47.43ID:UA1/tVeu
>>321
そんなこといったら
クライアント側でのデータ検証なんて 何もできない
2020/12/25(金) 11:01:46.48ID:bbGDaeBs
静的型チェックを重視するならC#よりF#使えばいいのに
2020/12/25(金) 11:08:03.54ID:8j4BK9K7
訳わかんない理論がまかり通るスレ
2020/12/25(金) 11:37:26.72ID:JfQSa+1c
>>324
リモート実行は外部処理系に処理を依頼しているだけなので共有ではない

ここでいうメソッドの共有とは異なる処理系が同じ実行コードをそれぞれの内部に持っているということ
2020/12/25(金) 11:45:17.08ID:JfQSa+1c
>>325
動的言語はしんどいよ
自分個人としては動的言語には懐疑的
ただ高度なスキルを持った著名人が支持しているのでコード解析の弱体化のデメリット以上に何かしらメリットがあるのだろう
そしてそういった著名人は必ずテストも推奨している
テストを書かない場合は静的言語のほうが有利なのだろう
しかしテスト書けば動的言語の弱点が補われるのでメリットのウェイトが大きくなる
2020/12/25(金) 11:49:27.10ID:JfQSa+1c
>>327
何もできないというのは間違い
しっかりしたシステムでは必ずクライアント側でもデータ検証を行っている

ただしそれはコード重複や無駄なリモート呼び出しの実装という負債を抱え込むデメリットと常にセット

フロントエンドとバックエンドで言語を揃えれば負債なしにフロントエンドでデータ検証を行うことができる

もちろんデータ検証以外の処理もおなじこと
2020/12/25(金) 12:16:12.84ID:uurLZNKt
>>331
そう。その何かしらのメリットを知りたいのだ…

>>245
>>250
はjavascriptの例だが、これがrubyでも起こるとすると
しょーもないCRUDの画面でもテスト書かないといけないのだろうか。

javascript勢がTypeScriptに流れてるってことは
それなりの規模のあぷりを動的型付け言語でやろうとするといくらテスト書いても辛いって事だと思うんだけど。
2020/12/25(金) 12:24:33.08ID:cyV6b5qO
それをここで聞いてもな…
親の仇の如く口汚く罵られるだけで、
メリットなんか提示されないと思うぞ
2020/12/25(金) 12:30:41.85ID:uurLZNKt
だよね…
技術の優劣をつける意図はないんだが、
自分が作るシステムでは正しい技術を選択したいという想い
2020/12/25(金) 12:31:52.62ID:fU2xV1RD
>>321
明日もお願いします。
2020/12/25(金) 12:32:11.57ID:uurLZNKt
Webフレームワーク比較検討スレみたいなのがほしい
js系の言語のスレはBlazorの話するとうざがられるし
2020/12/25(金) 12:37:05.82ID:JfQSa+1c
>>333
動的言語はコード編集から動作確認、テスト実行開始までがとにかく早い
なのでゼロベースの新規プロジェクト、サービス公開までの時間を最優先する場合にはデメリットよりメリットが上回る
339デフォルトの名無しさん
垢版 |
2020/12/25(金) 13:33:23.39ID:pgbI6Wzr
>>337
人気のweb frameworkのスレッドは個別にあるしそこでいい。
全部の言語まとめて扱うと荒れる。
JSやJavaのスレッドはある
Java Web Application Framework総合 ver2
http://mevius.5ch.net/test/read.cgi/tech/1374399677/

C#は乱立してないから素直にASP.NET使えばいい
5chみたいな狭い世界で比較検討せずに
素直に人気のあるやつをいくつか試して決めた方がいい。
2020/12/25(金) 13:37:24.42ID:pgbI6Wzr
>>337
うざがられてあたりまえ
JSやってるやつらのほとんどがC#を使えない

C#使えるならバックエンドは迷わなくていいASP.NETでいい
迷うならフロントまわりの技術
2020/12/25(金) 13:55:33.58ID:8j4BK9K7
自演ぽいな
2020/12/25(金) 14:03:41.81ID:l1B2LBGM
そろそろ学習本が欲しいところ
アレ以外で
2020/12/25(金) 14:22:22.25ID:vv0pxJyE
>>330
じゃ、Blazor Serverはリモート実行だから”メソッド共有”じゃないってことね

異なるプログラムで共通のライブラリを使うことを
”メソッド共有”って呼んでもなかなか通じないと思うよ
2020/12/25(金) 14:24:09.99ID:JfQSa+1c
>>343
ではなんと言ったらわかりやすい?
2020/12/25(金) 17:26:45.87ID:UA1/tVeu
共通するコードをライブラリ化して共有でいいんじゃないの
2020/12/25(金) 17:48:04.91ID:tkA/KKSW
バッと来て
グッと溜めて
ブワッ!
2020/12/25(金) 18:29:51.37ID:AIeBZh27
>>345
長いので1単語にまとめて
2020/12/25(金) 19:21:45.07ID:uurLZNKt
>>340
そうなんだろうか
実はC#erが食わず嫌いなだけで、実はあちらのほうがめちゃくちゃいいものなのかもしれないよ…?
2020/12/25(金) 19:30:34.79ID:UA1/tVeu
以前は asp.net は Windows Server でしか動かなかったからなぁ

今でこそようやく Linux でもまよもに動くようになって2年ぐらい?

twitter でも .net core で検索すると
一年前はほんと大して結果なかった気がするけど
最近は増えてきてるかな

まだまだこれからでしょ
350デフォルトの名無しさん
垢版 |
2020/12/25(金) 20:54:05.41ID:pgbI6Wzr
>>348
あちらのほうってなんだよ
エンジニアならもっとはっきりかけよ

JSのbackendのweb frameworkか?
ろくなのないって俺が何度も書いてる。試す価値なし。
疑うなら自分で試してベンチマークとかとれよ
RailsもNode backendも遅くてゴミ

スクリプトは遅い。開発の生産性が低い
これは開発者の常識
高速なハードとソフトを合わせないとスケールするサイトにできない
2020/12/25(金) 20:56:57.60ID:pgbI6Wzr
>>349
昔はLinuxでというかライセンス無料で使えなかったのは大きいね。
JSやってるやつらはいまだにIIS, Windowsでしか動かないと思ってる。
あとclassic ASP時代のイメージのままの人も多い
2020/12/25(金) 21:08:02.22ID:pgbI6Wzr
高速なコードで作りたかったらstaticに限る。
主要OSの主要な言語はstaticだ

Swift, Kotlin, Java

server-sideでKotlinもあり。
2020/12/25(金) 23:41:23.33ID:Z26lwPgE
サーバーとクライアントは同じ言語の方がいいんだろ?
2020/12/26(土) 00:06:30.37ID:w6CJ0JU3
>>353
できれば同じ方がいいがパフォーマンスも生産性も低いJSに合わせるのは愚策
server-sideでJS使ってるのはアホだと思う

大手ならserver-sideとclient-sideは別の人材が開発するのだから
言語を合わせるメリットはあまりない

ヤフーとかもbackendでnode.js使ってるが事故ばかり起こしてるだろ
レベルが低い
355デフォルトの名無しさん
垢版 |
2020/12/26(土) 19:37:00.30ID:5ukh9MxR
日本人の誰かBlazorのwikiを作ってくれ
フリーでオープンソースのウェブフレームワークって書くだけでも
wikiがないとBlazorが何かわからん
なぜC#を使ってウェブアプリが作れるのか?
ウェブブラウザはC#を解釈しないからJavaScriptとHTMLだろ
2020/12/26(土) 19:44:30.35ID:T66JFeJq
BlazorWasmのほう?
WebAssemblyで調べたらいいのでは
2020/12/26(土) 19:54:05.69ID:5ukh9MxR
>>356
WebAssemblyはwikiがあるが本文にBlazorがない
2020/12/26(土) 20:13:39.65ID:q2RopqqH
所詮その程度のオモチャということです
2020/12/26(土) 20:19:52.51ID:zr3CHg45
WebAssemblyはそれようの仮想マシンで動くからじゃないの

C#コードをその中間言語にコンパイルするだけ

たぶん
2020/12/27(日) 11:16:47.49ID:FLSM18Bj
>>355
そんなwiki作っても内容古くなるし意味ない
不正確で古い情報入手してどうする?
英語でMSのドキュメント読みなされ

何度も言うけどBlazorと書くべきじゃない。
Blazor Server, Blazor WebAssemblyで
アーキテクチャが全く違う。
2020/12/27(日) 11:17:34.43ID:FLSM18Bj
>>359
ちがう、いいかげんなこと書かずに
MSのドキュメントを読むべき
2020/12/27(日) 11:17:38.77ID:l7B3kP+i
>>360
似てるよ。
2020/12/27(日) 11:44:29.13ID:Y/0KLGYh
>>360
Blazorを初見で見て1分で何か知りたいだけでwikiがいい
時間をかけて英語でMSのドキュメントを読まない
2020/12/27(日) 11:56:13.46ID:l7B3kP+i
>>363
Web Assembly
https://docs.microsoft.com/ja-jp/aspnet/core/blazor/index/_static/blazor-webassembly.png?view=aspnetcore-5.0

Blazor Server
https://docs.microsoft.com/ja-jp/aspnet/core/blazor/index/_static/blazor-server.png?view=aspnetcore-5.0
2020/12/27(日) 12:57:58.03ID:5MC+7bSJ
>>361
あーそうね
C#のコードをいつも通り.NETの中間言語にしたものを配布して
ブラウザでの実行時にwasmのコードに変換して実行だっけ?

大して変わらんと思うけど
2020/12/27(日) 14:19:59.57ID:iruxp8RS
.NET6でAOTが入る予定らしいがファイルサイズの問題とかあるしwasm書くような用途なら他の言語の方がいいんじゃね
2020/12/28(月) 12:55:53.75ID:Ov8uGTUf
状態管理ってどうやるのが無難なのかな?
blazor + fluxor ?
2020/12/28(月) 20:34:30.42ID:N8gr0T4H
状態管理サービスをDI
2020/12/28(月) 20:36:55.85ID:RNhofGKy
blazorserver ならセッション?
webassemblyならいる?
2020/12/28(月) 23:32:18.60ID:w2tkTAcI
GO + wasm が来年のトレンドだと思いましゅ
371デフォルトの名無しさん
垢版 |
2020/12/29(火) 01:03:32.89ID:QFieIEDm
Kotlinはブーム来てる
Kotlinはwasmもすでに存在するようだ
2020/12/29(火) 07:55:55.72ID:iWtJxFHh
wasmとserver
wasmの方が人気だよなあ
serverはwebformの移植用以外は使い道がないんだろうか
2020/12/29(火) 09:17:54.01ID:8biyF2ED
go + wasm で使えるイケてるフロントエンドフレームワークがあったらいいんだがなぁ。
374デフォルトの名無しさん
垢版 |
2020/12/29(火) 09:43:58.26ID:QFieIEDm
Googleが採用言語を分裂させすぎだから
Goは普及しないだろ
FlutterではDart
AndroidではKotlin推してる
全部Goにしてたら結果は違ったはず
Kotlinのが流行ってるしな
Go速いらしいけど人気ないのははハードル高いんだろうか
2020/12/29(火) 12:10:38.95ID:TrPJjXJg
>>372
これホント?

なんとかC#しか使えないエンジニアを有効活用して
JSの10倍遅くても問題ないからオフラインでも使えるWebアプリを作りたいってニーズある?
JSが不要になるわけじゃないし現状はデスクトップアプリかblazor serverのほうが何倍も良いと思うけど
2020/12/29(火) 12:22:03.72ID:gscEc512
PlayStation Portable go の運命と重なる...
2020/12/29(火) 12:30:16.56ID:iAxs8NN4
>>375
どっちでもいいんじゃないの
何倍というほどの差はない
2020/12/29(火) 12:33:17.29ID:Fq3XcUlo
>>375
おっしゃるとおり!
俺のような企業向けアプリしか作らない人間からすると
wasmよりserverのほうが使えそうなんだよね
でもblazorでググるとwasmの記事ばかり引っかからない?
あっちのほうが期待されてるように感じる…
2020/12/29(火) 13:01:36.23ID:k23+wtCh
Chromeではある程度可能だが、いまのところ、広く一般には、Wasmは、ローカルファイルシステムになかなか自由にはアクセスできない。
ところが、Cordovaはlocal http serverをアプリ起動時に立ち上げて、
WebViewでHtml+JS+Wasmを起動ですることによって、
Wasm
--> JS
--> XmlHttpRequest()/fetch() で "http://localhost:5000/機能名?トークン&パラメータ" にアクセス
--> Http プロトコルの Http Request が発生し、local http serverが眠りから覚める。
--> local http server は、端末の API を好きなように呼び出し、端末の
ローカルファイルシステムを読み書きする。
--> http response で結果を JS 側に返す。
--> JS は、結果を受け取る。
の順序でWasmからローカルファイルシステムにアクセスできる様になるらしい。
Cordovaは、AndroidでWasmが使えたという報告があるし、
iOSでもVer11以降だとWasmが使えたという報告がある。
つまり、多くの人が使っているモバイルデバイスでは、WasmとCordovaの組み合わせで
モバイルのローカルファイルシステムも、あらゆる端末機能にもWasmから利用可能に
なるようだ。
2020/12/29(火) 13:02:15.95ID:EHaGj/ct
そりゃ技術的に面白いのはwasmだから話題になるのそっちだよ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況