

As we began to add more tools to edit our increasingly large state, we began to realize that we were seeing an increasing amount of cascading effects. It must keep track of all of the edits the user has performed, find where the user is currently within the video preview and then render the correct preview and UI elements based upon all of that. GIPHY Capture as with most video editing programs deals with a lot of state represented in a temporal manner. When our application logic becomes more and more complex, as with any application, refactoring and rearchitecting becomes a necessity.
#Giphy capture el capitan full
GIPHY being a predominantly being a web focused company sometimes has our full stack devs dip their toes into some native app development when the need arises. Most importantly active web development communities have created mounds of documentation and blog posts explaining concepts, benefits, and drawbacks to these paradigms. Tools such as React and Redux along with design paradigms such as Flux have helped make managing complex UIs significantly more accessible.

Given the ubiquitous nature of the web we have ended up seeing lots of thought go into the tooling and creation of paradigms for maintaining increasingly complex user interfaces. The web development community provides an incredible and seemingly endless supply of resources, free and open source tooling, packages and frameworks to help even intermediate developers build scalable and maintainable interfaces. Jumping into native app development from a web development background can be a monumental task for many.
