I've worked with a lot of bar code scanners over the years.
In this era of ubiquitous miniature super-computers (you have on in your pocket or on your desk) you can take advantage of the camera and processing power in those device to do bar code scanning.
You can, and sometimes that's the right choice.
And sometimes, well, sometimes nothing but dedicated hardware will do.
If your project needs a hardware scanner I recommend this little guy:
It's easy to use, fast, reliable, and simple to pair with a mobile device.
I am testing with the Socket and I am flying through bar codes at a rate you can only dream of when you are standing at the self-checkout.
I also don't have to deal with any produce. That helps too.