finds.dev← search

// the find

Redth/ZXing.Net.Mobile

★ 1,083 · C# · MIT · updated May 2024

Barcode Scanner for Xamarin.iOS, Xamarin.Android, UWP and Tizen

ZXing.Net.Mobile wraps the ZXing barcode scanning engine for Xamarin.iOS, Xamarin.Android, UWP, and Tizen. It's a thin platform-specific layer on top of ZXing.Net that gives you a scanner UI with two lines of code. The target audience is Xamarin developers who need barcode scanning without writing native camera code for each platform.

1. The AVCaptureSession fallback on iOS is a smart move — Apple's native engine is faster and more accurate than ZXing for supported formats, and the library gracefully degrades when it can't use it. 2. Scanner-as-a-view (UIView/Fragment/UserControl) is the right abstraction; you can embed it inside an existing layout instead of being forced into a full-screen scanner activity. 3. The scanning options API is clean — passing a `MobileBarcodeScanningOptions` with a format list avoids scanning for 20 formats when you only need QR. 4. Good platform sample coverage with Android fragment, iOS view controller, and UWP control examples in the repo.

1. Xamarin is end-of-life as of May 2024, and this repo's last push was May 2024 — there's no MAUI support and there never will be. Anyone starting a new project should not adopt this. 2. The Android camera implementation uses the deprecated Camera1 API; Camera2 is never mentioned. This causes issues on newer Android versions and is a known source of orientation and preview bugs on some devices. 3. No continuous scanning configuration exposed at the API level in the Xamarin Forms layer — you have to drop down to platform-specific code for anything beyond single-scan-and-dismiss. 4. Zero test coverage in the repo and no CI artifacts beyond a build badge; you're trusting that it works on whatever combination of Android API level and device you happen to own.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →