Stripe homepage section

I’d like to write about each homepage section individually, since each one had separate considerations when implementing, and the older the code, the more work was required to “embed” the animation on the site. Fortunately, I built the Stripe Capital animation only a few months ago. Because of this, I coded it with my most up-to-date tricks and made sure it was 100% portable, so I could easily include it on my website. While this makes it easier to implement, it also makes for a somewhat boring blog post—especially since I haven’t even written the process post for the animation yet. (it’s coming, I promise!)

The one aspect I’ll emphasize here is that the more I code these animations, the more I realize that vanilla JavaScript without any libraries is always the way to go. Because I took this approach with the Stripe Capital animation, embedding the animation on the homepage was simply a matter of moving over a single JavaScript file and pointing it at a DOM element. I didn’t need to add any dependencies or transpile any code, and I know that my code is as future-proof as it can be. Years from now, when I’m ready to redesign yet again, I won’t feel burdened by carrying over the Stripe Capital animation the way I do about the CoffeeScript and Angular portions of my app, Cushion.

This site as a whole, however, is a different story. I use Nuxt.js, which is built on Vue.js, which might end up being the Spine.js to React’s Backbone.js. Before too long, we’ll have another cycle with a new pair of frameworks that everyone is excited about. This gives me pause about the underlying stack of this site and whether to strip out any frameworks in favor of either a more future-proof, native web approach or a less exciting, yet battle-tested stack. I’m not going to spend any time on this now, but it’s on my mind. I still think back to when Steve Jobs announced that the iPhone would only support web apps. I can’t help but imagine where the web could be if everyone embraced that and pushed the web forward rather than demanding native apps and ending up writing countless web-to-native compilers.