19
www.printek.com
| P: 888.211.3400 | F: 269.925.8539 | E:
info@printek.com
Software Developers Kits (SDKs
)
Even programmers need help sometimes. The purpose behind a
S
oftware
D
eveloper
’s
K
it (“SDK”) is
to help a programmer tasked with writing a mobile application for a specific platform. SDK is not a
hard definition in the industry; it is quite variable and generally means any set of instructions,
examples, APIs, or code libraries which are designed to aid a programmer in creating an application.
Any company that supplies a platform upon which software applications are dependent usually
supplies some form of an SDK. For example, Google supplies an SDK for the Android operating
system which describes and illustrates how certain Android functions work; Apple supplies something
similar for iOS as well. Many hardware suppliers, such as Printek, have taken to supplying SDKs for
people who might need to write programs that use our printers in an application, with the intention
being to describe and illustrate for a programmer how to achieve certain primary tasks and use
important product features.
Not surprisingly, SDKs often take the form of or include sample source code (the written program
routines, written in a specific programming language) as a way of easily conveying to a programmer
how certain functions work. For instance, Printek supplies demo programs for most popular platforms
(as described above), and the corresponding SDK for that platform is often the source code from one
of our demo programs. This is particularly useful because the programmer now has an operating
demonstration program which prints for him, and the exact program code of the working demo (with
comments, along with all of the libraries which go into the compiled executable program) in front of
him. This kind of direct correlation makes it easy to add the printing feature into their own application
with great confidence; in some cases they can cut and paste the source code snippets they need from
our SDK into their application. Because the source code is from a real working demo program, the
programmer learns all the fundamental tasks needed to print: opening the communications port,
checking printer status, parsing printer language calls, sending a job line by line (or an entire file at
once) through the port, housekeeping tasks, closing the communications port, etc. In many cases the
Demo / SDK also illustrates some advanced non-printing tasks for that particular platform, such as
graphic file conversion, mobile device screen capture, image dithering, etc.
Printek SDKs come in the following forms:
-
WinMobile / WinCE >>> typically written in C# or C++
-
Google Android >>> typically written in Java
-
Apple iOS >>> typically written in Objective C
It is important to note that printer SDKs are not required if the system integrator will use drivers or
some other utility to print with. In fact, they are not needed at all if the system integrator or
programmer is already comfortable or experienced with writing programs for a particular operating
system and/or a specific printer. Remember, they are only an
aid
to the programmer, NOT an
absolute requirement. Using the SDKs can save significant time during the application development
process.
Drivers and Virtual Drivers
In the world of desktop and laptop computing systems, drivers are commonplace. When the driver is
loaded and printer communication is achieved, users can print from their applications. The
sophisticated operating system on PCs do all the hard work: they place the correct driver files and
printer information into the proper location on their system, make the printer available (by name) to all
applications running on the operating system, call the driver when it is needed, etc. Traditional device
drivers form the interface between the computer applications and the device, with the operating
system acting as the overall manager of the process. For all operating systems that use the driver