【本命】Blazor スレ2【真打】

1デフォルトの名無しさん
垢版 |
2020/11/22(日) 15:59:37.31ID:bqzy0V6t
混沌を極めるWebアプリケーション界隈に現れた一筋の光明
型無し言語 JavaScript の悪夢を打ち払い
林立するエコシステムの亡霊を退散
アプリケーション開発者の希望となるMVVMを引っ提げて登場した真のSPA開発環境

Blazorを語る者よ、集え!

ASP.NET Core Blazor の概要
https://docs.microsoft.com/ja-jp/aspnet/core/blazor/?view=aspnetcore-5.0

前スレ
【本命】Blazor スレ1【真打】
https://mevius.5ch.net/test/read.cgi/tech/1595255796/
2021/05/20(木) 14:38:04.69ID:mUmDXtGJ
>>459
いるいる。
ボタンの有効無効判定で頻出する。

js側オブジェクトと対応するC#側データの
問い合わせ要件とそれに続くU Iの即時更新。
UIの更新が遅れるとバグ判定くらう。

特にグラフでの要件は厳しいものがある。
2021/05/20(木) 14:54:57.29ID:lrVETqiu
それはBlazor のサーバーサイドが遅い
とかの話しと関係ないのでは
特にグラフ関係は、それ用のコントロールの機能まかせの部分になるし
今時100%の自前とかは無いでしょ
特にグラフ関係は
2021/05/20(木) 14:59:55.16ID:mUmDXtGJ
既存のjqueryアプリが苦もなく出来てんのに
出来ませんとか言えんでしょ。
2021/05/20(木) 15:20:37.88ID:lrVETqiu
Blazor 用の市販のコントロールメーカーのグラフもjQuery を利用してるから
基本的には同じ用なものになる
記述はcdhtmlに書くから
基本コントロールまかせ
市販品なので機能は多い
2021/05/20(木) 15:42:49.30ID:lrVETqiu
ちなみにEC2 のただバージョンの環境でも
グラフの反応は悪く無いから
後は回線の問題の方が大きいんじゃね
2021/05/20(木) 15:44:03.65ID:mUmDXtGJ
(;´д`)
2021/05/20(木) 16:17:14.20ID:lrVETqiu
AWS の環境は、テスト用ぐらいなら
ほとんどただだから
自分で上げてみれば?
発行してftpで上げれば
.net とnginx の設定ぐらいで
簡単に出来るし
2021/05/20(木) 17:01:16.81ID:tKGfZjoB
Blazor Serverの問題はセッション毎のシステムリソースの消費量が多いこと
1つのクライアントで試して速いだの遅いだのというのは全く筋違い
2021/05/20(木) 17:43:30.39ID:lrVETqiu
それはサーバーサイドで動くweb
アプリなら既知のことでは?
同時アクセスのユーザー数を想定して
合わなければ他を選択するだけのこと
2021/05/20(木) 18:32:43.13ID:tKGfZjoB
>>468
だからユーザー数とリソース消費量の間の関係を検証しない限り、「問題ないレベルで動作する」とは言えないでしょ
BlazorのサーバーはUIの完全な状態を持ってクライアントと同期してるんだから、一般的なWebアプリに比べて遥かにメモリやCPUを消費するのは容易に想像つくだろ
2021/05/20(木) 18:44:05.33ID:lrVETqiu
それはシステムごとで違うので
個々で調査するしか無い
そんなことをいちいち説明がいるのなら
あなたはBlazor のシステムは向いて無いのでは
2021/05/20(木) 19:24:58.42ID:mUmDXtGJ
( ;´Д`)
2021/05/20(木) 19:37:03.30ID:bXswZk7O
セッション毎のシステムリソースに関してはMSはホントに無頓着だよな。
UpdatePanel使わないとめんどくさいけど、安易にUpdatePanel使うとゲロ重になるとか。
2021/05/20(木) 20:06:02.23ID:YdY1eq3L
素人の俺には全くついていけん
君等のように俺もなりたい
2021/05/20(木) 21:34:01.26ID:c1o5kcMy
ちがうねw

