【本命】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/
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
560デフォルトの名無しさん
垢版 |
2022/10/03(月) 16:00:18.59ID:SouKdki6
>>558
よかったねえ🥺
2022/10/06(木) 08:35:53.26ID:+AsrxDle
DevExpress Syncfusion Blazorise
この辺を入れてみれは?
562デフォルトの名無しさん
垢版 |
2022/10/09(日) 01:20:31.04ID:lxUkaVwk
SQLServerとか使う場合はBlazorServerの方がいいのだろうか?
WASMでもよい?
2022/10/09(日) 10:42:23.30ID:HJR0JYza
SQLServer使うようなギョウムアプリならServerでいいんじゃない
どうせ同時利用数人とかでしょ
WASMだと別途APIサーバーが必要だからBlazor全く関係なくなる
564デフォルトの名無しさん
垢版 |
2022/10/09(日) 11:37:20.60ID:lxUkaVwk
>>563
そうなんですね
ありがとうございます
BlazorServerに切り替えます
2022/10/09(日) 11:57:38.45ID:zcOK7xJj
Blazorって流行るの?
566デフォルトの名無しさん
垢版 |
2022/10/09(日) 11:57:55.00ID:lxUkaVwk
>>565
知らない
2022/10/09(日) 13:01:40.62ID:ksY6xqU3
アーリーアダプタ達が飽きて去っていって、早くも幻滅期に入ってる
このまま静かに消えていくだけだよ
568デフォルトの名無しさん
垢版 |
2022/10/09(日) 13:22:48.27ID:lxUkaVwk
でも海外ではかなり多いイメージだわ
飛行機会社とかも使ってたよなたしかに
569デフォルトの名無しさん
垢版 |
2022/10/09(日) 13:40:11.86ID:As/19xd1
まだまだこれからよ
570デフォルトの名無しさん
垢版 |
2022/10/09(日) 18:52:03.30ID:lxUkaVwk
う~ん、コンポーネントは使えるようになったもののコンポーネントの中の文字の大きさとかの変え方がわからん…
2022/10/09(日) 19:56:15.04ID:Q9DyMows
>>570
コンポーネントのパラメーターってとこのやり方でできない?

https://learn.microsoft.com/ja-jp/aspnet/core/blazor/components/?view=aspnetcore-6.0#component-parameters
572デフォルトの名無しさん
垢版 |
2022/10/09(日) 23:51:23.95ID:lxUkaVwk
>>571
ありがとうございます
試してみます!
573デフォルトの名無しさん
垢版 |
2022/10/10(月) 22:16:48.79ID:p1R6oL8J
今ねこジョーカーさんのBlazor実践編でSQLServerつくってEntityFramework使ってDBの処理行ってるけどこれってもしかしてSQL使ったほうが早いのでは?と思った
猫ジョーカーさんの方はわざわざAPI作ってるけどどうなんだろ?
2022/10/10(月) 22:32:40.45ID:TSCOizg9
SQL書けるエンジニアが
EFとか使う訳がない
575デフォルトの名無しさん
垢版 |
2022/10/10(月) 22:49:55.06ID:p1R6oL8J
>>574
そうなんだ…
SQL使ったほうがいいよね?
そっちのほうが簡単そうだし
2022/10/10(月) 22:52:23.96ID:1S+us0pK
EFは百害あって二利くらいだな
EFの利はマイグレーションが便利なのと、結果セットとオブジェクトの間のマッピングが楽という点
つまり、基本的にSQLを使用し、EFはマイグレーションだけに利用し、マッピングはDapper使えばよい
2022/10/10(月) 23:41:54.13ID:rnb1RKi2
最近Blazorスレにも書き込みが増えたな
MAUIの影響か?
2022/10/11(火) 00:14:10.05ID:Uxg8Txql
マイグレーションもSQLで書いた方が確実
579デフォルトの名無しさん
垢版 |
2022/10/11(火) 06:07:06.93ID:qiIej6xr
スキャフォールディングはラクだけどなぁ
2022/10/11(火) 13:10:24.74ID:17+/w9Hg
Ruby on Rails では、
3大データベースのPostgreSQL, MySQL, SQLite の方言・型などの互換性を担保するために、
Rubyで、マイグレーションファイルを書く

これにより例えば、datetime と書くと、
PostgreSQLのtimestamp型、MySQLのdatetime型になる
581580
垢版 |
2022/10/11(火) 13:16:37.35ID:17+/w9Hg
基本的に、Ruby on Rails みたいなO/R マッパーを使わないと、
各データベースの方言・型などに互換性がないから、保守できない

例えば、直にSQL 文を書いていると、異なるデータベースに適用できない

それに、SQLServer などを使う人は、まずいない。
普通は、3大データベースのみ。それ以外は、AWS Aurora とか
2022/10/11(火) 17:12:21.47ID:qiIej6xr
3大データベースて

SQL ServerはDBMSシェアでずっと上位だぞ
Oracleが入ってないのもおかしい
583デフォルトの名無しさん
垢版 |
2022/10/11(火) 19:08:15.45ID:zdHyQVUo
>>581
ふーん
SQLServer以外使わないのであればSQL直書きでいいわけか
2022/10/11(火) 19:34:23.34ID:D4ywmAPt
>>583
そいつ荒らしだぞ
2022/10/12(水) 17:15:23.05ID:Az5/M0PL
Blazor のが MVC とか
JavaScript ViewJs なんかで開発するより
数倍効率は良くなる
はっきり言ってBlazor があるのに
何で他の使ってんの状態
2022/10/12(水) 17:40:45.84ID:87sZcmju
そりゃまあ学習コストの問題だね
何も知らない人がいきなりBlazorから始めるのは勇気がいるしある程度経験のある人が移行するのは面倒くさい
今はC#が好きな人やBlazorに興味がある人がいじってる状態
情報は絶対的に足りてない
JavaScriptだと「こんなサイトを見たからその真似をしたい」と思って探すとたいていやり方がすぐみつかる
Blazorは自分で作るのが基本
例えば仮にPWAを作りたくなったとしてどう作る?
Blazorが広く使われるようになるにはもう少し時間がかかるだろう
587デフォルトの名無しさん
垢版 |
2022/10/12(水) 19:03:27.38ID:Veh6OBjF
藍より青しって言葉があるからね
後発が先発よりも優れてるってのは当たり前さね
まぁDartとかいうゴミ言語みたいな例もあるけどね
2022/10/12(水) 19:21:29.39ID:nhqNHfSV
もう少し情報が有ればなぁ
2022/10/12(水) 19:26:46.68ID:fZIq2sNZ
もうちょい書籍も充実してくれたらな
2022/10/12(水) 19:44:33.71ID:PwsA+LUV
学習コストの問題に含まれるかもだけど
ホスティング環境の問題もある気がする

いざデプロイとなると大まかに
- コンテナインスタンス立ち上げる
- IISで動かす
とかになると思うんだけど

コンテナ化するだけか!最高!って喜べる層はそこまで多くない気もしてる
2022/10/12(水) 19:49:23.47ID:MqpEV/3v
社内ツールで使いたいけど
Blazor ServerってWindowsのサービスとして使えたりすんの?
IISいるの?
2022/10/12(水) 20:14:32.09ID:PwsA+LUV
>>591
IISなくても動くよ!

単体で動くKestrelっていうWebサーバーが既定で内包されるようになってる

