Work continues on the latest Near-term Website Roadmap items, though obviously behind schedule. Lately I’ve been thinking about what behind-the-scenes changes I should do to make things go more smoothly for my webdev work and the people who come to see the results. I think it’s worth writing down some things of that nature, even though it’s mostly interesting only to fellow webdev nerds.
Set up a build process for CSS: I had been avoiding introducing a build step into my workflow because I didn’t want to lengthen my save-reload cycles, but I see that modern webdev build tools can be set up to watch your source files and do their work automatically upon saving. A build process would let me use a pre-processor like Sass or Less, manage vendor prefixes for me, and let me serve minified files to visitors – everyone wins!
Move all of logging in to Node.js: I’ve got that sweet RESTful service written in Node.js to assist with e-mail logins, but that means Apache/PHP and Node.js both need to do work whenever a user logs in by e-mail. I’ll bet having Node.js handling the entire process of logging in via any method would be more resource-efficient and more elegant.
Get on PHP 7: The 7.0 & 7.1 releases fixed a number of my niggles with the language and strike me as an all-around improvement. Upgrading will be made complicated by the need to switch from the legacy MongoDB driver to the current one, but that’s something I should do anyways.
Investigate PouchDB: In games that use Superspark Accounts, I’m currently using code I wrote myself to get the player’s browser to pull in a (currently non-persisted) copy of their account’s save data, and sync any changes of it back to the server. Sync code is very much Not A Topic Of Interest for me. If I could integrate PouchDB with Superspark Accounts, it would take care of syncing, and also persist the client’s copy of the data for offline play.