The main difference is that covalent bonding is the sharing of electrons, whereas in ionic bonding electrons are transferred. Ionic bonding is between a metal and a non-metal whereas covalent bonding is between 2 non-metals. In ionic bonding the metal loses the electrons in the outer shell to become a positive ion with a full outer shell and the non-metal gains these electrons to become a negative ion with a full outer shell. These two oppositely charged ions attract and form a lattice, so it is the attraction between oppositely charged ions that bonds them together. In covalent bonding electrons are shared between atoms to complete the outer shells. It is the sharing of electrons between the atoms that bond them together.