Explanation (similarities and differences ) among iptables, nftables and firewalld

Hi everyone. I’m a frequent reader of linux topics and related and recently, I have read about firewalld which comes by default in “CentOS 7” and, as far as I understand, is a replacement for iptables. However, I used to think that it was just sort of a front-end utility for iptables but it seems it isn’t, so I’m getting confused about the topic…

Even worse, I also read about nftables which is a replacement (I believe at kernel level) of iptables. What are the main improvements above iptables? It keeps the same syntax? Can I install it in my Debian Jessie? And the most important question I have is: are firewalld and nftables related? if I have firewalld installed then I also have nftables or it is not this way? Are they totally independent proyects? Can I use them both at same time or is totally senseless?

Thank you so much in advanced for your replies.