Best coating application finish for firearms is probably Cerakote. It is the most durable but also takes the most skill to apply.
KG Gunkote would be my second choice. Most durable after Cera, takes skill but not quite as much as Cera.
KG Gunkote, air-cured. Same durability as the heat-cured, with the convenience of air-cure.
Duracoat is next. It is more durable than all the rattle cans, but not as good as Cera or KG. But much easier to apply since it is air-cured. But must be mixed with hardener which can waste material.
Brownells Alumahyde gets the next place in my book. One of the most durable rattle cans; air cured; easy to apply.
Aervoe rattle cans. Good durability for a rattle can; good colors.
All the rest. Pretty much any rattle can. Easy, cheap to apply. Poor durability. But good field expedients.