Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Spring with React for Enterprise Application

daigo3
December 18, 2019

Spring with React for Enterprise Application

Enterprise な アプリケーションにおいてもデザイン性、使い勝手に対する要求は高まってきています。
その要求を Spring と React を使って実現する方法をお話します。
・EventStorming を用いたモデリング
・Backend と Frontend を並行して開発する by Spring and React
・Contract による変化に強い開発チーム

daigo3

December 18, 2019
Tweet

More Decks by daigo3

Other Decks in Programming

Transcript

  1. Spring + React @tagbangers way Dev Conversation Frontend Backend Day

    0 Day 1 Day 2 CI CD Ops Ops Feedback Enhancement </> Share knowledge Contract
  2. 1. Կ͕ى͔ͬͨ͜?ʢ Domain Event ʣΛ୳Δ 2. ͳͥىͬͨ͜ͷ͔?Λ୳Δ 3. Domain Event

    Λى͜͢ʹ͸ͳʹ͔৚݅͸͋Δ͔? 4. Domain Event ͕ӨڹΛ༩͑Δ΋ͷ͸Կ͔ 5. Bounded ContextΛ୳͢
  3. 1. Bounded Context = Deployment unit ͕Θ͔Δ 2. ۀ຿ϓϩηε͕୭ or

    ԿʹΑͬͯ։࢝͢Δͷ͔ɺͲͷΑ͏ͳ ෭࡞༻ͱ݁ՌΛੜΉͷ͔͕Θ͔Δ 3. Domain Event ͷ৚݅Ͱ͋Δ Invariant ͕ෳࡶʹͳΔ΄Ͳ αʔϏεͷ༏ҐੑͱͳΔ෦෼͕ݟ͑ͯ͘Δ 4. νʔϜͰڞ௨ͷϓϩμΫτࢹ఺͕࣋ͯΔ
  4. Automatic critical CSS No class name bugs Easier deletion of

    CSS Simple dynamic styling Painless maintenance Automatic vendor prefix
  5. EventStorming Ͱൃݟͨ͠ Domain Event , workflowΛ࣮૷͢Δ Views States View Usecase

    ։࢝ ͡ΌΜ͚Μத ࣗ෼ͷखΛબ୒ ࣗ෼ͷखΛܾΊΔ ࣗ෼ͷखΛAPIʹ ొ࿥ͯ͠΋Β͏ States ͡ΌΜ͚Μऴྃ
  6. Your name ROCK PAPER SCISSORS START Views ։࢝ Store API

    ։࠵ঢ়گΛมߋ Preparing for reception มߋத
  7. Your name Accepting ROCK PAPER SCISSORS View ࣗ෼ͷखΛબ୒ START ొ࿥։࢝

    Store API ࣗ෼ͷखΛొ࿥ ొ࿥த move: SCISSOR
  8. Your name Accepting ROCK PAPER SCISSORS View ࣗ෼ͷखΛબ୒ START Store

    API ࣗ෼ͷखΛొ࿥ API Response move: SCISSOR
  9. Your name Wait for Result ROCK PAPER SCISSORS View START

    Store API API Response ొ࿥੒ޭ ొ࿥ऴྃ
  10. trigger workflow event Action Repository interaction Component [presentational] Component [Container]

    Store Reducer Middleware Action Use case Execute Result State props Entity Result uses uses API
  11. αʔϏε / Ϟδϡʔϧͷ෼ׂ 
 → Bounded Context Ͱ෼͚Δ Spring ͷ

    Ecosystem ͳʹΛ͔ͭ͏ʁ
 → ෇ᝦ΍໼ҹ͔Βಛ௃ΛΈ͚ͭΔ มԽ͢ΔͨΊͷ४උ
 → TDD ͷཁૉ͕͢Ͱʹ͋Δ ServiceDev