X



【本命】Blazor スレ2【真打】
0001デフォルトの名無しさん
垢版 |
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/
0582デフォルトの名無しさん
垢版 |
2022/10/11(火) 17:12:21.47ID:qiIej6xr
3大データベースて

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

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

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

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

自分はまだWindowsサービスとして動かしたことはないけど
blazor UseWindowsService
あたりで調べれば情報出てくるはず
0594デフォルトの名無しさん
垢版 |
2022/10/13(木) 09:07:53.34ID:lwjmoNfm
EntityFramework使わずSQLと接続する方法がわからぬ…
program.csファイルにjsonファイルから文字取得するメソッド作って
他のクラスでそのメソッド呼び出してSQLと繋ぐってイメージ?
0595デフォルトの名無しさん
垢版 |
2022/10/13(木) 09:12:09.76ID:lwjmoNfm
てかなんでみんなEFでAPI使った方法しか紹介しないんだろうか?
API作るのが主流なのか???
0596デフォルトの名無しさん
垢版 |
2022/10/13(木) 09:22:06.04ID:3Wf/3S4p
>>595
EFがDBのファサードになるから
なんだけどそれでもチューニングしていくと結局DBに依存するから役に立ったことないんだよね
SQLをリソースにしたりExecuteCommandのラッパーを作ったりする方が話が早い
0598デフォルトの名無しさん
垢版 |
2022/10/13(木) 12:32:00.01ID:JfhtLQgc
やっぱそうだよな
configurationでappsetting.jsonの接続文字列読み取れることができたからこれ使う
0600デフォルトの名無しさん
垢版 |
2022/10/13(木) 13:09:19.80ID:JfhtLQgc
ああだめだ…
ASP.NET CoreでホストされたBlazorWebAssemblyでSharedでConnectionString取得するメソッド作ったけどクライアントの方で使えない…
どうすればいいんだ…
Serverの方で作ったクラスも参照できないし…どうしたら…
0601デフォルトの名無しさん
垢版 |
2022/10/13(木) 13:13:18.44ID:JfhtLQgc
もうEFでAPI作るようにするか…
0603デフォルトの名無しさん
垢版 |
2022/10/13(木) 13:28:28.22ID:oxb0UZdv
EF は余計な事するから
Dapper で普通のsgl
のがわかりやすい
PostgreSql なら無料で使えるし
0606デフォルトの名無しさん
垢版 |
2022/10/13(木) 14:33:07.99ID:3gX/khO/
MySQL よりはましだと思うけど。
0609デフォルトの名無しさん
垢版 |
2022/10/13(木) 20:03:28.02ID:oxb0UZdv
Dao 作るんならEF風 に使えるし
末端のプログラマーにはSQLは
触らせない手もある
上級プログラマー以外はSQL
使うなみたいな
0610デフォルトの名無しさん
垢版 |
2022/10/13(木) 22:17:53.92ID:fzJDj2RS
>>609
ありえん...

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

>>612
ロジックは全部APIの内側!
クライアントは表示と手続き支援のみ!
0614デフォルトの名無しさん
垢版 |
2022/10/14(金) 10:14:38.81ID:WAeSut8C
BlazorをSQLで動かす件なんとかなりそう
0615デフォルトの名無しさん
垢版 |
2022/10/14(金) 12:50:05.92ID:C+FpWlM3
DbのオープンだけEFのクラス使って
Dapper入れれば普通のプロジェクトと
変わらないでしょ
0616デフォルトの名無しさん
垢版 |
2022/10/14(金) 12:53:57.67ID:WAeSut8C
オープンはServer側でAppsetting.json読み取るクラス作ってそこから接続文字列読み取るようにした
SQLの操作はSystem.Data.SqlClientクラスを使ったよ
0617580
垢版 |
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 だし
0619デフォルトの名無しさん
垢版 |
2022/10/14(金) 13:24:37.50ID:C+FpWlM3
それだとDBの管理が面倒くさいでしょ
フレームワーク任せのが簡単
コネクトプールとかも使えるし
>>616
0620580
垢版 |
2022/10/14(金) 15:59:36.54ID:ljWa0xD5
AWS Aurora は、PostgreSQL なのか?

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

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

