Slide 1

Slide 1 text

Tried Flutter Web

Slide 2

Slide 2 text

ࣗݾ঺հ • Masaki Hikosakaʢ@_hiko1129ʣ • ήʔϜΤΠτͰΤϯδχΞ΍ͬͯ·͢ ʘ(^o^)ʗ • ීஈ͸Docker / CircleCI / Rails / React / Next.js / GCP / AWS / Firebase౳࢖ͬ ͓ͯ࢓ࣄͯ͠·͢ • ͸͡ΊͯͷLTͷͨΊۓுͯ͠·͢^^;

Slide 3

Slide 3 text

Flutter Web ࢼͨ͠Α

Slide 4

Slide 4 text

Flutter Web͸օ͞Μ͝ଘ஌ʂ Flutterͱಉ͡APIͰWeb্Ͱಈ͔ͤΔײ͡ͷ ΍ͭͰ͢ɻ

Slide 5

Slide 5 text

ීஈReact (Next)Λ৮͍ͬͯΔͷͰ SPAߏ੒͕࣮ݱग़དྷͦ͏͔ࢼ͠·ͨ͠ʂ

Slide 6

Slide 6 text

+ ↓ +

Slide 7

Slide 7 text

Firestore͸࢖͑Δʁ ΫΤϦύϥϝʔλ͸౉ͤΔʁ URL͸มΘΔʁ

Slide 8

Slide 8 text

Firestore࢖͑·ͨ͠ • Web൛ͷfirestore͸dev_dependenciesΛมߋ ͢Ε͹ಈ͔ͤ·ͨ͠ dev_dependencies: build_runner: any build_web_compilers: '>=1.0.0 <2.0.0'

Slide 9

Slide 9 text

ΫΤϦύϥϝʔλ࢖͑·ͨ͠ • onGenerateRoute࢖ͬͯ͝ʹΐ͝ʹΐ͢Ε͹ ͍͚·͢ɻͪΐͬͱ௕͍ͷͰ -> https:// github.com/hiko1129/flutter-pass- arguments-a-named-route/blob/master/lib/ main.dart

Slide 10

Slide 10 text

URLมΘΓ·ͨ͠ • pushNamed࢖ͬͨΒແࣄมΘΓ·ͨ͠ https://hiko1129.github.io/flutter-basic-layout/#/ MaterialApp( initialRoute: '/', routes: { '/': (context) => FirstPage(), '/second': (context) => SecondPage(), }, ); // … onPressed: () { Navigator.pushNamed(context, ‘/second’) } // …

Slide 11

Slide 11 text

్த͋Εʁͬͯͳͬͨ͜ͱ

Slide 12

Slide 12 text

IconͰͳ͍ͷ͕ͩ Ͳ͏ͨ͠Β…

Slide 13

Slide 13 text

Iconग़ͤ·ͨ͠ • assets/FontManifest.jsonॻ͍ͨΒग़ͤͨ [ { "family": "MaterialIcons", "fonts": [ { "asset": "https://fonts.gstatic.com/s/ materialicons/v42/flUhRq6tzZclQEJ-Vdg- IuiaDsNcIhQ8tQ.woff2" } ] } ]

Slide 14

Slide 14 text

ͦͷଞ ύϑΥʔϚϯεɺSEOͱ͔

Slide 15

Slide 15 text

ϑΝΠϧαΠζͬͯ ͲΕ͙Β͍ʁ

Slide 16

Slide 16 text

ී௨ • ࢼ͠ʹॻ͍ͨ΋ͷͷJSͷαΠζ͸285KB

Slide 17

Slide 17 text

chromeͷauditsͱ͔͸ Ͳ͏ͳͷʁ

Slide 18

Slide 18 text

ྑ͛͞ • ࣗ෼͕ॻ͍ͨ΋ͷͩͱԼͷΑ͏ʹͳͬͨɻத ਎͔͔͔ͩ͢͢ΒSEO௿͍ͷ͔΋ɻ

Slide 19

Slide 19 text

λάͱ͔Ͳ͏ͳͬͯΔͷʁ

Slide 20

Slide 20 text

Custom Elements͕ϝΠϯ? • h1ͱ͔h2ͱ͔͕Ͳͷ΢ΟδΣοτͱରԠ͢Δ ͔ෆ໌ɻݱঢ়ͩͱSEOऑͦ͏ͳҹ৅ɻ

Slide 21

Slide 21 text

ऴΘΓʹ • ʮ͍ͭ͜ɾɾɾಈͧ͘ʯ͍ͬͯ͏ײͩͬͨ͡ɻςΫ χΧϧϓϨϏϡʔ͚ͩͲ͔ͳΓಈ͘ҹ৅ • Webͷਓ͚ؒͩͲFlutter࢖͍͖͍ͬͯͨͳʔͬͯ ࢥͬͨɻͨͩWebपΓͲ͏ͯ͘͠Δͷ͔ؾʹͳΔɻ • Cloud Functions͕DartରԠͨ͠Βશ෦DartͰॻ͘ ͷ΋͋Γʹͳͬͯ͘ΔͷͰ͸ʁͬͯײͨ͡

Slide 22

Slide 22 text

͝ਗ਼ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