We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
How Angular lit up Vegas in the Professional Lighting Industry | Nathan Walker & Eduardo Speroni
Learn how Nathan Walker & Eduardo Speroni built a professional lighting console app with Angular and NativeScript, mastering complex state, DMX protocols & iOS integration.
- 
    Built an Angular app for iPad called Blackout Lighting Console - a digital version of an analog lighting console using NativeScript and Swift UI 
- 
    Architecture stats: - 114 components
- 91 services
- 11 directives
- 2 pipes
- 33 Swift UI views
- Uses Angular 17 control flow syntax
 
- 
    Performance optimizations: - Multi-threading with web workers for DMX data processing
- Detached views from change detection when hidden
- Shared array buffers for zero-copy data transfer
- Small, memoized selectors for state management
- View pooling for efficient list rendering
- Throttling/buffering for data transmission
 
- 
    DMX protocol requirements: - Constant 44Hz transmission rate
- UDP-based protocol
- Each light fixture has multiple parameters (intensity, pan, tilt, etc.)
- Values map to DMX channels (0-255 or 0-65535)
 
- 
    State management considerations: - Strong state management necessary for complex data flows
- Single source of truth for all values
- Faders stack based on priority
- Multiple input sources affect final output values
- State changes must be performant to avoid visual stutters
 
- 
    Native iOS integration: - Uses Core MIDI, Core Foundation, Core Graphics
- Swift UI components for native look and feel
- Zero-copy data marshaling between JS and native code
- Hand tracking support for Vision Pro