自分はまだWindowsサービスとして動かしたことはないけど
blazor UseWindowsService
あたりで調べれば情報出てくるはず
2022/10/12(水) 22:08:01.80ID:Ytnm6KA7
>>591
試してないけどこれでいけないか
https://www.tatlead.com/2022/03/15/Blazor-Server-as-a-Windows-Service/
594デフォルトの名無しさん
垢版 |
2022/10/13(木) 09:07:53.34ID:lwjmoNfm
EntityFramework使わずSQLと接続する方法がわからぬ…
program.csファイルにjsonファイルから文字取得するメソッド作って
他のクラスでそのメソッド呼び出してSQLと繋ぐってイメージ?
595デフォルトの名無しさん
垢版 |
2022/10/13(木) 09:12:09.76ID:lwjmoNfm
てかなんでみんなEFでAPI使った方法しか紹介しないんだろうか?
API作るのが主流なのか???
2022/10/13(木) 09:22:06.04ID:3Wf/3S4p
>>595
EFがDBのファサードになるから
なんだけどそれでもチューニングしていくと結局DBに依存するから役に立ったことないんだよね
SQLをリソースにしたりExecuteCommandのラッパーを作ったりする方が話が早い
2022/10/13(木) 10:56:07.68ID:fzJDj2RS
初めてのDB接続でEFから始める事の愚かさ...
598デフォルトの名無しさん
垢版 |
2022/10/13(木) 12:32:00.01ID:JfhtLQgc
やっぱそうだよな
configurationでappsetting.jsonの接続文字列読み取れることができたからこれ使う
2022/10/13(木) 12:48:20.55ID:3Wf/3S4p
Dapper最強
600デフォルトの名無しさん
垢版 |
2022/10/13(木) 13:09:19.80ID:JfhtLQgc
ああだめだ…
ASP.NET CoreでホストされたBlazorWebAssemblyでSharedでConnectionString取得するメソッド作ったけどクライアントの方で使えない…
どうすればいいんだ…
Serverの方で作ったクラスも参照できないし…どうしたら…
601デフォルトの名無しさん
垢版 |
2022/10/13(木) 13:13:18.44ID:JfhtLQgc
もうEFでAPI作るようにするか…
2022/10/13(木) 13:17:55.10ID:oxb0UZdv
普通にAWS に上げて
無料で使えば?
2022/10/13(木) 13:28:28.22ID:oxb0UZdv
EF は余計な事するから
Dapper で普通のsgl
のがわかりやすい
PostgreSql なら無料で使えるし
2022/10/13(木) 13:48:44.38ID:UDcXO/ME
この板限定だけどPostgreSQLを勧めるのはキチガイの印象しかない
2022/10/13(木) 14:09:27.36ID:oxb0UZdv
何か問題でも?
606デフォルトの名無しさん
垢版 |
2022/10/13(木) 14:33:07.99ID:3gX/khO/
MySQL よりはましだと思うけど。
2022/10/13(木) 14:50:13.02ID:UDcXO/ME
PostgreSQLには問題ないよ
あくまで勧めてる一人がおかしいだけ
2022/10/13(木) 17:50:39.69ID:aC9ORZDC
SQL文でいいじゃん
2022/10/13(木) 20:03:28.02ID:oxb0UZdv
Dao 作るんならEF風 に使えるし
末端のプログラマーにはSQLは
触らせない手もある
上級プログラマー以外はSQL
使うなみたいな
2022/10/13(木) 22:17:53.92ID:fzJDj2RS
>>609
ありえん...

処理を全部SQLで書かせないから(ここ強制)
処理速度が遅いわ
コードはぐちゃぐちゃだわになる
2022/10/14(金) 08:31:33.84ID:C+FpWlM3
逆だろ
書き込みは共通ルールに則って
統一されるからキレイなコードになる
2022/10/14(金) 08:44:55.47ID:t5o5qpLS
>>610
フロントエンドdisってんの?
2022/10/14(金) 10:07:51.45ID:yNZTqU3N
>>611
専属のデータベーススペシャリストのいるプロジェクトかな?

