Hacker News new | ask | show | jobs
by billwscott 4614 days ago
We actually had the luxury of comparing parallel efforts. While Node was being readied for production we were writing our new consumer/wallet app with the PayPal Java framework (based on Spring). Meanwhile we started writing the Node version. Once we got to a certain point the Java team insisted that they stop the Java development and start on Node with the node team. At this point we had two versions of the app built in two stacks and thus could compare code size, developer productivity & scale.

Of course, if we compare the new node apps vs the old PayPal code... well that would be a poor comparison as they really were old and monolithic.

1 comments

Cool - it's great to hear that you guys actually got to put it to a head-to-head comparison with the old ways.

How heavily have you customized Spring, versus how much did you use various Node modules out of the box (versus having to adapt things to your backend)? Do you think part of the productivity gap comes from the large learning curve of your PayPal framework or just from Spring in general?

Not from Spring. Spring is a solid reasonable framework. Unfortunately the modifications were enough to cause confusion, the Windows-biased support (not good support for Mac) for the dev environment, forcing people to use Eclipse, having lots of server-side solutions for stuff that is already readily available on github as a simple JS library and on and on.

I still feel that even set against Spring or GWT or any Java server-side UI framework, Node plays much nicer and really gets you to the Shift-Refresh type of programming that is perfect for app development.

We used (and use) node modules completely out of the box. We add additional modules to augment. We are really adamant not to follow the roll your own mindset. We have had numerous times that we threw away our work in lieu of a new npm module that did what we were doing as good or better than ours. Why spend time doing that when we have so much technical debt to overcome to get to the state of really innovating.