Angular,

It’s been 2 1/2 years that we’ve been together. I knew you before I even really knew JavaScript. There’s no easy way to say this. I’m breaking up with you. I’ve done everything I can, but you’ve hurt me too many times.

I mean, two-way binding seemed like a good idea at the time. Change your data here, see it update over there. Auto-magika. It didn’t hurt that you were my first true love. But how cool you looked when you just updated my template without any extra effort.

I remember our first ng-click together. You gave me a feeling of strength I didn’t know I had within me. We would just dance and click, dance and click. Even console.log() s had a spark of new life. You made me see hello world in a whole new way.

We would roll around in those huge fat controllers in those days, not even caring if we made services to keep things sane and maintainable. Living dangerously was more fun anyways.

Later when things cooled off a bit, we were still pretty hot and heavy. Just decorate a provider over here, move some logic to a service over there, and before you know it, seemed like we had a real thing going on. I could build full apps with you. Authentication from the ground up. Throw in some graphs provided by a D3 based third party library. Sane file structure and separations of concern. Comprehensive and thoughtful style guide. (John Papa, thanks for everything ❤.)

Then version 2 came out. I really wasn’t sure what to think. I was pretty sure you still cared about me, but it was like you just completely changed who you were over night. At first it was kind of exciting. Sure, I was annoyed I had to learn a bunch of new stuff to be with basically the same framework, but there’s a tiny bit of shiny syndrome in all of us isn’t there? Plenty of developers love to learn a new technology.

But this wasn’t a new technology, was it? Our relationship then was the same as it ever was. You kept going on about ngFor s, but I know an ng-repeat when I seen one. Why do you have to be like this?

Then version 4 came out. You made my head spin with that one. Did you really think that would be cool with everyone?

Yes, I know the “real” explanation as to why you skipped an entire major version. We both know the truth though, don’t we A my sweet. Well I’m not a complete fiend. Your secret is safe with me.

After all we’ve been through? Wasn’t changing everything about our life together in version 2 enough for you? You’re the reason I have trust issues. Now we’re not even allowed to talk about Angular version 1. I have to call it AngularJS. You just have to control everything don’t you! Fine, you win. You can have your whitewashed history.

To be honest though, you were always too opinionated for me. Once I knew how opinionated you were. I have opinions too ya know. What if I don’t want TypeScript telling me what to do all the time? Is that such a crime? Guess we’ll never find out now, will we Angular ≥2?

I’ve been seeing someone else and I don’t care if you know. They have things you’ll never have. Immutable state. Sexy ass .jsx . Ooooo .jsx . Aint never seen something like you before .jsx . Mingling JavaScript with HTML? In one file? You nasty. And that rendering speed though. Muy caliente.

React doesn’t care who I hang out with. I can party with Redux or MobX, React is cool with it. Higher Order Components or Render Props, React just smiles that lovely smile.

And where’s your ReactNative sweetheart? Or ReactVR? Didn’t think so.

Don’t worry, I’m sure you’ll find someone else who will put up with you.

XOXO,

Dan Ward