これはなってはいけない見本だよ
こうなってはいけないと思って欲しい
2021/05/20(木) 22:30:42.31ID:z7g4SgLf
https://blazor.syncfusion.com/demos/datagrid/
これとかチェックボックスONOFFした時に0.5秒くらい待たされない?
Serverかwasmかわからんけど。
2021/05/21(金) 01:56:39.88ID:G4ChsNQw
>>475
全行選択するとblazorぽさ満点!!
2021/05/21(金) 03:48:49.27ID:CZVaIM4l
しょぼPCスペックのせいじゃね
2021/05/21(金) 07:57:59.27ID:e1ZQXB7c
>>477
システム作る人間がそれ言っちゃあおしめえよ
2021/05/21(金) 11:54:02.13ID:y5QKu6kE
https://ej2.syncfusion.com/react/demos/#/material/grid/overview
Reactでも似たようなもんかな
全行チェックはreactのほうが軽そう
2021/05/21(金) 12:08:45.57ID:G4ChsNQw
明らかにBlazorのがおそいやん。
2021/05/21(金) 12:56:39.50ID:y5QKu6kE
せやな
>>475のじゃなかったかもしれないけど、
昔この手のUIコンポーネントのソース見てたらServerサイド版だったので
こりゃ同一ネットワーク内かつユーザー数少なめじゃないと使えんなと思ったのだった
というのを
>>453
に伝えたかった次第でございます
2021/05/27(木) 20:33:24.25ID:YGkuDpm1
自分の部署でだけ使うすごく単純なCRUDアプリをBlazorで作ってみようと思う
ローカル環境で動作させる場合はweb assemblyとserverを選ぶ基準ってある?(ローカルで動かすならwebアプリじゃなくて良いじゃんって言うのは置いといて…)
2021/05/27(木) 20:51:24.16ID:n8ii78cU
>>482
Serverだな
wasmだとDBやファイルシステムを直接触れないから別途バックエンドAPIを作る必要がある
単純なCRUDアプリならクライアントサイドのコードなんてほとんど無いだろうから、ぶっちゃけBlazorの意味はゼロ
2021/05/27(木) 21:31:41.60ID:YGkuDpm1
>>483
ありがとう
webアプリの経験がほぼ無いから初歩的な質問でごめんね
勉強がてらServerで簡単なアプリから作って勉強してみる
2021/05/31(月) 20:22:55.91ID:tkmMSSSL
新しい言語やフレームワークを勉強するたびにCRUDやるけど
決定版みたいなのには出会わないな

最近のコードレスと言うか非プログラマ向けサービスのほうが正解なのかもしれないと思い始めた
2021/05/31(月) 20:33:59.01ID:VLUXw9J0
アプリいっぱいできちゃうけど
そのアプリ間の連携はなかったりするけどね
今は改善されてるのかな
2021/06/01(火) 14:28:20.67ID:HwouOMb5
画面表示時や、エラーのダイアログを閉じた後に、一番先頭の入力項目にフォーカスをあてたいんだけど、
InputText だと ElementReference に変換できなくて、FocusAsync() が使えない。

