billwscott
Joined 13 years ago
Joined 13 years ago
Also, maybe you misunderstand what we are doing. We are using nodejs for the web app layer. But it could be used for services (like Walmart Labs is doing). You really have to determine the context, the people, the technology, the amount of risk, and so on to decide.
But I do agree, no one should see nodejs as a silver bullet.
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.
You can really create some very nice frameworks with Java using some of what you say below. The Java framework at PayPal made a few mistakes (in my opinion) that made the environment harder to work in than it should have been.
But I started with needed to rapidly iterate, move between prototype & production easily, take advantage of asynchronous nature of node for our web apps to scale better, simplify the engineering team makeup (not have multiple types of engineers). These all led to deciding to move forward with node.
Oh, and let's face it, recruiting is a little easier with nodejs.
I think we are getting to a tipping point, but it is a lot of work obviously.
Technology is not a silver bullet. Nor process. At the end of the day it is about your people. Technology & process can set them free.
Mind you that what you see on the PayPal sites is not all updated. This is a testament to just how deep the technical stack has been.
Other colleagues have been attacking the services layer and they are doing just as much change in that layer as my team has done on the app/frontend layer.
The Shift-Refresh style of programming is hard to overstate how much that creates a different mindset.
And to my point in the talk, the blending of prototyping and production tech stacks is also huge for being able to quickly iterate with users.
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.
http://about.me/billwscott