| Deutsch English Français Italiano |
|
<vd7tgg$13osd$1@dont-email.me> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!news.mixmin.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Ashok <apnmbx-public@yahoo.com> Newsgroups: comp.lang.tcl Subject: Re: ANNOUNCE: cookit v2.2.0 Date: Sat, 28 Sep 2024 09:04:39 +0530 Organization: A noiseless patient Spider Lines: 81 Message-ID: <vd7tgg$13osd$1@dont-email.me> References: <20240927175648.5e7873a0a6a6be4e25b4eef5@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Date: Sat, 28 Sep 2024 05:34:40 +0200 (CEST) Injection-Info: dont-email.me; posting-host="83a72c2108449a3ee1a12c420ae2dfc0"; logging-data="1172365"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18zMCzlbpVrtCLMQWw8UEYW" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:d4UT4U0JSsjr/eGMyAuZ7PFOds4= In-Reply-To: <20240927175648.5e7873a0a6a6be4e25b4eef5@gmail.com> Content-Language: en-US Bytes: 4466 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. >