Javascript使うしかない?
2021/06/07(月) 19:11:12.92ID:D0MWfzjy
>>475
待たされる。
それにスクロールさせてると時々表が消える。
2021/06/07(月) 20:26:23.55ID:TC6dQ64y
>>475
ちなみに、これって、BlazorのWasmの方ではなく、Serverの方だよね?
2021/06/08(火) 08:13:51.81ID:oMq/jg/n
>>489
と思われる
2021/06/08(火) 10:23:13.00ID:XAjWEwKV
>>490
さっきブラウザの F12 を押して開発者モードに入り、ネットワークタブ
でみてみたら、 BlazorServer みたいなファイル名のものが10個くらい
ダウンロードされていた。
さらに、ソースタブで見てみたら、*.wasmファイルは存在しないようだった。
つまり、Wasm版ではなく、Server版らしい。
2021/06/08(火) 20:35:41.26ID:oMq/jg/n
>>491
おおそうか
ご苦労だった
2021/07/09(金) 22:33:54.55ID:6kW8sH9L
無礼者はいなくなり世界は平和になりました
2021/07/09(金) 22:43:12.02ID:xhwlaZac
時代に淘汰されたんじゃね?
2021/07/10(土) 02:55:37.47ID:EnquCIhL
盛り上がらなかったな
2021/07/10(土) 06:05:18.89ID:xJQjD86t
糞過ぎる
2021/07/17(土) 09:11:08.37ID:HBoQlXiJ
無礼者発見
2021/07/24(土) 10:02:04.59ID:Bp9T6JVe
uiのいい無料で日本語ドキュメントあるライブラリない?
ガントチャート作りたいけどそもそもライブラリ自体が少なそう
2021/07/24(土) 13:15:30.04ID:Py2hfFQF
お前さんはUIがいい日本語ドキュメント付きのライブラリを無償で作りたいと思う?
2021/07/24(土) 13:47:23.27ID:1w6sRCas
Blazor選択した時点で
便利なライブラリなど皆無だよ(とくにUI)
2021/07/24(土) 17:30:32.42ID:AgXph+Aq
腐るほどあるJavaScriptのライブラリを使えばいい
まさかBlazorだからってJSなしでモノが作れるなんてそんなファンタジーを信じてたのか?
2021/07/24(土) 19:02:59.84ID:1w6sRCas
jsライブラリー入れた瞬間に
Blazorが邪魔に成る事に
気づかない○○
2021/07/25(日) 00:34:35.23ID:LRlqy7mF
そうなるよな
2021/07/25(日) 00:45:43.08ID:O7NkVdB3
js<->c#みたいな面倒の極みも生まれるし、
js側で更新したdomと
Blazor側のdomの整合性を
どう担保するのかという頭痛の極みも発生する
2021/08/23(月) 17:06:25.35ID:rE7NtMqT
UIコンポーネントはどこが使いやすい?
2021/10/14(木) 00:07:27.23ID:frpA/CGo
devexpress
2021/11/17(水) 09:05:53.46ID:80yu8Os+
Blazorって盛り上がらなかったな
2021/11/17(水) 12:06:45.01ID:kY1PYB26
基地外が騒位でた頃が懐かしいな
2021/11/17(水) 14:56:52.66ID:fU48m5xS
今一わかりずらいんだよな
2021/11/19(金) 12:08:42.83ID:JMRWukCz
やはりMSが使ってないっていうのが辛い
ちょっとしたツールを作るのには良いんだが、寿命の長いシステムには使いたくないな
Reactを選択するとおもう
2021/11/29(月) 19:30:25.00ID:y9ywxRiX
こんな誰が見ても失敗するものに金が出て開発されたことに驚きを感じる

