Arduino WiFi Shield --vs-- Adafruit CC3000 WiFi Shield

Hi All.

I have a Arduino Mega, and want to expand it with Wifi functionality.

I have a look at two boards:
The original: Arduino WiFi Shield
The Adafruit version: Adafruit CC3000 WiFi Shield

They both feature a SD slot. But what is the difference?
In Denmark, I can buy the Adafruit version for nearly half the price of the Arduino version.

Why don't you compare the specs?

If you want really cheap, you can get Serial Wifi modules for around 1/2 the price of Adafruit shield, but they function differently from the "shields" and you'd need to write a lot more low level code yourself.

I can compare the specs, but that doesn't really gives much:

Arduino Wifi:
SPI port
on-board micro SD slot
Note that because the HDG104 and SD card share the SPI bus, only one can be active at a time.
ICSP headers
FTDI connection for serial debugging of WiFi shield
Mini-USB for updating WiFi shield firmware
TCP and UDP

Allows another shield to be stacked on top
Only Uno and Mega

WiFi library

Adafruit Wifi
SPI for communication (not UART!)
microSD socket
interrupt system with IRQ pin so you can have asynchronous connections.
TCP and UDP in both client and server mode
up to 4 concurrent sockets
plug it into the ICSP port of a Mega
Only Uno and Mega, Due support will come later

Adafruit WiFi library

So from my point of view, I cannot see much difference. That is why I asked you guys for help.
Any input is highly appreciated.

Not anyone how has some feedback about wifi shields?

What about the library for each shield - any important difference?

the_julle:
Not anyone how has some feedback about wifi shields?

What about the library for each shield - any important difference?

I am not familiar with the CC3000 library/firmware, but the Arduino WiFi shield firmware (internal programs in the wifi ICs) has some serious bugs. It has real problems with server code and UDP.

The server part of the firmware will use only one socket, making multiple client communication unreliable. If two or more clients attempt to connect simultaneously, there is a great probability the clients will receive incorrect or corrupted files.

The UDP firmware responds from a different port than it receives UDP packets on, making the UDP "server" code almost unusable.