【本命】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/04/11(日) 02:50:05.53ID:Em9gkgS+
というか、asp.net はWebページにログイン機能を簡単に実装できることが
多分一番便利なところで、Blazor WasmをLinuxの標準サーバーに配置した
場合には asp.net がバックエンドにないから、それが出来ないのではないかと
思うんだが、違うのか。
2021/04/11(日) 03:00:30.34ID:XWj7PX2h
>>354
だからAzureADやAuth0って話になってるんでしょ?
2021/04/11(日) 03:04:35.33ID:dlO5vcSm
>>357
違う。
いろいろと違う。
2021/04/11(日) 03:07:21.87ID:XWj7PX2h
そもそもASP.NETが前提とか言ってるけど、Blazor 自体ASP.NETなんだからそりゃそーだろ
Standaloneのドキュメントまでたどりついてるのに、何を読んでるんだ??
2021/04/11(日) 03:07:57.05ID:XWj7PX2h
>>357
違う
2021/04/11(日) 03:26:39.69ID:Em9gkgS+
>>359
どう違うか教えろ。
2021/04/11(日) 03:29:37.10ID:Em9gkgS+
>>358
AzureADって、月々110円のlollipopサーバーから無料で使えるの?
2021/04/11(日) 03:33:24.29ID:Em9gkgS+
asp.net MVC や、asp.net WebForms なんかは、ログイン機能がほとんど
ワンタッチで作れるように書いてあったと思う。
それはサーバーにasp.netの機能が入っているからなのだから、
lollipopみたいなサーバーに Blazor Wasmのアプリを設置しても
asp.netを使ったログイン機能は当然、簡単には実装できないよね?
2021/04/11(日) 09:16:33.53ID:Q9yH7NgY
ログイン必須じゃないSPAってないの?
2021/04/11(日) 09:16:52.47ID:cIPKVqmL
>>363
ただ認証だけなら無料だよ
2021/04/11(日) 09:18:17.97ID:cIPKVqmL
ログインもAPI通して行うことになるんだったら
はっきり言ってAPI側の実装は何だっていい
2021/04/11(日) 09:43:27.44ID:Q9yH7NgY
まとめとして
asp.netをホストする機能がなくてもポンとおいてBlazor wasmを使えるか
と言う質問にはYes
ただ便利な機能が使えないので他で代用しなくてはならないということですか?
2021/04/11(日) 09:53:31.11ID:BlxtRotJ
>>358
そうじゃない
Azure ADやAuth0のような認証サービスだけじゃなく、認証を必要とするロジックはwasmではなく必ずバックエンドで実装しなければならないということ
ASP.NETでなくてもいいけどね
2021/04/11(日) 10:38:45.90ID:XWj7PX2h
>>369
うん、だからBlazor WebAssemblyとAzureADでできるでしょって話をしているんだけど
2021/04/11(日) 10:49:12.50ID:/n4R+0/C
仮にAzureADが無料の場合があるとしても:
1. どんな規模の企業がどんな目的で使っても無料なのか?
2. ログイン機能の使い方などが、asp.netを使う場合と全く同じにできる?
2021/04/11(日) 11:00:08.61ID:/n4R+0/C
>>369
これはつまり、AzureADやAuth0 だけでは、サーバー側のコードが不足
してしまうので、サーバー側に asp.net がインストールされていてそれを
使う場合より使うのが難しくなるということだよね?
2021/04/11(日) 11:09:04.11ID:XWj7PX2h
asp.net がインストールされている??何を言ってるんだ…
2021/04/11(日) 11:09:32.64ID:XWj7PX2h
触ったらだめなキチガイだったか
2021/04/11(日) 11:18:11.71ID:/n4R+0/C
「asp.net がインストール」ではなく「.netがインストール」かも知れない。
https://docs.microsoft.com/en-us/aspnet/core/blazor/host-and-deploy/webassembly?view=aspnetcore-5.0

The following deployment strategies are supported:
1. The Blazor app is served by an ASP.NET Core app. This strategy is covered in the Hosted deployment with ASP.NET Core section.
2. The Blazor app is placed on a static hosting web server or service, where .NET isn't used to serve the Blazor app. This strategy is covered in the Standalone deployment section, which includes information on hosting a Blazor WebAssembly app as an IIS sub-app.

2の方は「where .NET isn't used to server the Blazor app」である場合ということ。
.NETでserveされていなければ、サーバー側がasp.netに対応してないんだから、
ログイン認証機能も本来の使い方が出来ないのでは?
376デフォルトの名無しさん
垢版 |
2021/04/11(日) 11:22:02.59ID:/n4R+0/C
https://creativeweb.jp/code/aspdotnetcore-linux#step-1.net-core

