There was already How to build effective heat-maps? from 2010 where the answer was basically "use QGIS Heatmap plugin".
I've also read on QGIS webpage that it is now "implemented as a native C++ plugin"
What is the best way to generate a heatmap from a list of observations, in QGIS?