The CC3000 hits that sweet spot of usability, price and capability. It uses SPI for communication (not UART!) so you can push data as fast as you want or as slow as you want. It has a proper interrupt system with IRQ pin so you can have asynchronous connections. It supports 802.11b/g, open/WEP/WPA/WPA2 security, TKIP & AES. A built in TCP/IP stack with a "BSD socket" interface. TCP and UDP in both client and server mode, up to 4 concurrent sockets. It does not support "AP" mode, it can connect to an access point but it cannot be an access point.
Adafruit carefully wrapped this little silver module into an Arduino shield. they also added a microSD socket and a reset button. It has an onboard 3.3V regulator that can handle the 350mA peak current, and a level shifter to allow 3 or 5V logic level. The antenna layout is identical to TI's suggested layout and with the same components, trace arrangement, and antenna so the board maintains its FCC emitter compliance (you'll still need to perform FCC validation for a finished product, but the WiFi part is taken care of). Even though it's got an onboard antenna the range is as good as a smartphone's.
-one fully assembled and tested shield.
-some male header for attaching it to an Arduino.
-a 2x3 female header that you can use to plug it into the ICSP port of a Mega.
Please note the hardware is good, but the library code does not yet support all of the CC3000's functionality. SSID scanning, connection, DHCP, DNS lookup, ping, and UDP/TCP client connections (eg connect to a website and grab data) all work and are tested with example code. UDP/TCP server connections are not supported yet! As we try to complete the functionality, check or subscribe to the github repo for instant updates. For now Adafruit suggests this module and codebase for people with Arduino programming and microcontroller experience until we finish up our tutorial and documentation!
For use with Arduino Uno & Mega only at this time. For Mega, install the 2x3 header and solder closed the 3 solder jumpers on the bottom labeled MISO/MOSI/SCLK. Adafruit are working to get the code working for Leonardo/Due at some point but we dont know when.