>>612
ロジックは全部APIの内側!
クライアントは表示と手続き支援のみ!
614デフォルトの名無しさん
垢版 |
2022/10/14(金) 10:14:38.81ID:WAeSut8C
BlazorをSQLで動かす件なんとかなりそう
2022/10/14(金) 12:50:05.92ID:C+FpWlM3
DbのオープンだけEFのクラス使って
Dapper入れれば普通のプロジェクトと
変わらないでしょ
616デフォルトの名無しさん
垢版 |
2022/10/14(金) 12:53:57.67ID:WAeSut8C
オープンはServer側でAppsetting.json読み取るクラス作ってそこから接続文字列読み取るようにした
SQLの操作はSystem.Data.SqlClientクラスを使ったよ
617580
垢版 |
2022/10/14(金) 12:56:41.40ID:ljWa0xD5
【エンジニア未経験】転職を成功させるWebアプリ開発の技術選定7選
www.youtube.com/watch?v=K6Us1UXI784&t=170s

この動画で、Ruby on Rails 専門学校・RUNTEQ の菊本も言ってる。
データベースはPostgreSQL、セッション管理はRedis

そもそも、Heroku もPostgreSQL だし
2022/10/14(金) 13:05:54.03ID:C+FpWlM3
AWS のオーロラdb
がポスグレでしょ
AWSでサーバー立てるなら
一番安上がり
2022/10/14(金) 13:24:37.50ID:C+FpWlM3
それだとDBの管理が面倒くさいでしょ
フレームワーク任せのが簡単
コネクトプールとかも使えるし
>>616
620580
垢版 |
2022/10/14(金) 15:59:36.54ID:ljWa0xD5
AWS Aurora は、PostgreSQL なのか?

Auroraは、MySQL および PostgreSQL と、完全な互換性がある
2022/10/14(金) 19:06:51.28ID:FA/TMT89
SQL駆使するプログラマはSQLにドメインロジック入れがち
テスト書けなくなる
2022/10/14(金) 19:58:24.89ID:X2iO9LEU
書けんぞーー
2022/10/15(土) 00:23:01.90ID:FtIui2W2
昔はPLSQLだけでwebサイト作ってる
時代もあったね
2022/10/15(土) 00:31:07.51ID:FtIui2W2
Blazor はEF使ってオープンして
スタートupでdbアクセス用のサービスを
DI化して
各クライアントのページからは
インジェクトでサービスを取り込むのが
標準のようになってる
2022/10/15(土) 11:20:22.20ID:UrLbi6Hl
>>623
ほぼオンメモリで動くあれは爆速だったな。
まだcgiが主流でようやくmod_perlが普及し始めたくらいの当時。
626デフォルトの名無しさん
垢版 |
2022/10/15(土) 17:19:39.52ID:mRrGj9Y+
Blazorの@pageルーティングでリストの数で複製させるってどうやるのでしょうか
例えばリストに1~5までがあったら
@page "/1"
@page "/2"
@page "/3"
@page "/4"
@page "/5"
ってのが自動生成されるようにしたいです
2022/10/15(土) 17:23:19.35ID:TYEHa44m
なんでクエリパラメータ使わないんだ
628デフォルトの名無しさん
垢版 |
2022/10/15(土) 17:30:16.93ID:mRrGj9Y+
@page "/{変数}"これですか?

これをどうやってリストの数字と置き換えるかに迷ってます
まさか
@foreach(int i in List)
{
@page "/{i.ID}"
}
とかにするわけじゃないですよね???
2022/10/15(土) 17:34:18.27ID:TYEHa44m
そうじゃなく/?number=1とかでいいじゃんってこと
numberそれぞれ別ページにするんじゃなく同じページじゃいかんのか?
630デフォルトの名無しさん
垢版 |
2022/10/15(土) 17:40:58.56ID:mRrGj9Y+
>>629
なるほどそういう方法もあるんですね
その場合どうやれば良いのでしょうか?
2022/10/15(土) 17:42:46.50ID:TYEHa44m
>>630
https://zenn.dev/okazuki/articles/blazor-wasm-rc1-queryparam
632デフォルトの名無しさん
垢版 |
2022/10/15(土) 17:44:02.33ID:mRrGj9Y+
>>631
ありがとうございます!
参考にします!
633デフォルトの名無しさん
垢版 |
2022/10/15(土) 18:01:02.34ID:mRrGj9Y+
これって例えばなんですけど
左のサイドバーにリストの数字が羅列されててその数字にリンクが貼ってある

