Personally, I use MQTT and Node-Red, with Blynk as my my mobile (and now desktop) front-end.
As I previously used this architecture under Legacy, no re-coding was required, just a few minor changes to my Node-Red setup and re-creating (and tidying-up) my mobile app dashboard in Blynk IoT.
I personally think that MQTT is the best thing since sliced bread, and should be the basis for any serious home automation system.