• Re: ANNOUNCE: cookit v2.2.0

    From Manfred Stelzhammer@21:1/5 to All on Sun Sep 29 19:16:44 2024
    Hi

    I tryed cookit with tcl/tk 9.0

    It doesn't look like native tck/tk 9.0.
    I tryed it with a ttk::button.
    The button is little bit smaller and the characters are smaller too.

    Who can I get the native look?

    regards

    Manfred

    Am 27.09.24 um 16:56 schrieb Konstantin Kushnir:
    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.


    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Losko@21:1/5 to All on Mon Sep 30 10:35:59 2024
    Hi, great news.
    Just one question: is unwrappable or not?
    Reading the docs I can't see an option to unwrap the cookit, Can you confirm? And... that would be ok from my point of view, better than tclkits/starkits. What about the "safety" of the code obfuscation?
    Bye.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Ashok@21:1/5 to Konstantin Kushnir on Sat Sep 28 09:04:39 2024
    Looking quite exciting and plan to check it out over the weekend.

    Some initial questions -

    - Am I right that because the packages (tdom, twapi) are statically
    linked, the shared libraries do not need to be written to disk before
    loading? That would be a big win.
    - It would be nice to have sqlite3, if not TDBC.
    - I did not understand the section about the installer. If it is a
    single file exe, why the installer?
    - The wiki cookit page references the old repository.

    /Ashok

    On 9/27/2024 8:26 PM, Konstantin Kushnir wrote:
    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.


    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)