Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
私の考える初学者がBlazorできるまでの学習方法
Search
tomokusaba
August 23, 2024
Programming
1
360
私の考える初学者がBlazorできるまでの学習方法
私の考える初学者がBlazorできるまでの学習方法
.NETラボ 勉強会 2024年8月
https://dotnetlab.connpass.com/event/326381/
tomokusaba
August 23, 2024
Tweet
Share
More Decks by tomokusaba
See All by tomokusaba
.NET Conf 2024の振り返り
tomokusaba
0
8
.NET Conf 2024 .NETラボ 勉強会 2024年12月
tomokusaba
1
16
C#/.NETのこれまでのふりかえり
tomokusaba
1
190
Cloud Adoption Framework にみる組織とクラウド導入戦略
tomokusaba
2
740
Cloud Adoption Frameworkにみる組織とクラウド導入戦略(縮小版)
tomokusaba
1
270
Semantic Kernelの最新状況及び入門
tomokusaba
0
240
Fluent UI Blazor 最新Update
tomokusaba
1
290
アクセシビリティの観点からみたFluent UI Blazorのすすめ
tomokusaba
1
350
Webアプリをできるだけコードを手書きしないで作ってみる
tomokusaba
2
310
Other Decks in Programming
See All in Programming
CSC509 Lecture 13
javiergs
PRO
0
110
初めてDefinitelyTypedにPRを出した話
syumai
0
410
2024/11/8 関西Kaggler会 2024 #3 / Kaggle Kernel で Gemma 2 × vLLM を動かす。
kohecchi
5
920
Less waste, more joy, and a lot more green: How Quarkus makes Java better
hollycummins
0
100
聞き手から登壇者へ: RubyKaigi2024 LTでの初挑戦が 教えてくれた、可能性の星
mikik0
1
130
flutterkaigi_2024.pdf
kyoheig3
0
120
Outline View in SwiftUI
1024jp
1
330
subpath importsで始めるモック生活
10tera
0
300
イベント駆動で成長して委員会
happymana
1
320
『ドメイン駆動設計をはじめよう』のモデリングアプローチ
masuda220
PRO
8
540
Kaigi on Rails 2024 〜運営の裏側〜
krpk1900
1
220
受け取る人から提供する人になるということ
little_rubyist
0
230
Featured
See All Featured
BBQ
matthewcrist
85
9.3k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
840
10 Git Anti Patterns You Should be Aware of
lemiorhan
654
59k
It's Worth the Effort
3n
183
27k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
26
2.1k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Teambox: Starting and Learning
jrom
133
8.8k
Done Done
chrislema
181
16k
Optimising Largest Contentful Paint
csswizardry
33
2.9k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.5k
Six Lessons from altMBA
skipperchong
27
3.5k
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参照
おしまい おしまい