によれば、「ASP.NET Core アプリを Linux サーバーで公開」するためには、
.NET Core を Linux サーバー内に ssh などを使ってインストールしないと
いけないようだ。
2021/04/11(日) 11:37:15.99ID:syn0hQCz
珍しい
すごい伸びてるじゃないか
(会話の内容は俺には分からんけど)
2021/04/11(日) 13:27:41.89ID:1cW0EbU+
>>377
喋るおもちゃが来るとスレは伸びるのです
2021/04/11(日) 13:31:04.68ID:Q9yH7NgY
無礼度 ★☆☆☆☆
2021/04/11(日) 13:40:54.19ID:/n4R+0/C
>>368
・Blazor Wasmアプリ自体は、プレーンなLinuxレンタルサーバーにも設置可能。
・asp.netが使えるサーバーだとログイン認証機能をWebアプリに簡単に
 導入できるが、プレーンなLinuxレンタルサーバーからのBlazor Wasmアプリ
 だと無理。
・Linuxレンタルサーバーでasp.netを使うためには、.net core のインストールが
 必要となり、lollipopではストレージ容量が少ないことと、権限の問題のために
 無理。
2021/04/11(日) 14:22:09.97ID:XWj7PX2h
だから嘘は良くないってのに
2021/04/11(日) 14:22:50.49ID:XWj7PX2h
だめだこいつ
2021/04/11(日) 14:27:56.11ID:/n4R+0/C
>>381
どう嘘なのか書いてください。
2021/04/11(日) 14:30:13.75ID:XWj7PX2h
何度も書いてる
Blazor WebAssemblyでもAzureADやAuth0みたいなIDaaSと組み合わせれば認証ロジック組めるし、既にそのドキュメントも>>340で上げられている
2021/04/11(日) 14:31:15.89ID:XWj7PX2h
「asp.netが使えるサーバー」って時点で既にわけがわからない。Blazor もASP.NETなんだが?
2021/04/11(日) 14:32:10.06ID:XWj7PX2h
「簡単」かどうかなんて主観と本人のスキル次第
2021/04/11(日) 14:33:15.25ID:XWj7PX2h
「ASP.NET」が何を意味しているのかってとこから勉強し直しなさい
2021/04/11(日) 14:36:06.63ID:NiCXe+AT
ドキュメントまでたどり着いてるのに、なぜできないと思いこんでるんだろこいつ
2021/04/11(日) 14:51:32.01ID:/n4R+0/C
では逆に聞きますが、Blazor Wasmは、Azureサーバーや
.NET Coreが使えるサーバーに設置しても Linux サーバーに
設置した場合と比べて、機能的な優位性が全くないということでいいのですか?
2021/04/11(日) 15:21:54.22ID:XWj7PX2h
1 Azureサーバー
2 .NET Coreが使えるサーバー
3 Linux サーバー

この3つは具体的に何を指してるんだ?互いに排反な例を出してくれよ
2021/04/11(日) 15:24:26.34ID:XWj7PX2h
Linuxサーバーでも.NET Coreがサポートしているディストリビューションとそうでないものがあるし…Azureサーバーに至っては何を指してるかさっぱりわからん。
Blazor なんかに手を出す前に、もっと基本的な知識をつけた方がいいんじゃないのかい?
2021/04/11(日) 15:37:43.66ID:8VpJBhqb
ガレージ車と青い車に比べて、車の利点は何ですか?みたいな聞き方されてもなw
2021/04/11(日) 15:43:17.42ID:riIuKi3U
>>392
普段車に乗ってる俺でも例えがさっぱり分からん
2021/04/11(日) 15:46:22.67ID:8VpJBhqb
>>393
車と青い車のどっちがいい?って言われても互いに排反じゃないから答えられないでしょ?
ガレージ車なんて言われても、何のこと指してるかわからないでしょ?
2021/04/11(日) 15:55:29.33ID:/n4R+0/C
では、もう少し正確に質問します:
「では逆に聞きますが、Blazor Wasmは、.NET が使えるサーバーに設置しても
.NETが使えないLinux サーバーに設置した場合と比べて機能的な優位性が全く
ないということでいいのですか?」
2021/04/11(日) 16:00:28.81ID:XWj7PX2h
誰が全くないだなんて言ったの?
2021/04/11(日) 16:06:41.00ID:XWj7PX2h
質問中の.NETは.NET5以降の話をしているっていう前提で言うと、わかりやすい例はBFFとか?
まあ同じ言語で自由にWeb API書いてデプロイできる環境があるってだけでも大きなメリットだと思うけど?
2021/04/11(日) 16:37:20.09ID:/n4R+0/C
>>397
そんなものだけのためにMSクラウドが使われているということ?
2021/04/11(日) 16:41:17.52ID:XWj7PX2h
なぜそうなった
2021/04/11(日) 16:42:55.11ID:XWj7PX2h
どういう思考回路でそうなったのか誰か解説してくれ…
2021/04/11(日) 17:09:07.19ID:/n4R+0/C
クラウドって、開発言語との親和性以外の売りが理解できない。
サーバーのスケーリングが必要になるほどの大事業ってそんなにあると
は思えないんだが。
2021/04/11(日) 17:10:51.83ID:cIPKVqmL
単に認証ができればいいだけなら
確かにサーバー側には認証ロジックいらないけど
ユーザーごとになにか制限かけるとか
ユーザーごとにデータ保存するとかなら
その当たりのロジックは必要