サイドバー
@foreach(int i in List)
{
‹a href=$"/?{i.ID}/›
}
のときもそのサイドバーのリンク踏むだけで移動できるものなのでしょうか?
0634デフォルトの名無しさん
垢版 |
2022/10/15(土) 18:42:49.22ID:TYEHa44m
なんでやってみないの?
表示されたリンク踏んで望んだページに遷移するかをまず確かめる
望んだページでなかった場合は正しいURLをアドレスバーに打ち込んでみる
それでも遷移できなければルーティングが間違ってる
0635デフォルトの名無しさん
垢版 |
2022/10/15(土) 18:51:50.63ID:mRrGj9Y+
やってみます
0636デフォルトの名無しさん
垢版 |
2022/10/15(土) 20:17:29.10ID:mRrGj9Y+
できました!
ありがとうございます!
0638デフォルトの名無しさん
垢版 |
2022/10/16(日) 00:04:25.60ID:gvrmuHvm
セッションストレージとはなんですか?
0640デフォルトの名無しさん
垢版 |
2022/10/16(日) 11:06:32.08ID:gvrmuHvm
>>639
なるほどありがとうございます
少しずつ覚えていきます
0644デフォルトの名無しさん
垢版 |
2022/10/17(月) 19:10:27.51ID:Srwq8VAa
.NET MAUI HighSchoolですが私のことですか?
このコテは.NET MAUI用に作ったものなので他のスレでは使わないようにしてます
0648デフォルトの名無しさん
垢版 |
2022/10/27(木) 19:28:12.52ID:lB6BITgG
大規模アプリでも静的型付けだから楽になるはずなんだけどな
0649デフォルトの名無しさん
垢版 |
2022/10/28(金) 18:55:37.18ID:3cJc8DX1
大規模でserverはパフォーマンスもやばそうだし
プレゼントテーション層でDBアクセスしたりビジネスロジック書き出すやついそう
0650デフォルトの名無しさん
垢版 |
2022/11/01(火) 12:56:24.96ID:g+RP79i2
おかげさまでBlazorアプリできました
https://mauiwiki.azurewebsites.net/

最初のLoadingにアニメーションとかインジケーターとか入れたいのですが可能でしょうか?
可能であればどこに入れればよいでしょうか?
0653デフォルトの名無しさん
垢版 |
2022/11/01(火) 19:04:02.61ID:IlsQmB6P
>>651
そうなんですか
ありがとうございます!
0654デフォルトの名無しさん
垢版 |
2022/11/01(火) 19:04:19.40ID:IlsQmB6P
>>652
ありがとうございます!
色々迷惑かけました
0656デフォルトの名無しさん
垢版 |
2022/11/01(火) 23:18:03.65ID:UMY/AZeU
機能/操作性はおいといて
ロード長すぎ(つかWebアプリならロード時間不要)
パフォーマンス悪すぎやな
0657デフォルトの名無しさん
垢版 |
2022/11/02(水) 18:35:00.44ID:pdWCrKLR
2回目でも更新されてたらまたロード長いからなぁ。
表示が始まるまで7-8秒からかかり、
表示された後も数秒ロードw

5秒過ぎだら毎日1億アクセスあるようなサイト以外
殆どの人はバックボタン押すからな。
0658デフォルトの名無しさん
垢版 |
2022/11/02(水) 18:47:41.03ID:D1786yjH
自分は新サービスたぶんそんなに人使わないと踏んで
Blazor Serverを選んだけど
毎日1血�Aクセスで想鋳闥ハりだわ(遠い目)
0659デフォルトの名無しさん
垢版 |
2022/11/02(水) 20:14:34.39ID:3myhoPRx
そのロード負荷(精神的な)を減らすためにアニメーションとかあればいいなぁと思ってる
初っ端のチュートリアルみたいなやつだけでもjsとHTMLとCSS使って表示させとくとか
まぁできないかもしれんけど
0662デフォルトの名無しさん
垢版 |
2022/11/03(木) 00:34:06.16ID:LxUg3x+6
>>661
ふむふむ…
0663.NET MAUI HighSchool
垢版 |
2022/11/28(月) 00:22:05.78ID:5evmxUdI
ASP.NETにホストされたWebAssemblyでのIISデプロイの仕方がわから~ん
なんでか発行するとエラーが出てできないんだが…
0664.NET MAUI HighSchool
垢版 |
2022/11/28(月) 23:28:55.51ID:5evmxUdI
IISにはデプロイできてlocalhostでは開けるのにそのサーバーのIPアドレスと任意ポートでアクセスしようとしたらダメだった…
0669デフォルトの名無しさん
垢版 |
2022/12/01(木) 12:25:14.41ID:tmAWPnva
>>665
自分が読み違えているかもだけど、
エイプリルフール用アプリをBlazorServerで作ったんじゃなくて、社内で使う開発用ツールをBlazorServerで作ったんじゃないの?

