Daffodil: Hexagonal Architecture
 

Who am I?

  • Damien Retzinger, Founder & Software Engineer @ Graycore
  • Magento Developer for 6 years
  • Starcraft Player (Protoss)
  • Community Contributor for Magento 2
 

What is Daffodil?

Daffodil is a second-order framework built upon Angular that attempts to make building common applications features easier.

  • Stability: Experimental
 

What problem does Daffodil solve?

Daffodil provides the developer experience that I always wanted:
  1. Type-safe
  1. Fast & Code-thin
  1. An emphasis on developer and end-user experiences. 
  1. Decoupled and Composable Packages
  1. Make it easier, faster, and cheaper to build high quality ecommerce applications
 

What does Daffodil Do?

Daffodil provides:
  1. UI state models
  1. Asynchronous behaviors (Angular - Effects, React- Redux Saga)
  1. Themeable Design Library (written by UI developers)
  1. Platform-agnostic interfaces (Hexagonal Architecture)
 

Hexagonal Architecture

Real world examples:

  • Pizza Shop
  • Printer Driver
  • Iphone Wires

Whiteboard

Definitely not an interview, I promise.

Learnings

  • What is a driver?
  • How does this tie into my app?
  • Compilation
  • Tree-Shaking
  • Eliminate Server-side Middleware
 

Why? Mitigate Complexity.

  • Polynomial Software Complexity vs. Linear Complexity