サイドバー
@foreach(int i in List)
{
‹a href=$"/?{i.ID}/›
}
のときもそのサイドバーのリンク踏むだけで移動できるものなのでしょうか?
2022/10/15(土) 18:42:49.22ID:TYEHa44m
なんでやってみないの?
表示されたリンク踏んで望んだページに遷移するかをまず確かめる
望んだページでなかった場合は正しいURLをアドレスバーに打ち込んでみる
それでも遷移できなければルーティングが間違ってる
635デフォルトの名無しさん
垢版 |
2022/10/15(土) 18:51:50.63ID:mRrGj9Y+
やってみます
636デフォルトの名無しさん
垢版 |
2022/10/15(土) 20:17:29.10ID:mRrGj9Y+
できました!
ありがとうございます!
2022/10/15(土) 23:55:24.84ID:FtIui2W2
セッションストレージも使ってみてる?
638デフォルトの名無しさん
垢版 |
2022/10/16(日) 00:04:25.60ID:gvrmuHvm
セッションストレージとはなんですか?
2022/10/16(日) 02:21:27.13ID:pQ2Qb/Zl
https://learn.microsoft.com/ja-jp/aspnet/core/blazor/state-management?view=aspnetcore-6.0&pivots=server

クッキーの変わりにページ間でデータを引き渡す方法
640デフォルトの名無しさん
垢版 |
2022/10/16(日) 11:06:32.08ID:gvrmuHvm
>>639
なるほどありがとうございます
少しずつ覚えていきます
2022/10/16(日) 13:37:55.31ID:QSHH2LIm
そういやなんでコテつけるのやめたの
2022/10/17(月) 17:40:07.32ID:8kGTo5cK
他のスレで自演してるから間違えると恥ずいので
2022/10/17(月) 19:00:12.83ID:uyOLqOtj
何か変なのが居るね
644デフォルトの名無しさん
垢版 |
2022/10/17(月) 19:10:27.51ID:Srwq8VAa
.NET MAUI HighSchoolですが私のことですか?
このコテは.NET MAUI用に作ったものなので他のスレでは使わないようにしてます
2022/10/27(木) 17:48:33.08ID:eZWCpmls
server触ってるけど直接DB触れるんだな…楽だ
2022/10/27(木) 17:52:12.31ID:gHpKK6Hq
そりゃバックエンドが直接触らなきゃどこが触るんだ
2022/10/27(木) 19:25:13.82ID:hyD0q+cR
小規模な業務アプリとかだとラクでいいね
648デフォルトの名無しさん
垢版 |
2022/10/27(木) 19:28:12.52ID:lB6BITgG
大規模アプリでも静的型付けだから楽になるはずなんだけどな
2022/10/28(金) 18:55:37.18ID:3cJc8DX1
大規模でserverはパフォーマンスもやばそうだし
プレゼントテーション層でDBアクセスしたりビジネスロジック書き出すやついそう
650デフォルトの名無しさん
垢版 |
2022/11/01(火) 12:56:24.96ID:g+RP79i2
おかげさまでBlazorアプリできました
https://mauiwiki.azurewebsites.net/

最初のLoadingにアニメーションとかインジケーターとか入れたいのですが可能でしょうか?
可能であればどこに入れればよいでしょうか?
2022/11/01(火) 12:58:06.54ID:lu/ahKVe
テンプレートアップデートしろよ
自動で入るから
2022/11/01(火) 15:48:36.66ID:QVn2oMKx
おおついに!リリースおめでとう
レスを投稿する

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

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