スレもパート2まで来たし
ある意味すごいね
2022/02/05(土) 13:59:38.32ID:vyyfl1Q+
Blazorに金が出たのは、SPAについていけてないドットネッター達を救済するためでしょ
MSスタック系開発者のWebスキルの弱さはAzureの先端Web分野における成長を妨げており、近年のMSにとって大きな悩みの種だ
それを打開しうるツールとして丁度たまたまBlazorがあったから金が出た
目標は間違ってないんだけどツールの選定が間違っていた
2022/02/16(水) 23:56:44.62ID:JYAiMCCn
最近Blazor触ってるけど「C#だけでSPA作れますよ」っていう公式の謳い文句は詐欺だからやめたほうがいいわ
俺のはソースの大半がJavaScriptになったわ
WasmでDOM触れないのはキツすぎるな
2022/02/17(木) 02:03:53.85ID:gKnUhZkU
>>513
やる前から分かってた事だわーーそれ
2022/02/17(木) 11:24:09.55ID:4Smpgyyy
>>513
具体的にはどこの公式サイト?
2022/02/17(木) 12:20:07.62ID:7ci0BpXY
https://docs.microsoft.com/en-us/aspnet/core/blazor/?view=aspnetcore-6.0
> Create rich interactive UIs using C# instead of JavaScript.
> Write code in C# instead of JavaScript.
だけとまでは書いてないとかしょうもない揚げ足取りは無しな
問題はそこじゃなくて現にBlazorが失敗したことなんだから
2022/02/17(木) 13:42:16.73ID:D3Kp3a02
Blazorって失敗したの?
2022/02/17(木) 14:13:10.95ID:lMPVfsa5
C#だけで作れますよってのは失敗
C#とHTMLとJavaScriptで作れますよってのは成功
2022/02/17(木) 14:26:22.38ID:4Smpgyyy
なんだ妄想か
2022/02/17(木) 15:39:04.68ID:D3Kp3a02
Blazorでjs使うには
reactとかでjs使うより
jsの遥かに高度な知識が要求される所が失敗ですか?
2022/02/17(木) 18:33:10.63ID:Tb3dO0k6
C#で書ける利点って
Shareフォルダに置いてるクラスを
クライアントとサーバーで共有できることだと思ってるけど違う?
C#しか書けない人の救済ってのもあるんだろうけどさ
2022/02/17(木) 20:30:06.87ID:lMPVfsa5
DB周りだったりビジネスロジック書くのはC#の方が圧倒的に便利だよ
BlazorによってJSが本来の役割に戻ったとも言える
2022/02/17(木) 22:26:15.33ID:Tb3dO0k6
View側にDBアクセスやビジネスロジックは書かないかな…
2022/02/17(木) 22:36:37.25ID:hx7Q8l3q
>>513
直接DOMを触らないとならないシチュエーションってあまり思いつかないが
2022/02/17(木) 22:49:36.26ID:LuSR9kQY
サーバーサイドとクライアントサイドを同一プロジェクトで開発できるところがめっちゃ便利
2022/02/17(木) 23:19:41.56ID:1xHLT3Wc
>>523
だよね
日曜プログラマーがスタンドアロンの
デスクトップアプリ作ってるのかな?
2022/02/18(金) 11:35:19.39ID:/oj4JpIY
>>526
あ?うちの会社のソース見に来いや
2022/02/18(金) 11:50:54.27ID:piXiw/O8
>>527
どこに行けばいいの?
2022/02/18(金) 13:15:40.71ID:AowWF4FZ
お前どこ中よ!?
2022/02/18(金) 15:27:10.05ID:EjixO46z
>>528
github
2022/02/19(土) 11:30:36.00ID:R5yjbcGL
無礼者!Blazor!と書く気も失せる
2022/02/19(土) 21:54:27.34ID:huyRzVWT
簡単なCRUD操作しかしない業務アプリBlazorで作ってみたけどほぼJS無しで作れた
みんなどんなハイレベルなの作ってるんだよ…
2022/02/19(土) 23:13:39.82ID:v22Fyi01
その程度ならReactとかでもほとんどJS無しで作れるよ
2022/02/19(土) 23:26:33.60ID:65Jjqn9I
>>533
ReactってJSのライブラリとちゃうのん?
2022/02/20(日) 00:15:37.95ID:ABTK+uZl
>>532
ASP.NET MVCでいいですやん
2022/05/01(日) 12:33:40.80ID:GvRRQSqT
プリコネ期間限定ゲームの周辺ツール実装でBlazorが使われたらしい
内部向けツールとはいえ大手での採用事例が出来たな
2022/06/05(日) 08:09:49.45ID:qIUtYfBA
WindowsForm少々、Blazor初心者です
MSのLearnをちまちま進めてますが、
> イベント ハンドラーが、Web サービスの呼び出しなど、長時間実行される可能性のある操作を実行すると、イベント ハンドラーを実行するスレッドは、操作が完了するまでブロックされます。 これにより、ユーザー インターフェイスの応答が低下する可能性があります。
と書いてあるところでふと疑問

