Barcode-Scanner im Vergleich – Scanbot SDK vs. ML Kit vs. ZXing

Beinahe 20 Jahre sollten nach der Erfindung des Barcodes vergehen, bis die Technologie ihre ersten kommerziellen Erfolge erzielte. Inzwischen haben die Symbologien in alle Lebensbereiche Einzug gehalten. Mit ihrer zunehmenden Verbreitung wurden über die Jahrzehnte verschiedene Geräte zum Lesen von Barcodes entwickelt. Immer häufiger werden dafür im geschäftlichen und privaten Bereich Smartphones verwendet, wodurch die etablierten Laser-Scanner langsam verdrängt werden. Bedingt durch diese Entwicklung entstand eine Vielzahl leistungsfähiger SDKs und Open-Source-Anwendungen zum Scannen von Barcodes im geschäftlichen Bereich.

In diesem Artikel vergleichen wir die beliebtesten Software-Bibliotheken zum Einlesen von Barcodes mit dem Barcode Scanner SDK von Scanbot hinsichtlich den unterstützten Plattformen und der Leistung beim Scannen verschiedener Barcode-Typen. Zudem untersuchen wir, wie schwierig die Integration ist, und wie viel Support man sich dabei erwarten kann.

Bevor wir aber zum Vergleich kommen, möchten wir näher auf den Markt für Barcode-Scanner, aktuelle Herausforderungen und mögliche Lösungen für Unternehmen eingehen.

Anwendungsfälle, so weit das Auge reicht: Warum gibt es so viele Barcode-Typen? 

Die existierende Vielfalt an Barcode-Symbologien lässt sich grob in eindimensionale (1D) und zweidimensionale (2D) Standards einteilen. 1D-Barcodes (z. B. EAN und ähnliche Strichcodes) kodieren lediglich kleinste Datenmengen, da sie nur mit unterschiedlich breiten Linien und deren Abständen arbeiten. Sie werden daher auch lineare Barcodes genannt. 2D-Barcodes (z. B. QR-Codes) bestehen hingegen aus einem Pixelraster, dessen Zellen entweder “an” (schwarz) oder “aus” (weiß) sind. Jeder dieser Codes kann tausende Zeichen speichern. 

Warum aber braucht es so viele verschiedene Barcode-Typen? Und: Warum verwenden wir überhaupt noch eindimensionale Varianten, wenn zweidimensionale Barcodes doch eine weit größere Kapazität bieten? Grund hierfür ist, dass zum Scannen von 2D-Barcodes ein Lesegerät mit Kamera benötigt wird, etwa ein Smartphone. 1D-Symbologien hingegen können mit kostengünstigen Laser-Scannern eingelesen werden. Da diese noch immer weit verbreitet sind, erfreuen sich eindimensionale Barcodes ebenfalls anhaltender Beliebtheit. 

Je nach Anwendungsfall eignen sich zudem bestimmte Barcode-Varianten besser als andere. Möchten Sie mehr darüber erfahren? Werfen Sie einen Blick auf unseren ausführlichen Blog-Post über die gängigsten Barcode-Typen und ihre Anwendungen.

Gibt es ein Gerät, das alle Barcode-Typen lesen kann?

Alle Arten dedizierter Barcode-Leser haben ihrerseits Vor- und Nachteile. Sehen wir uns also jetzt die häufigsten Scanner-Typen und ihre Funktionalitäten an, um uns einen Überblick über die Hardware am Markt zu verschaffen.

Lesestifte sind die preiswerteste Option, jedoch auch die unpraktischste. Sie müssen physisch direkt über den Barcode gezogen werden, können nur eindimensionale Codes lesen, und versagen bei beschädigten Codes häufig völlig.

CCD-Scanner (charge-coupled device) erkennen Barcodes sehr schnell. Sie sind jedoch ebenfalls auf eindimensionale Codes beschränkt und verfügen nur über eine geringe Lesereichweite.

Laser-Scanner sind schnell, einfach zu bedienen, und funktionieren auch bei schlechten Lichtverhältnissen gut. Allerdings können auch sie lediglich 1D-Barcodes lesen. Sie enthalten zudem bewegliche Teile und sind damit mechanisch fehleranfällig.

Kamera-Scanner (auch “Imager”) funktionieren gänzlich anders und können daher auch 2D-Barcodes verlässlich einlesen, selbst wenn diese beschädigt sind. Leider sind die Geräte recht teuer und eignen sich weniger gut für das Scannen von eindimensionalen Codes.

