Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
私の考える初学者がBlazorできるまでの学習方法
Search
tomokusaba
August 23, 2024
Programming
760
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
私の考える初学者がBlazorできるまでの学習方法
私の考える初学者がBlazorできるまでの学習方法
.NETラボ 勉強会 2024年8月
https://dotnetlab.connpass.com/event/326381/
tomokusaba
August 23, 2024
More Decks by tomokusaba
See All by tomokusaba
Azure Copilot Resiliency Agentをいろいろ試してみる
tomokusaba
0
150
30代後半からでも遅くないキャリア形成
tomokusaba
0
310
GitHub Copilotで書いたコード、レビューはどうしてる?
tomokusaba
0
66
Azure CAFで考えるAIエージェント導入の進め方
tomokusaba
1
130
GitHub Copilot app時代の開発フロー
tomokusaba
0
89
オートマトンと字句解析でRoslynを読む
tomokusaba
0
180
GitHub Copilot appとGitHub Copilot CLIとVS CodeのCopilot Chat Agent Modeの使い分け
tomokusaba
0
230
GitHub Copilot app最速の発信の裏側
tomokusaba
1
610
自宅サーバの変遷
tomokusaba
0
960
Other Decks in Programming
See All in Programming
スマートフォンでモールス信号を送受信する 〜スマートフォンのLEDとカメラで作る光通信の設計と実装〜
atsuki_seo
0
230
RAG の “R” を Swift で覗いてみる 〜「意味から探す」検索の仕組み〜
nao_randd
0
120
When benchmarks go bad - what I learned from measuring performance wrong
hollycummins
0
140
更なる可用性を求めて、5年間運用したKotlinのアプリケーションをGoでリプレイスする話
ken_tunc
0
440
JRuby: Past, Present, and Future
headius
0
220
Apple Intelligence を用いた個人情報誤送信防止、及びユーザーリクエスト体験の改善について
yukiny
0
310
Webの地図
yosuke_furukawa
PRO
6
5.1k
Are APIs Still Relevant in the AI Era?
soyuka
0
420
なぜCTOを降りてFDEを選んだのか?〜なぜプロダクト企業がFDEで顧客の現場に踏み込むのか〜
gonta
1
150
APNsからLive Activityを開始する話
yumnumm
0
150
JAWS-UG 東京支部が始める、JAWS-UG支部コラボ / JAWS-UG lunchtime LT Collaboration
y0hgi
0
180
SREの越境 / SRE Collaboration
y0hgi
2
300
Featured
See All Featured
Building Applications with DynamoDB
mza
96
7.2k
Statistics for Hackers
jakevdp
799
230k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
33
5.1k
Believing is Seeing
oripsolob
1
240
Balancing Empowerment & Direction
lara
6
1.3k
The Cost Of JavaScript in 2023
addyosmani
55
10k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
440
Test your architecture with Archunit
thirion
2
2.4k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
The World Runs on Bad Software
bkeepers
PRO
72
12k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
340
Transcript
私の考える初学者がBlazorで きるまでの学習方法 株式会社SAKURUG プロダクトDiv 草場 友光 .NETラボ勉強会2024年8月
自己紹介 • コミュニティ活動を通じて知識をアッ プデートしています。 • 2022/08-2025 Microsoft MVP (Developer Technologies)
• tomo_kusaba
宣伝 【VISION】ひとの可能性を開花させる企業であり続ける VISIONに共感できる仲間募集中。
注意 • 個人の見解・解釈が多分に入っています。 • 見解の相違・事実誤認などありましたらご指摘ください。 • #dotnetlabでtweetすると左側に表示されます
今日の目的 • Blazorはとても有用なWebフレームワークです。 • Blazorで開発できるようになるまでC#初心者を想定してどの ような学習コンテンツで学習したらよいか? • どのように学習するとより知識が定着しやすいかを紹介しこれか らBlazorでバリバリ開発するぞという方の助けになればと思い ます。
流れ • C#の文法の学習 • .NETの学習 • ASP.NET Coreの学習 • Blazorの学習
• (Option)EntityFremeCoreの学習 • (Option)Fluent UI Blazorの学習 • (Option)NUnit • (Option)Playwright
学習のポイント その1 • コードはコピペしない! • 必ず、キーボードで1字1字入力しましょう • 実際、コピペした人と、写経した人ではのびが違います!
学習のポイント その2 • コードは動かしてみよう • 自分なりに工夫していじってみよう
C#の学習 • 独習C#
続・C#の学習 • https://learn.microsoft.com/ja- jp/collections/7q6yuyx4kq6q10
続続・C#の学習 • https://ufcpp.net/study/csharp/ • C#1.0~C#最新までの新機能をおさらい →基本的に新しい言語機能が正義!
.NETの学習 • Microsoft Learnでどうぞ • https://learn.microsoft.com/ja- jp/collections/xjrpco5z5ewgej
.NETの学習ポイントその1 • 日付時刻の取り扱い • クラウドにホストする場合はUTCでの取り扱うのが基本 • 表示時にJTCに変換する必要あり(UTC⇔JSTについて確認) • . NET
8で追加された時間抽象化(TimeProvider)についての取り扱 いについて確認
.NETの学習ポイントその2 • カルチャーに依存したライブラリについての認識 • Stringクラスに特に多くカルチャー依存したメソッドが数多く存在します。 • ローカルとクラウドで実行結果が異なることがあります。 • Strings.StrConvのように日本ローケルやアジアローケール以外でそも そも実行不可な列挙体メンバーによってはメソッドもあります。
.NETの学習ポイントその3 • 汎用ホスト(Generic Hosts) • ASP.NET Coreの汎用ホストにも続く基礎的な内容 • 以下の機能を提供することは全く変わらないので抑えておくこと •
DI機構 • ログ • 構成 • IHostedServiceの実装
汎用ホストについて参考 • .NETラボでも過去汎用ホストについて何回も語られています • .NETラボ勉強会2022年8月 .NET Core Options Pattern(髙尾 哲朗)
• .NETラボ勉強会2022年9月 汎用ホストをいろいろカスタマイズして みる(髙尾 哲朗) • .NETラボ勉強会2022年10月 ASP. NET Core 汎用ホスト概要(草 場 友光) • .NETラボ勉強会2022年12月 .NET 汎用ホスト(Generic Host)っ てなにもの?(高萩 俊行(とっちゃん))
ASP.NET Coreの学習 • Microsoft Learnでどうぞ
続・ASP.NET Coreの学習 • 空のプロジェクトから始めるBlazor • https://youtu.be/8Uy4QfF9wQY?si=9Lakuuqej3D d3ys0
ASP.NET Coreの学習のポイント • 汎用ホストを侮るな • 過去、.NETラボ勉強会でも何回も取り上げられているとおり重 要ポイントです。 • 特に、DI(Dependency Injection)についてはBlazorの
サービス機構を語る上で基礎的な内容になってます。
Blazorの学習 • Microsoft Learnでどうぞ
Blazorの学習 • https://jsakamoto.github.io/self-learning-materials-for-blazor- jp/Blazor%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E 3%82%B7%E3%83%A7%E3%83%B3%E3%83%97%E3%83%AD%E3%82%B0 %E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%87%AA%E7%BF%9 2%E6%9B%B8-v.8.0.1.pdf • https://github.com/jsakamoto/self-learning-materials-for-blazor- jp?tab=readme-ov-file
Blazorの学習ポイント • Blazor Web Appsになってレンダリングの問題が複雑化してま す。サーバーで動いてるのか、クライアント側で動いてるのか、イン タラクティブ性はどうかを意識しながら確認すること。 • Razorコンポーネントがんばる! •
状態管理のやりかた!
EntityFrameworkCoreの学習 • Microsoft Learnでどうぞ
EntityFrameworkCoreのポイント • データアクセスはLINQで行う • 従来通りSQLによるデータアクセスも検討
Fluent UI Blazorの学習 • Fluent UIの設計原則についてを学ぶ • Fluent UI Blazorは現在Fluent
UI1に基づいているが原理原則は 変わらないのでこちらを参照するとよい
Fluent UI Blazorの学習 • Fluent UI Blazorのデモページでどうぞ • 具体的なFluent UI
Blazorのコンポーネントの使用法についてはデモ ページを参照することでわかる
NUnit の学習 • Playwrightとの親和性から単体テストにはNUnitを推奨 • NUnit Documentationを読む!
Playwright(.NET)の学習 • .NETラボ勉強会2024年2月 C#でのPlaywrightを使った E2Eテストの実際(草場 友光)参照 • Playwright for .NET
Docs参照
おしまい おしまい