BlazorServerの場合で、サーバー上ではdotnetが常時実行された状態で待機してますよね
クライアントからの要求に順次応答してサーバーが処理していくわけですが、
非同期にしていない場合、それは一意のユーザに対して処理で待たされるって意味ですよね
WindowsFormだったら、当然デスクトップ上の単一のユーザの処理で待つことになりますが
Sever上で走っているdotnetは様々なユーザの要求にそれぞれ対応していくって理解であっていますか?
WindowsFormでもそれなりの処理を書けばPC性能によっては結構待たされますが
Serverが多数のユーザからの処理を同じようにC#の処理をこなしていくって
相当不可のかかる(ユーザにとっては時間がかかる)ように思うのですが
なぜサービスとして成立できるのでしょうか、初心者ながらに不思議で仕方がないです
描画などの重い処理はブラウザ側がやってくれるから?
2022/06/05(日) 08:52:26.55ID:ZScjncWB
>>537
マルチスレッドで動いてるだけ
最近では非同期でスレッドを節約するモデルが採用されるケースも増えているが、
基本的にWebサーバーというのはユーザーからリクエストを受けるとそれを処理し終えるまで一つのスレッドを専有するものだ
WebなんてDBにクエリ投げて結果を受け取ってHTMLやJSONの文字列を組み立てて返すという単純な処理をやってるだけなんで、大して重いものではない
とはいえBlazor Serverはサーバー側でUIの状態を管理する必要があるため一般的なWebアプリに比べればサーバーの負担が大きく、
あまり大規模に展開するのには向かないのは事実
2022/06/05(日) 10:59:57.71ID:xMf+CtFl
わかりやすくありがとうございます
実際どれくらいが許容されるのか初心者がイメージするのは難しいですね
大規模ってどれくらいの話なんでしょう

有名どころのそこそこの性能のVPS(4コア、8GB、SSD)で
WEB、DNSやメールも稼働させているところに同時接続せいぜい100人くらいの
本業片手間にやや閉鎖的に簡単な業務アプリつくる予定ですが
できてから使いものにならなかったらつらい・・・
2022/06/05(日) 13:11:13.92ID:CScy6GSe
>>539
アプリ次第としか言いようがないが、Blazor Serverはユーザーがブラウザを開いている間長時間にわたってUIの状態を持ち続けるから、
同時に使うユーザー数が多いとメモリをバカ食いする
たとえばDBから取得した5MBの巨大な結果セットをセッションに丸々保持するような作りにしてしまっていて、
同時に利用している100人のユーザーがそれぞれ同時に5タブを開いているとしたら、500セッションで2500MBのメモリを消費することになるな
普通のWebアプリならリクエストの処理で一時的に5MB使ったとしても一瞬で解放されるから、100ユーザーが同時にF5アタックでもしない限りは問題にならない
2022/06/05(日) 13:40:15.91ID:QFYftukq
Blazor Server アプリのF5攻撃か!笑
2022/06/05(日) 16:22:25.37ID:z1mSXQO7
C# で UI開発したいなら、サーバ側はAPIのみ公開して
Windows Forms か WPFでクライアントアプリ作るってのもアリだけどね。

まぁ管理と展開の手間は増えるけど。