社内で使うようなツールはServerで作った方が楽ちんってことよね
ユースケース的にも合致してて納得
不特定多数の人が使うようなものをServerで作っちゃうとリソース爆食い
0670デフォルトの名無しさん
垢版 |
2022/12/01(木) 15:25:21.01ID:w8HrsGmg
>>669の理解で合ってると思う
CysharpってC#使うための会社なのに、そのCysharpですら社内ツールにしかBlazor使ってないということにむしろ驚くわ
0671デフォルトの名無しさん
垢版 |
2022/12/01(木) 18:08:26.67ID:tmAWPnva
>>670
wasm自体、使い所がゲームか業務システムくらいだし
CySharpも謹製のマジックオニオンがまだBlazorWasmに対応してない(未来永劫対応しないかもしれない)ので、
ブラウザで動くゲームは公開しないんじゃないかな

自分はコテコテのSIerなので、業務システムをBlazorで作ってみたい気持ちもあるけど
つぶしが効かなさそうなので二の足踏んでる
0672デフォルトの名無しさん
垢版 |
2022/12/01(木) 18:16:13.79ID:e4s3R8o7
wasmはたまに使うんだけど、c#から書き出したものはまだちょっと時期尚早かなぁ。
BlazorはクラシックASPみたいにサーバがジリ貧になりそうなので怖いわ。
0673.NET MAUI HighSchool
垢版 |
2022/12/01(木) 19:44:47.90ID:gyxRCeiU
>>671
潰し聞くだろ
C#だぞ?
0674.NET MAUI HighSchool
垢版 |
2022/12/01(木) 19:48:58.10ID:gyxRCeiU
使ってみればわかるけどReactよりも直感的になったブラウザでもC#を使えるようになる技術だぞ?
潰しとかどうこうじゃなくね?
普通にC#やってれば使えるしBlazorだけでなくてもバックエンドでもデスクトップでもモバイルでも活用できるだろ
0676.NET MAUI HighSchool
垢版 |
2022/12/01(木) 19:50:29.24ID:gyxRCeiU
ださとは?
0677デフォルトの名無しさん
垢版 |
2022/12/01(木) 21:50:22.78ID:DAQKbUez
>>673
C# ができるのと、Blazorができるのはまた違うだろ
0678.NET MAUI HighSchool
垢版 |
2022/12/01(木) 22:44:53.80ID:gnItARk1
>>677
そうか?
ほぼC#のようにBlazorアプリ作ったけど
0679デフォルトの名無しさん
垢版 |
2022/12/01(木) 22:54:37.99ID:RNOJ/4wp
>>678
極端な話Unityいじっててインターフェースの概念すら知らない人もC#経験者に含まれてくるからね
分けて考えておくのが吉かと
0680デフォルトの名無しさん
垢版 |
2022/12/01(木) 22:57:55.78ID:MXBkvJK6
SPAをやるならReactやSvelte等のJSフレームワークの方が圧倒的に潰しがきくのは厳然たる事実なんで、低レベルな議論は虚しいだけだぞ
BlazorはAPIの実装とか面倒なことをしないで従来のWebFormsのように社内ツールをお手軽に作れる技術であり、それ以上でも以下でもない
0681.NET MAUI HighSchool
垢版 |
2022/12/02(金) 06:56:10.75ID:U1M6c8RR
C#使えるなら覚えといて損はないと思うけどな
0682デフォルトの名無しさん
垢版 |
2022/12/02(金) 07:31:32.55ID:phtRSeYc
そりゃなんでも覚えたら損はしないけど時間は有限なのだ。
自分が個人的に何かWebサービス作るならBlazor wasm使うけど、会社で若手に習得させるフロント技術を選択せよとなったらReact選ぶわ。
レスを投稿する


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