I found a great blog post that gave a demo of how authentication can work between separate client and server apps using Socket.IO. I think it’s a really cool concept that creates a pretty slick interface. I’m trying it out on one of my projects that I’m working on using React and ExpressJS.
The only thing I don’t like is that it introduces the additional dependency of Socket.IO on the frontend and the backend. I think that unless I decide to do more with sockets, I may go back to a more traditional authentication workflow. WebSockets are cool, but unless I’m building a chat or game feature, it’s kind of a lot of setup for some added bonus features.
I’ve been spending more time with Docker, also. It’s exposing some of the limitations of my knowledge in linux administration. I’ve taken for granted how many packages I get out of the box with an Ubuntu VM. It has required some digging to figure out what’s missing with the official Docker images for things like Nginx and PHP. I did spend some time digging into the Alpine linux distro, that makes much smaller images, but right now I’m thinking I should just stick with Debian and Ubuntu unless I have a really specific need for the tiniest possible container. For my own sanity, I pretty much put bash and vim on everything anyway.
Finally, I’m spending more time with Unity than Xamarin these days. I ran into some hiccups with Xamarin on iOS. I’m sure there are workarounds, but I decided to abandon the project I was working on anyway. For the most part, anything I want to build with Xamarin would be just fine as a web app. Since I’m spending more time with React now, I might even switch over to React native for those kind of things. I poked around with Xamarin game development, but didn’t see any reason it would be advantageous of Unity.