でも実装はasp.net core である必要はなくてphpでもいい
2021/04/11(日) 17:13:33.77ID:1cW0EbU+
MSクラウドってAzureのことなのかな?
Azureでクラウド構築っていうならASP.NETが選択肢になるのは当然だし
何の話してんのか分かんないよね
2021/04/11(日) 17:45:55.88ID:/n4R+0/C
>>402
出来る出来ないの問題ではやる方法はいくらでもあるのは当然ではあるが、
asp.netにおいてはログイン認証機能をアプリにつけるのがとても簡単に出来る
ことが売りの一つであったはずなんだ。
2021/04/11(日) 17:54:18.93ID:/n4R+0/C
認証が簡単に出来ると思ったら大間違いだぞ。
phpで認証するとしても、最初から出来ているソースコードを使うならいいが、
自分で作るのはプログラミング力だけでなく、数学や暗号、ロック技術、
ハッキング対策などすべてに詳しい人でないと駄目なんだぞ。
2021/04/11(日) 17:56:58.83ID:/n4R+0/C
>>405
例えば、認証の途中でいろいろな理由により回線やプログラムがダウンする可能性
もあるので、そうなった時でもデータがおかしくならないようにするとか、
普通、さまざまな人の情報が書かれた1つのファイルを全員で共有するしかないので、
一人でも書き損じたら全員のデータがクラッシュしてしまう可能性があるし、
かなり難しいぞ。
2021/04/11(日) 18:04:10.45ID:cIPKVqmL
>>405

AzureADで認証されていないアクセスがきたら
そっちで認証するよう誘導するだけだろ
2021/04/11(日) 18:05:44.28ID:XWj7PX2h
もうNGにしたわ
2021/04/11(日) 18:41:15.51ID:9ef64+I3
ASP.NETなんてもうマジで要らない
こんなの流行る訳無いんだよね
.NETを利用しないフロントがHTML,CSSでコードがC#のシステムにしてくれよって思う
2021/04/11(日) 19:07:12.69ID:Q9yH7NgY
自分としてはID:XWj7PX2hが変なことを言ってるようにしか見えないんだけど
asp.netが何かとか逆に聞きたいなと
2021/04/11(日) 19:13:33.99ID:/n4R+0/C
ログイン認証は、自分で作ると物凄く大変だし、プログラムの修正中に
僅かなミスで全顧客のデータを全て消失してしまう可能性も有る。
だから、アプリとはプロセスを分離したりして超安定状態にすることも必要
かと思われるので、企業が使うレベルのものを自作するのは物凄く大変。
その意味で、asp.netで一番大切なのはログイン認証なのではないかと思ったりする。
Ruby on Railsでもログイン認証が出来るし、Word PressもPayPalと連携して購入者
の記録を残せたりするが、そういうことが出来たから沢山使われたのではないかと
思う。ログイン認証は技術的にとても高度。
2021/04/11(日) 19:16:14.68ID:Q9yH7NgY
Kestrelの扱いをどうとらえるかと言う問題なのにap.netがどうとか言い出して本質がおかしく見える
静的なサイトでnginx apacheでサービス提供してる場合とかも無視だし
何も参考にならないのに延々とレスしてる
2021/04/11(日) 19:27:14.75ID:/n4R+0/C
FATファイルシステムとかでも、個々のファイルは重ならないセクタに記録されて
いるので、新しいファイルの書き込み中にOSがダウンしても古いファイルは残る
(クラスタの番号の連鎖を管理しているFAT自体は、すべてのファイルのものが
1つのセクタに12BITずつ書かれるので危険ではあるが)。
すべての顧客情報を1ファイルに記録するとなると、セクタの分離もないので
cgiやバックエンドのプログラムが一回でもバグると全顧客情報が破損してしまう。
MySQLなどを使っても、その恐怖は果たして回避できるのだろうか?
2021/04/11(日) 19:39:18.73ID:XWj7PX2h
>>410
何が変なの?
2021/04/11(日) 19:40:19.76ID:XWj7PX2h
asp.netをインストールとかわけわからんこと言ってるやつがいるんやで
2021/04/11(日) 19:44:44.51ID:8VpJBhqb
>>412
そうそう、Blazor WebAssembly+AzureADでユーザー認証できるよってドキュメントまで出てるのに、asp.net のインストールとかAzureサーバーとか言い出してわけわからんよね
2021/04/11(日) 19:44:57.57ID:/n4R+0/C
>>415
それはasp.netの事を知らなかったからそう書いてしまっただけ。
.net coreでもインストールしておけばasp.netは使える様になるんだよね、多分。
2021/04/11(日) 20:35:11.65ID:cIPKVqmL
>>416
まぁできても意味ないけどな