Smartphones brachten hier die Wende: Mithilfe entsprechender Apps lassen sich Mobilgeräte in leistungsfähige Barcode-Scanner verwandeln, die sowohl 1D- als auch 2D-Barcodes lesen. Smartphones sind wesentlich günstiger als Kamera-Scanner und decken die gesamte Bandbreite an Barcodes mit nur einem Gerät ab. Verfolgt man eine BYOD-Strategie, entstehen überhaupt keine Hardware-Kosten. Mobile Endgeräte sind zudem nicht allein auf das Scannen von Barcodes beschränkt und bieten damit höchste Flexibilität zu einem äußerst geringen Preis. 

Dank direktem visuellem Feedback können Nutzer:innen der App ohne aufwändige Schulung mit dem Scannen beginnen und haben Zugriff auf eine Software-Lösung, die durch einfache Online-Updates fortwährend weiterentwickelt wird.

Apps oder Websites mit integrierten Barcode-Scannern decken nahezu alle existierenden Symbologien ab und verwandeln Smartphones in wenigen Tagen in vollwertige Barcode-Lesegeräte. 

Doch auch unter den mobilen Lösungen gibt es Unterschiede. Nun liegt es an Ihnen, die richtige Lösung für Ihr Projekt zu finden: Sollten Sie sich für Open-Source-Software, kostenlose Barcode-Bibliotheken oder ein proprietäres Scanner-SDK entscheiden?

Merkmale hochwertiger Barcode-Scanner-Bibliotheken für mobile Apps

Nehmen wir an, Ihre mobile oder Web-basierte App erfordert das Scannen von Barcodes, etwa im Rahmen des Bestandsmanagements, der Prozessautomatisierung oder der Sendungsverfolgung. Nun müssen Sie entscheiden, welche der erhältlichen Lösungen für das Einlesen von Barcodes den Anforderungen Ihres Unternehmens am besten entspricht.

Hochwertige Barcode-Scanner-Bibliotheken von Drittanbietern haben bestimmte Merkmale, auf die Sie beim Vergleich der infrage kommenden Lösungen achten sollten.

Zunächst sollten Sie sicherstellen, dass die Leistungsfähigkeit des Scanners Ihren Anforderungen entspricht. Neben der reinen Lesegeschwindigkeit spielen dabei die Genauigkeit, die Ergebnisse bei schlechten Scan-Bedingungen und die Stabilität der Software eine Rolle.

Da es eine Vielzahl an mobilen und Web-basierten Plattformen gibt, ist die Frage der Kompatibilität ebenfalls von zentraler Bedeutung. Wenn Sie alle gängigen Plattformen abdecken möchten, sollte die Scanner-Bibliothek mit Android und iOS (bzw. mit dem plattformübergreifenden Framework, das Sie für die Entwicklung der mobilen App verwenden) sowie mit den beliebtesten Browsern –wie Safari, Chrome und Firefox – kompatibel sein.

Ein wesentlicher Faktor ist auch der Integrationsprozess selbst. Nicht nur Ihre Markteinführungszeit, sondern auch die Produktqualität hängen entscheidend von ihm ab. Je komplexer das Unterfangen, desto höher das Fehlerpotenzial aufseiten Ihres Entwicklungsteams. Ein leicht verständlicher Integrationsprozess erhöht hingegen die Chance auf ein fehlerfreies Endprodukt.

Wegen der großen Vielfalt an Barcode-Typen (selbst QR-Codes findet man in mehreren Ausführungen), sollte Ihre Barcode-Scanner-Bibliothek alle erforderlichen Varianten unterstützen: diejenigen, mit denen Sie zurzeit arbeiten, aber auch solche, die für Ihr Unternehmen in Zukunft relevant werden könnten.

Apropos Zukunft: Die Anforderungen an die von Ihnen gewählten Software-Bibliotheken werden mit Ihrem Unternehmen wachsen. Daher sollten Sie Wert darauf legen, dass die Weiterentwicklung des Barcode-SDK auch in Zukunft gesichert sein wird, das Entwicklungsteam auf Ihre Fragen und Fehlerberichte eingeht, und Sie sich auf entsprechenden Support verlassen können.

Which barcode reader software library is the right one for you?

Vergleich der Barcode-Scanner-Bibliotheken

Wir vergleichen drei Bibliotheken: ML Kit, ZXing und das Scanbot Barcode Scanner SDK. Die Kandidaten haben wir aufgrund ihrer Beliebtheit und Leistungsfähigkeit ausgewählt. An dieser Stelle möchten wir sie kurz vorstellen.

