The SI1145 is a new sensor from SiLabs with a calibrated UV sensing algorithm that can calculate UV Index.
It's a digital sensor that works over I2C so just about any microcontroller can use it.
individual visible and IR sensing elements so you can measure just about any kind of light - we only wrote our library to printout the 'counts' rather than the calculate the exact values of IR and Visible light so if you need precision Lux measurement check out the TSL2561.
If you're feeling really advanced, you can connect up an IR LED to the LED pin and use the basic proximity sensor capability that is in the SI1145 as well.
Adafruit wrapped this nice little sensor up on a PCB with level shifting and regulation circuitry so you can safely use it with 3 or 5V microcontrollers.
IR Sensor Spectrum: Wavelength: 550nm-1000nm (centered on 800)
Visible Light Sensor Spectrum: Wavelength: 400nm-800nm (centered on 530)
Voltage Supply: Power with 3-5VDC
Output Type: I2C address 0x60 (7-bit)
Operating Temperature: -40°C ~ 85°C
Each order comes with one fully assembled and tested PCB breakout and a small piece of header. You'll need to solder the header onto the PCB but it's fairly easy and takes only a few minutes even for a beginner.
If you are using an Arduino, Adafruit have got a lovely tutorial and library already written up with example code so you can quickly read sensor readings and the UV index in under 10 minutes.
Datasheet
Adafruit wrapped this nice little sensor up on a PCB with level shifting and regulation circuitry so you can safely use it with 3 or 5V microcontrollers.