Difference: 2xEthernet shield, XPort, WiShield

Hi.
I would like to know the difference of theese 4 shields: Ethernet shield (W5100), Ethernet shield (ENC28J60), XPort and the WiShield.

Most of them are using SPI for communication, except the XPort - but how much should the microcontroller do, to serve a webpage ect.?

Is there any of them which is easier to make a library to, if you want to use it with another microcontroller/compiler which hasn’t a library available?

I’m asking theese questions because I need to find a internet board/chip for my PIC developement, but I need make my own library, not using any pre-made!

Best Regards
Thomas Jespersen

The Xport is a lot easier to connect to a wide range of devices, since they only have to use RS232 to communicate and don’t need to know about things like TCP.