Das benutzerfreundliche ML Kit ermöglicht Entwickler:innen mobiler Anwendungen Zugriff auf die Machine-Learning-Funktionalitäten von Google. Es enthält APIs für verschiedene Zwecke, beispielsweise für die Gesichtserkennung, Objekterkennung auf Bildern, die Texterkennung – und das Scannen von Barcodes.

ZXing (ausgesprochen “zebra crossing”, also Zebrastreifen) ist ein mehrformatiges Bildbearbeitungs-Toolkit für Barcodes. Es basiert auf Java, wurde aber auch für andere Programmiersprachen portiert. Bei diesem Open-Source-Toolkit handelt es sich um die beliebteste Bibliothek auf dem Markt, und tatsächlich bauen die meisten anderen quelloffenen Barcode-Scanner-Bibliotheken auf ihr auf. Inzwischen wird sie nicht mehr aktiv weiterentwickelt, erhält aber noch Fehlerbehebungen und minimale Verbesserungen.

Unsere eigene Software-Lösung ist das Scanbot Barcode Scanner SDK. Neben einem Barcode-Scanner bietet Scanbot Unternehmen Module für das Scannen von Dokumenten und für die Datenextraktion an und unterstützt dabei verschiedenste mobile, plattformübergreifende und Web-basierte Lösungen.

Vergleich der unterstützten Barcode-Typen

Aus der untenstehenden Tabelle ist ersichtlich, dass ML Kit die geringste Anzahl an Barcode-Typen unterstützt. Sowohl das Barcode Scanner SDK von Scanbot als auch ZXing unterstützen alle von ML Kit abgedeckten Standards, zusätzlich aber auch RSS 14 und RSS Expanded. Nur das Scanbot Barcode Scanner SDK unterstützt darüber hinaus MSI Plessey, und nur ZXing unterstützt MaxiCode.

Bei der Anzahl an unterstützten Barcode-Typen handelt es sich nicht um einen Leistungskennzahl im engeren Sinne. Trotzdem sollten Sie sicherstellen, dass die von Ihnen benötigten Barcode-Symbologien auch wirklich von der gewählten Barcode-Scanner-Bibliothek unterstützt werden.

Scanbot Barcode SDK 3.2.0ZXing 3.5.0ML Kit 17.0.2
AZTEC
CODABAR
CODE_39
CODE_93
CODE_128
DATA_MATRIX
EAN_8
EAN_13
ITF
PDF_417
QR_CODE
UPC_A
UPC_E
RSS_14
RSS_EXPANDED
MSI_PLESSEY
MAXICODE

Unterstützte Plattformen

Wichtig ist auch, welche Plattformen von der jeweiligen Barcode-Scanner-Bibliothek unterstützt werden. Android und iOS sind seit langem die bei weitem beliebtesten Plattformen für Mobilgeräte. 

StatsCounter – Anteile der mobilen Betriebssysteme am Weltmarkt, Stand 2022

Es mag so aussehen, als wären nur zwei Plattformen für die mobile Software-Entwicklung relevant. Das stimmt aber so nicht, denn abseits der nativen App-Entwicklung gibt es zahlreiche häufig verwendete Cross-Platform-Frameworks. Auch Web-basierte Hybridlösungen und Progressive Web Apps (PWA) kommen bei der Entwicklung für mobile Endgeräte zum Einsatz.

In der folgenden Tabelle sehen wir uns an, mit welchen der beliebtesten Plattformen und Frameworks die einzelnen Bibliotheken kompatibel sind.

Scanbot Barcode SDK 3.2.0ZXing 3.5.0ML Kit 17.0.2
Android
iOS
React Native
Flutter
Xamarin
Cordova
Ionic
Web

Das Scanbot Barcode Scanner SDK unterstützt die native Entwicklung auf iOS und Android, die beliebtesten plattformübergreifenden Frameworks, und Web-Apps via npm-Paketen. 

ZXing als solches kann nur für die native Android-Entwicklung genutzt werden. Jedoch hat die Community auch Bibliotheken für andere Plattformen entwickelt, die auf der ursprünglichen ZXing-Bibliothek aufbauen. Beispielsweise kann "zxingify-objc" für die iOS-Entwicklung genutzt werden

ML Kit unterstützt sowohl Android als auch iOS. Wie im Fall von ZXing existieren auch für ML Kit externe Bibliotheken für weitere Frameworks wie Xamarin und Flutter.

Einfachheit der Integration und Qualität des Supports

