Konstantin Kushnir
2024-09-27 14:56:48 UTC
Hi Everyone!
I am pleased to announce version 2.2.0 of cookit - tclkit-like Tcl
runtime environment with Tcl 8.6.15 and Tcl 9.0.0 with a focus on a
balance between functionality and executable size
Homepage and downloads are on github: https://github.com/chpock/cookit
Here is just a basic description of it. All details can be found on the
website home page.
Please fill free to check/build/use it. Any feedback is welcome!
=====================================================================
Cookit is a Tcl/Tk runtime environment similar to tclkit with a focus
on a balance between functionality and executable size. It allows using
Tcl/Tk in both console mode and graphical mode to run Tcl scripts, as
well as packaging applications into a single executable without
external dependencies.
Cookit is a single executable file that contains:
* Tcl/Tk version 8.6.15 (with Threads enabled) or 9.0.0
* Statically linked packages: cookfs, tclvfs, Threads, tclmtls, tdom,
twapi (for Windows platform)
* Other packages: tkcon
Supported platforms:
* Linux x86 / x86_64
* Windows x86 / x86_64
* macOS x86_64
This means that Cookit can be easily and simply used to develop both
console and GUI applications, which can be multi-threaded, send HTTPS
requests to third-party services, process the received JSON/XML
response with tdom. For debugging in GUI mode a convenient and uniform
on all platforms console tkcon is available. After development, the
application can be packaged into a single executable file without
dependencies and used in other environments as a standalone application.
It can also be used as a replacement for tclsh/wish.
At the same time, the executable file has minimal size.
* for Linux platform: executable file without Tk - about 1.1MB,
executable file with Tk - about 1.7MB
* for Windows platform: executable without Tk - about 1.5MB,
executable with Tk - about 2MB.
This is an amazing size considering the ability to create GUI
applications with support for SSL/TLS connections, work with JSON/XML
documents, extensive access to WinAPI using twapi on Windows platform.
In normal installations, only the size of the OpenSSL library will be 2
times larger.
As a use case, consider an internal installer that works in both
console and GUI mode and contains the same code for all platforms. This
installer uses the REST GitHub API via HTTPS to get information about
the latest available release, uses tdom to parse the JSON response,
downloads a platform-appropriate tar.gz archive from GitHub releases
using HTTPS, mounts the resulting tar.gz archive using tclvfs and
extracts the necessary files to the destination directory.
I am pleased to announce version 2.2.0 of cookit - tclkit-like Tcl
runtime environment with Tcl 8.6.15 and Tcl 9.0.0 with a focus on a
balance between functionality and executable size
Homepage and downloads are on github: https://github.com/chpock/cookit
Here is just a basic description of it. All details can be found on the
website home page.
Please fill free to check/build/use it. Any feedback is welcome!
=====================================================================
Cookit is a Tcl/Tk runtime environment similar to tclkit with a focus
on a balance between functionality and executable size. It allows using
Tcl/Tk in both console mode and graphical mode to run Tcl scripts, as
well as packaging applications into a single executable without
external dependencies.
Cookit is a single executable file that contains:
* Tcl/Tk version 8.6.15 (with Threads enabled) or 9.0.0
* Statically linked packages: cookfs, tclvfs, Threads, tclmtls, tdom,
twapi (for Windows platform)
* Other packages: tkcon
Supported platforms:
* Linux x86 / x86_64
* Windows x86 / x86_64
* macOS x86_64
This means that Cookit can be easily and simply used to develop both
console and GUI applications, which can be multi-threaded, send HTTPS
requests to third-party services, process the received JSON/XML
response with tdom. For debugging in GUI mode a convenient and uniform
on all platforms console tkcon is available. After development, the
application can be packaged into a single executable file without
dependencies and used in other environments as a standalone application.
It can also be used as a replacement for tclsh/wish.
At the same time, the executable file has minimal size.
* for Linux platform: executable file without Tk - about 1.1MB,
executable file with Tk - about 1.7MB
* for Windows platform: executable without Tk - about 1.5MB,
executable with Tk - about 2MB.
This is an amazing size considering the ability to create GUI
applications with support for SSL/TLS connections, work with JSON/XML
documents, extensive access to WinAPI using twapi on Windows platform.
In normal installations, only the size of the OpenSSL library will be 2
times larger.
As a use case, consider an internal installer that works in both
console and GUI mode and contains the same code for all platforms. This
installer uses the REST GitHub API via HTTPS to get information about
the latest available release, uses tdom to parse the JSON response,
downloads a platform-appropriate tar.gz archive from GitHub releases
using HTTPS, mounts the resulting tar.gz archive using tclvfs and
extracts the necessary files to the destination directory.
--
Best regards,
Konstantin Kushnir
Best regards,
Konstantin Kushnir