It's true that certain blocks still use YUI, but this is system functionality that's not part of our public API. In new templates, a Squarespace developer won't see or touch YUI code.
We're no longer creating new features with YUI. We write new frontend editor functionality with modern libraries like React.
> Why would a developer want to see a cached version of a page?
Squarespace is a CMS. There's an online content editor where users can add text and images. The content is rendered using a template which contains the HTML/CSS/Template code that defines the layout for the content. The squarespace dev server makes it easier for the developer to work on the template code using content from the live site. I don't think you'd run into a situation where it looked fine locally but broke in production, because the content will be the same.
> why not just make it a portable executable for each platform
NPM has great cross-platform support, and it's used by lots of web developers. That's why we chose NPM. It allowed us to build a cross-platform tool without having to maintain lots of separate installers for various platforms.
Also we wanted to take advantage of the same java based template and less compilers that we use in production (that are open source), which is a large part of why we used java. I'll admit it's not a natural choice for an NPM package, but it's working well for us so far.
Cool tech, fun toy! I hope it is successful. I think Joel should focus on it's toy-like nature, and potential as a learning tool, rather than trying to build this into a production grade tool.
I spent years building tools for this market between professional devs and non-developers. (Backlift.com and then Brace.io) It's really tough. Most people learning to code are trying to gain transferrable skills that can help them land a job. For them, learning git is a fruitful tangent along the path to shipping. Those that aren't interested in building those transferrable skills probably don't self-identify as developers. Making developer tools for non-developers is tough.