Wie einfach oder schwierig sich eine Integration gestaltet, lässt sich nicht objektiv beurteilen. Mehrere Faktoren spielen dabei eine Rolle, so etwa der Anwendungsfall, das Ausmaß an Unterstützung von außen, und auch das Entwicklerteam selbst. Wir können aber sehr wohl betrachten, wie viel Code zur Integration nötig ist, ob hochwertige Dokumentation verfügbar ist und wie viel Support geboten wird.

Sehen wir uns an, wie viel Code wir schreiben mussten, um die drei Barcode-Scanner in unser Messwerkzeug zu integrieren. Das Scanbot Barcode Scanner SDK benötigte den wenigsten Code, gefolgt von ML Kit. Für ZXing war die größte Codemenge nötig. Der Unterschied ist jedoch nicht dramatisch. Zudem sind alle drei Lösungen gut dokumentiert. Was den Schwierigkeitsgrad der Integration anbelangt, machen also alle drei Kandidaten nach diesen Kriterien eine gute Figur.

Probleme können aber bei jeder Integration auftauchen, auch im Nachhinein. Schneller Support ist daher enorm wichtig, damit Sie zügig an hilfreiche, verlässliche Antworten gelangen und Ihre Anwendungen so schnell wie möglich zur Marktreife bringen. Die zu erwartende Qualität des Supports ist daher ein wichtiger Faktor.

ZXing ist Open-Source-Software. Bei Problemen können Sie in Community-Foren wie StackOverflow nach Antworten suchen, oder aber Sie forschen im Projekt-Code selbst nach einer Lösung. Da Ihr Team diesen jedoch nicht selbst entwickelt hat, wird es viel Zeit dafür aufwenden müssen, ein derart großes Projekt zu verstehen. Alternativ können Sie einen Fehlerbericht im Code-Repository einreichen und auf eine Antwort oder die Behebung warten. Ob und wann das geschieht, können Sie nicht wissen. In jedem Fall wird es aber eine gewisse Zeit dauern, da weil ZXing nicht mehr aktiv weiterentwickelt wird und nur noch Bugfixes und kleinere Verbesserungen stattfinden. 

ML Kit ist nicht quelloffen, jedoch gibt es Websites, auf denen sich die Community dazu austauscht. Dort können Sie Fragen stellen und darauf warten, dass engagierte Nutzer:innen sie beantworten. Auch Fehlerberichte und Vorschläge zu neuen Features können Sie dort einstellen.

Im Gegensatz zu ZXing und ML Kit ist im Scanbot SDK ein Customer Support auf Enterprise-Niveau sowie ein:e eigene:r Customer Success Manager:in inbegriffen. Unserem Team ist es enorm wichtig, Ihre Fragen zügig zu beantworten, Sie mit hilfreichem Code zu unterstützen, und gemeldete Fehler umgehend zu beheben. Dadurch gestaltet sich der gesamte Integrationsprozess reibungslos und planbar.

Zusammenfassung

Wir haben zwei der beliebtesten kostenlosen Barcode-Scanner-Bibliotheken zusammen mit Scanbots fortschrittlichem Barcode Scanner SDK im Hinblick auf Geschwindigkeit, Präzision, die unterstützten Plattformen und die Funktionalität zum Scannen unterschiedlicher Barcode-Typen untersucht. Betrachten wir kurz die Ergebnisse.

Sowohl das Scanbot Barcode Scanner SDK als auch ZXing decken die gesamte Bandbreite der am häufigsten verwendeten Barcode-Symbologien ab.

In Bezug auf die Zahl der unterstützten Plattformen liegt das Scanbot Barcode Scanner SDK vorn. Neben der nativen Android- und iOS-Entwicklung kann das SDK auch auf den beliebtesten Cross-Platform-Frameworks und – via npm-Paketen – auch in Web-Apps eingesetzt werden.

Auch in anderen Bereichen der Datenerfassung möchten wir Sie als verlässlicher Partner bestmöglich bei Ihren Vorhaben unterstützen. Ihre Anliegen finden in unserem Team immer ein offenes Ohr, und Ihr Feedback fließt rasch in die Verbesserung unserer Lösungen ein. Dank immer aktueller Dokumentation und regelmäßiger Updates können Sie agil handeln und optimieren, worauf es im Unternehmen ankommt: die Zufriedenheit Ihrer Nutzer:innen. Let’s talk.

Bereit zum Ausprobieren?

Sprechen Sie mit unseren Lösungsexpert:innen! Gemeinsam finden wir eine Lösung für Ihre Anforderungen an die mobile Datenerfassung – oder Sie integrieren das Scanbot SDK gleich in Ihre eigene mobile App oder Webseite.

Jetzt testen