← Back to team overview

sikuli-driver team mailing list archive

Re: [Question #232162]: what's the difference between Sikuli-script.jar and sikuli-api ?

 

Question #232162 on Sikuli changed:
https://answers.launchpad.net/sikuli/+question/232162

    Status: Open => Answered

RaiMan proposed the following answer:
--- the SikuliX project
Historically there first was sikuli-script.jar, that has the original SikuliX Java API and still fully supports it with the new version 1.0.0.
It is built above the native C++ libraries of OpenCV (the visual search engine) and Tesseract (OCR engine). It can be used to run scripts in the Jython language and is needed by the Sikuli IDE too, to do its job.
It will further be developed to support the usage of Sikuli features using plain Java or Jython and other Java aware scripting languages.
It is intended to have a sophisticated Java API for visual programming and allow easy scripting in Java aware scripting languages  using Sikuli IDE. Like Sikuli Java API it can be used in pure Java programming and Java aware scripting languages using IDEs like Eclipse, NetBeans, ...

--- the Sikuli Java API project
This is a new pure Java development by one of the developers of SikuliX. The visual search engine is implemented using javacv (a Java JNA implementation of OpenCV).
It is to some extent feature compatible with SikuliX, but also has some major differences and lacks some features of SikuliX (no OCR). But it also has some nice additional features.
But simply said: a Java program using Sikuli Java API will not run with sikuli-script.jar.
It is intended for use in Java programming and Java aware scripting languages using IDE's like Eclipse, NetBeans, ...

--- What should I use?
When starting with Sikuli today, you really have the choice. Because it does not have to carry around some native libraries, it might be somewhat easier to handle currently.
If you are already a user of SikuliX, now switching to Sikuli Java API does not really make sense: end July with SikuliX 1.0.1 you can have a sikuli-java.jar, that you simply put on the class path and start with your Java (or Jython or whatever scripting language 
development). The native libraries are contained in the jar and be exported to the outside world at runtime.

-- 
You received this question notification because you are a member of
Sikuli Drivers, which is an answer contact for Sikuli.