3 ms·
Not sure where to begin, but I'll take a crack at this one... I used to be like you. I was out at every meetup -- flirting with all the new frameworks in town.
by sheraz 12y ago
Not sure where to begin, but I'll take a crack at this one...
I used to be like you. I was out at every meetup -- flirting with all the new frameworks in town. We would start off hot-n-heavy, staying up late into the night, making big plans. But just as things were about to get serious, I back-peddled and started to better-deal -- thinking there is a "better framework" out there. I didn't want to make the wrong choice.
Backbone was the hot new sexy, and we got along great. We breezed through TODOMVc, and everything just "clicked." She showed me a better way to javascript. This was great! I took the relationship to the next level, and we were off on our enterprise app. Sad to say, the romance ended the moment I realized what two-way data-binding was, memory leaks when destroying views, and the need for good message passing. Backbone had none of it, and I told her about it. Then one day she came home dressed as Marionette (marionettejs.com), and I hardly recognized her. I found her to be complex and abstract. She was no longer the simple and elegant framework I knew, and so I moved on...
And soon enough, there I was out at the meetups again. That was when I met Angular. I found her opinionated, and a really domineering. However, she was from a well known and respected family. Besides, I was happy to be with someone who took care of so many things. But that comfort came with a price. She wanted me to do things her way, and do it without much documentation. She just wanted to me to "get it." But it didn't click. And so I gave her the "its not you, its me" talk, and I moved on.
See a pattern here? I think many devs can relate. Let me explain:
TL;DR
Frameworks are like relationships. The only way you can get the most out of it is to fully commit yourself to it -- using the good parts and working around the bad. The sooner you realize this the better, because you will stop wasting your time with frameworks who don't do more than offer a weekend thrill with TodoMVC.
BTW: I'm now in a polyamorous relationship with Flux and ReactJS, and it is wonderful.
- neduma 12y agoWell done sir.
- brotchie 12y agoPerfect description. Now on a Fluxxor+ReactJS stack moving from Backbone... couldn't be happier.
- gasping 12y agoWhat did you do when the infatuation with Angular wore off? Did you see the project through to production release? Was your employer satisfied with the outcome?
- sheraz 12y agoFortunately there was no app built in Angular -- it was Backbone. We saw it through to the end, and everyone is happy (at least no one was fired). But you don't want to look at my git commit messages. Lots of cursing at callbacks and async hell. Big lesson kids: When learning a new toolkit or framework, build a toy project you can discard when it is over. That way there is no technical debt, and you will be better able to analyze and decide if this is right for the Big Project(tm) ahead. That is what I did for React and Flux. I took some hours at work and at home to get up to speed with a small PhoneGap app. Once I was satisfied, I presented to my team. There were some questions and feedback, and it made evangelizing much easier -- it sold itself.