Nanophotonic Devices