Scan barcodes faster with the new Tabris.js barcode scanner plugin
April 3, 2018 | 3 min ReadScanning barcodes is a very common task on mobile phones. If you want to read data from the physical world, there is a good chance that a barcode will provide this data. With the newly created Tabris.js plugin tabris-plugin-barcode-scanner this process is now even more efficient. To provide the fastest and most accurate detection rate the plugin uses AV foundation on iOS and Google Mobile Vision API on Android.
Barcode Scanner API
The plugin provides a Widget called BarcodeScannerView
wich can be embedded into your layout hierarchy. Once the widget is part of your layout you can call start()
on it to display the view of the camera and start scanning for barcodes. When a barcode is detected a detect
event is fired with the data from the barcode as argument. The following snippet shows a practical example of the barcode scanner plugin.
let scanner = new esbarcodescanner.BarcodeScannerView({
left: 0, right: 0, top: 0, bottom: 0
}).on('detect', (e) => console.log(`Detected ${e.format} code with data ${e.data}`))
.on('error', (e) => console.log(e.error))
.appendTo(tabris.ui.contentView);
scanner.start(['qr', 'ean13']);
Supported Barcodes
The scanner view continues to scan for barcodes as long as it is active. Therefore the scanner could fire multiple times for the same barcode. If you only need a “one-shoot” barcode scanner you should call stop()
on the BarcodeScannerView
when the first barcode has been detected and possibly dispose the widget.
The plugin provides support for a large number of barcodes both on iOS and Android. You can limit the detected barcodes to certain types if required. The following table shows the list of supported barcodes:
Barcode | iOS | Android |
---|---|---|
UPC-A | ✓ | ✓ |
UPC-E | ✓ | ✓ |
Code 39 | ✓ | ✓ |
Code 39 Mod 43 | ✓ | |
Code93 | ✓ | ✓ |
Code128 | ✓ | ✓ |
EAN-8 | ✓ | ✓ |
EAN-13 | ✓ | ✓ |
PDF417 | ✓ | ✓ |
QR | ✓ | ✓ |
Aztec | ✓ | ✓ |
Interleaved 2 of 5 | ✓ | |
ITF14 | ✓ | ✓ |
DataMatrix | ✓ | ✓ |
Codabar | ✓ | ✓ |
Wrap Up
The plugin is just getting started but we have seen some good adoption already. If you miss certain features or stumble upon an issue please don’t hesitate to open an issue on GitHub. Of course pull requests are also welcome. Happy scanning.
Get Started with Tabris.js
To try out Tabris.js
- Install the Tabris.js 2 developer app on your device
- Try out the examples bundled in this app
- Run your own code snippets from the playground, our online Tabris.js editor
To start developing real apps,
- Install the latest Tabris CLI on your machine:
npm install -g tabris-cli
- Type
tabris init
in an empty directory – this will create a simple example app - Type
tabris serve
and load it in the developer app
The documentation contains everything you need to know (tip: try the doc search). Beginners find a step-by-step guide in this ebook. If you have questions or comments, you’re also invited to join the community chat.