展開ならグループポリシーでなんとかなるかな。
2022/06/07(火) 11:46:33.12ID:xy4JUM90
>>540
サーバー側にあまりデータを持たせず、都度DBから引っ張ってくる方が圧迫させないってことですよね
BlazorServerは同じサーバにあればDBのアクセスにも容易でしょうし
WindowsFormsのときのように、PC性能が許せばDBとのやりとりよりもクライアント側に持たせておく方が
いいと思ってましたが、大勢がアクセスしてくるWebアプリだと逆の考えで作っていった方が良さそうですね
544デフォルトの名無しさん
垢版 |
2022/09/05(月) 12:53:36.59ID:uXODbQDL
まとめWikiみたいなのを作りたいのですがBlazorでできますか?
その場合WEBAssembly、サーバーどっちを使えばいいんでしょうか?
2022/09/05(月) 17:08:01.20ID:wecjovVi
パブリックなサイトを作るならserverはタブ沢山開くだけで簡単に落とせるから論外
ただ、wasmだとロード時間で殆どの人は離脱するだろうね
546デフォルトの名無しさん
垢版 |
2022/09/05(月) 22:37:54.46ID:uXODbQDL
>>545
なるほど不便なんすね…
2022/09/06(火) 09:15:51.70ID:ZTa00sCy
>>544
Blazor usecaseでググる
2022/09/18(日) 16:10:13.58ID:P88o/TFm
もうjavascriptでやってるから他まで手出す人すくないの
549デフォルトの名無しさん
垢版 |
2022/09/29(木) 17:46:56.87ID:VFPt3UK4
Blazor Serverで作るの最初は楽しいけど
微調整とかになると氏にたくなってくる
550デフォルトの名無しさん
垢版 |
2022/09/29(木) 17:56:51.53ID:VFPt3UK4
はあ…どうせ大したアクセスも見込まれないので
とりあえず形にしてリリースして
後からリプレースするかとか思ってたら
微調整に苦労しててちゅらい🥺
2022/09/29(木) 18:50:34.11ID:Lb1giMLS
WEBAssemblyのロードに時間かかるけどおもしろそうではある
2022/09/30(金) 12:06:23.99ID:6W1ysRVa
今はどうか知らんけど、blazorでたてのころにタワレコがBlazor Serverでサイト作ってたよな
BlazorServerって、wasmと比較してサーバーのリソースが必要だけど大丈夫だったんだろうか
553デフォルトの名無しさん
垢版 |
2022/10/02(日) 07:21:40.11ID:ToZbQWzB
Blazor始めてみたけどもう何がなんやらわからん…
マイクロソフト公式のTreeViewでサイドメニュー作りたいんだけどコピペしても縦並びにならないんですが…
どうすれば良いのでしょうか?
https://brave-cliff-0c0c93310.azurestaticapps.net/TreeView
554デフォルトの名無しさん
垢版 |
2022/10/02(日) 16:34:28.43ID:mru8RM6k
状況わからなすぎだけもコピペしてうまくいかないなら
必要なcssロードできてないとか
コピペする場所間違えててマークアップの構造がおかしくなってるとかじゃない
555デフォルトの名無しさん
垢版 |
2022/10/02(日) 16:42:23.12ID:jE287c4+
>>554
なるほどサンキューです
サンプルアプリ立ち上げ直してもう一度やってみます
2022/10/02(日) 17:54:54.85ID:dk1cJbbA
BlazorじゃなくてHTML/CSSがわからないんだろ?
そのレベルならBlazorなんか余計なノイズにしかならないから、最初は普通にスタティックなHTMLファイルとCSSファイルだけで始めた方がいいよ
あと経験上、HTML/CSSは自分の手に負えないような複雑なサンプルから始めない方がいい
1から自分で仕組みを把握しながら組み上げていったほうが結果的に早く習得できる
557デフォルトの名無しさん
垢版 |
2022/10/02(日) 19:14:03.10ID:jE287c4+
ありがとうございます
どこにでもありそうなWikiみたいなサイトを作りたくてとりあえずやってみようって思ったのですが難しいですね
サイドメニューをツリー構造にするところでもうすでに躓いてます…
558デフォルトの名無しさん
垢版 |
2022/10/03(月) 01:03:12.32ID:7M+SSEiP
すみませんツリーのやつですが解決しました
index.htmlにscriptを入れるのを忘れてたみたいでした
プラスボタンでツリーを追加したり色々やってます
2022/10/03(月) 03:50:34.10ID:pcuzjq2H
ほとんどがBootstrap。少数でBulma もあるけど。
最近は、Tailwind も

Ruby on Rails でも初歩は、Bootstrap, jQuery

CSS を知らない香具師は皆、Bootstrap
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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