proposals icon indicating copy to clipboard operation
proposals copied to clipboard

Bixolon (POS, printers, MSR, smart cards, etc.)

Open andreidigori opened this issue 2 years ago • 5 comments

Plugin Request

Name: capacitor-bixolon Package: @capacitor-community/bixolon

Platform(s)

  • Android
  • iOS (in development)
  • Web (in development)

Existing Solutions

https://github.com/andreidigori/capacitor-bixolon

Created by me for an application, currently implemented on Android, but going to develop for iOS as well. As a POC I want to implement web through Bixolon Web Print SDK.

Description

The plugin provides bindings for Capacitor for working with Bixolon POS devices. Some methods which are available for Android was marked and implemented, as well for iOS. Controls methods which are common for both platforms and have the same arguments are sent natively according to platform.

andreidigori avatar Aug 22 '23 16:08 andreidigori

Hi,

Just a question. Why did you use the web sdk method for controlling the bixolon devices. JavaPOS should be more standard and basically interop with other pos devices and not only Bixolon. What do you think?

albgen avatar Sep 03 '23 09:09 albgen

Hi @albgen ! Thank you for reply!

The reason is that Web Print SDK is limited to TCP network, but USB and BT devices are not allowed with Web Print. Instead we have to use Android SDK and iOS SDK, so this plugin has just utils methods to communicate with native SDK. All methods and properties are forwarded through this plugin, with the help of java reflection. iOS IS NOT READY YET, still working.

About JavaPOS, you can see in the source files that jpos package is embed with bixolon***.jar file. The reason they chose to use it I cannot explain. (I think its https://github.com/emigonza/JavaPOS )

If you have some problems with integration of this plugin, I can help you figure it out fast.

andreidigori avatar Sep 03 '23 10:09 andreidigori

I see your point. Btw, my requirements are to use JavaPOS(or at least this is my conclusion) because the hybrid/web app has to use not only Bixolon devices but as much as possible physical devices in the market and JavaPOS is the only standard covering the most devices.

Recap, my goal is to create a capacitor plugin in order to print on a variaty of devices.

albgen avatar Sep 03 '23 16:09 albgen

If you want to cover multiple brands (devices), then you better have to study multiple SKDs (or plugins like this), add an abstraction layer in Javascript and implement for each brand.

One problem with this plugin can be conflicts with package "jpos.***" if any other plugin has a jar with the same package name.

andreidigori avatar Sep 03 '23 22:09 andreidigori

i'm not sure but it is supposed to work without using multiple sdk. That's why they created this standard. The idea is that each hardware vendor implements it's own command but the interface exposed is JavaPOS and basically they load these classes with reflection...

albgen avatar Sep 04 '23 09:09 albgen