サーバーとデータのやりとりするのに
サーバー側で認証管理するロジックは必要だし。

認証なしのデータ読みとり書き込み可能なAPI公開するなら
最初から認証なんていらないんじゃない?
って話だし

結局サーバ側にサービスプロバイダーは必要
ただし実装は何でもいい
2021/04/11(日) 20:43:51.43ID:cIPKVqmL
>>395
webassemblyで作るなら作ったものの機能的な優位性はない
ただし開発効率は高いはず
2021/04/11(日) 20:47:50.17ID:XWj7PX2h
>>418
だからAzureADなんでしょ?
2021/04/11(日) 22:07:03.96ID:ctQg4gWa
やっぱこのレベルがBlazorユーザーだったか...
2021/04/12(月) 01:14:49.41ID:Y2M+lEWn
違うな
プログラマなんてこんなレベルがほとんど
2021/04/12(月) 01:57:04.08ID:1xIwm1aP
>>418
そういえば、仮にcore-serverに自作プログラムを設置して、別サーバーにある
AzureADで認証した場合、core-serverの中のデータベースにアクセスする権限
はいったいどうやって管理するんだろう。
AzureADで認証済みであることをcore-serveを間違いなく確実に知ることが
必要となるが。
AzureADのサーバーからバックボーンのインターネットによってcore-server
に情報を伝達するんだろうか。
2021/04/12(月) 02:16:45.93ID:BPMzop8r
アプリに直接認証機構を組み込むのではなく、前段のリバースプロキシで認証をかけてアプリ側は認可情報だけを受け取るのがベターだね
Azureは糞なので間違っても採用してはいけないが、アプリもAzureでホストするなら一応ノンプログラミングでそれができる
2021/04/12(月) 02:28:47.68ID:qCZg3p1W
君はAWSの中の人なのかい?
2021/04/12(月) 02:32:15.21ID:1xIwm1aP
>>424
例えば、アプリをレンタルサーバーに設置して、リバースプロキシを
同じレンタルサーバーにインストールして動作させることは可能なんでしょうか。
2021/04/12(月) 08:13:27.92ID:1jyIqj6e
>>423
サーバーアプリケーション側で
実際にその認証情報が正しいものかを
Identity Provider(例えば azureAD)に問い合わせる
2021/04/12(月) 10:24:54.11ID:o1bf8P7D
事前に入手した鍵で認証トークンを検証するだけ
2021/04/12(月) 11:19:25.31ID:1xIwm1aP
>>427
Google や Twitter の account をいろいろなサイトのサインインに使える
ことがあるけど、それも似た仕組み?
あれって無料なのかな?
2021/04/12(月) 11:34:15.71ID:1jyIqj6e
>>429
同じ
2021/04/12(月) 11:40:18.77ID:1xIwm1aP
でもasp.net mvc や asp.net WebFormsならログイン認証は全くプログラム
せずに最初から出来る様になっているのと比べたら全然違う。
2021/04/12(月) 13:04:20.31ID:3TTPFD5V
>>429
GoogleとかFirebaseの認証を
自前アプリに組み込んで見たら。
2021/04/12(月) 13:08:19.97ID:3TTPFD5V
>>431
ログイン認証の方式とか
弱いのから強いのまで様々ある。
実装方法もまるで違う。

