Spintronics: From Materials to Devices