On Dec 15, 2005, at 12:49 AM, Alexey Proskuryakov wrote: Ability to use CFStrings for server names is just so exciting... Er, I mean useless.
It may be overkill for URLs, but it's darned convenient not to have to down-grade a CFString to a Pascal string when you've finally got most of your source base using "real strings." I'm very interested in your opinion about libcurl. I haven't used it as a library yet, but from a user's standpoint, curl is significantly more polished and reliable than CFNetwork, and isolates one from Apple's "future direction" du jour.
If you use libcurl instead of Apple's code you lose the runloop integration, and perhaps more importantly you lose the confidence that your app will behave "at least as well as Safari." It sounds like you've had some bad luck with Safari, but I have found it pretty reliable.
I use libcurl for some projects but when possible I use CFNetwork because of the consistent CoreFoundation interface, and because I know that a bug in CFNetwork that affects my application is also probably a bug in Safari, and will therefore be taken seriously.
One big advantage to using libcurl is that if you find a bug, you can fix it yourself and link in a private copy of the library pretty easily. Since CFNetwork sources have recently been released by Apple, this is true there as well, but I don't think it's easy to build it as a static library "out of the box," and I'm not sure what the ramifications of including a private copy of CFNetwork.framework in your application's bundle would be.
Daniel
|