まあ、プロなら認証機構を自前で実装するのはさけるね。
ハッキングの対応に追われる事必死だから。
2021/04/12(月) 16:32:27.51ID:1xIwm1aP
>>433
外人が作った作った認証APIをちゃんと理解して自分でプログラムから
呼び出して使うのもまた難しそう。
2021/04/12(月) 16:35:13.63ID:1xIwm1aP
外人が作った認証APIは理解するのが難しいので、使い方や設定を間違ってしまって
テストでは動くが気づかないセキュリティーホールが入ってしまっていたりなんか
しないか心配だ。
2021/04/12(月) 16:46:51.69ID:27nLnmGr
脳に不具合のある人でなければ大丈夫
2021/04/12(月) 16:48:09.17ID:3TTPFD5V
>>435
自分作って
ついでにセキュリティーホール作って
賠償問題になるよかまし。
2021/04/12(月) 17:07:16.61ID:1xIwm1aP
自分で作らなくても、ちょっと設定を間違うだけで訴訟問題になったりして。
2021/04/12(月) 17:09:34.61ID:1xIwm1aP
間違っていてもテストでは分からないところが怖い。
AzureADやGoogleの認証とかはソースが大きすぎて読んでも理解するのは
難しいだろうし、結局こっちの使い方が間違っていてもテストでは動作する
から、使い方の間違いに気づく可能性は低い。
2021/04/12(月) 19:40:07.06ID:3TTPFD5V
全く認証がわかってない人の言葉とは思えん。
2021/04/12(月) 20:18:23.59ID:W7wQgW72
大きな問題になるような現場ならMSなりのサポートにちゃんと聞くか入ってもらうんじゃね
自前が怖いは同意
2021/04/13(火) 17:34:30.81ID:scp/O+nj
>>441
逆に小さな現場では確実に正しく使いこなすのは難しい。
2021/04/14(水) 16:48:15.69ID:xf0C3kxt
>>423
SAMLだとAD側で動的セキュリティグループで認証は絞り込める
属性による認可はSAMLオーソリティを読み込んで実装する
意外とSAMLの属性のデバックとか面倒くさい
2021/05/02(日) 13:03:47.23ID:JJ8huCze
サーバーサイドとクライアントサイドの使い分け基準がよく分からん…
素人感覚だとサーバーサイド方が需要高いのかなと思ったけどブログや記事見るとそんなことなさそうだよね
2021/05/03(月) 10:47:16.57ID:XJTUjho8
azureとか通信量で重量課金になるようなところでホストするなら
WebAssemblyかなぁ
アプリはそんなに頻繁に更新しないという前提が必要だけど。

サイトのアクセス数が多くて
利用の仕方が長時間接続したままになるんだったら
WebAssemblyかなぁ
2021/05/05(水) 21:52:25.91ID:bFSIIS5H
>>445
後者がServerって理解でいい?
2021/05/05(水) 22:07:49.05ID:wt31bFvh
>>444
至るところに書いてあるけど何がわかんないの?
2021/05/18(火) 21:13:31.28ID:Gzn0lE0/
それって無礼じゃないですかぁ
2021/05/19(水) 10:16:47.89ID:BIRmA78o
サーバーサイドの方がセキュリティの設定が楽
we assemblyのがクライアントサイドで動くから速いと言われてるけど
サーバーサイドでもそんなに問題なく動く
2021/05/19(水) 20:34:34.27ID:NeVz061v
海外に拠点がある会社が作ってるUIコンポーネントのデモサイトとか目に見えて遅いけどな
クリックして数秒待たされる感じ
自社内でしか動かないお手軽サイトならいいとおもうけど。
2021/05/19(水) 21:53:18.50ID:7ZLJ85I8
やっぱり存在意義が微妙と言うか終わってますね
ネタとしても良くない
ここにリソースを割くべきじゃない
2021/05/20(木) 07:43:13.13ID:GYiOA1/V
>>451
このスレの話?
2021/05/20(木) 11:59:27.55ID:lrVETqiu
Amazon EC2 にアップしてみた
スマホからでもサクサク動くけど?
2021/05/20(木) 12:15:47.70ID:mUmDXtGJ
そら簡単なのが
サクサクじゃなかったら、
終わる前に余に出せないでしょ。
2021/05/20(木) 12:31:11.46ID:lrVETqiu
一応postgrelSQL
で読み書きして
Gridも大きいの表示して見たけど
行メンテとかも問題無いし
Popup画面も数画面使って見たけど
今のところ問題無いレベルで動作する
2021/05/20(木) 13:14:22.36ID:mUmDXtGJ
>>455
そういう簡単すぎるのはね。

ためしに、グリッド上で
マウスカーソルの下にあるセル位置を取得して、

そのセルの情報を
グリッド外にある別の領域に
リアルタイム表示とかやってみたら?
2021/05/20(木) 13:28:00.99ID:lrVETqiu
一応漢字入力したのを
カナ変換ロジックを使って
別のテキストに表示してみたけどね
レスを投稿する

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

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