D 2021-03-24T03:36:07.205 L AndroWish P 33ca893f14a842eaaa74c470dd0db80a2708953f U john W 23696

Executive Summary

Tcl (Tool Command Language) is a very powerful but easy to learn dynamic programming language, suitable for a very wide range of uses, including web and desktop applications, networking, administration, testing and many more. Open source and business-friendly, Tcl is a mature yet evolving language that is truly cross platform, easily deployed and highly extensible. Tk is a graphical user interface toolkit that takes developing desktop applications to a higher level than conventional approaches. Tk is the standard GUI not only for Tcl, but for many other dynamic languages, and can produce rich, native applications that run unchanged across Windows, Mac OS X, Linux and more. AndroWish allows to run desktop Tcl and Tk programs almost unaltered on the Android Platform while it opens the door to script a rich feature set of a mobile platform. Its sibling [undroidwish] uses the same code base and offers a similar feature set on various desktop and embedded platforms.

Quick Links

Documentation   Tcl/Tk 8.6 manual,
[ble command|ble], [Android facilities|borg], [dmtx command|dmtx], [modbus], [Muzic MIDI sound package|muzic], [rfcomm command|rfcomm], [sdltk command|sdltk], [snap7], [tclcan], [topcua], [usbserial command|usbserial], [uvc], [wmf command|wmf], [v4l2 command|v4l2], [zbar command|zbar], [ZIP virtual file system|zipfs],
[Batteries Included|list of extensions], [Releases|list of releases], [Environment Variables|environment], [undroidwish], [Beyond AndroWish|undroidwish command line switches]

PDF booklet for eBook readers, excerpt of this wiki

Development   [AndroWish SDK], [Building AndroWish|building#1], [Build custom Androwish|building#2], [Building vanillawish/undroidwish on Windows|building#3], [Example Scripts|examples]
Downloads   AndroWish-debug.apk, AWSDK.zip

Features

* Native Tcl/Tk 8.6 port for Android (version 2.3.3 or above) available for ARM and x86 processors. * Top goal: execute existing Tcl/Tk scripts on Android without modification. * Based on Tim Baker's earlier SDLTk project. * X11 emulation based on AGG (Anti-Grain-Geometry) and SDL 2.0. * Provides anti-aliased rendering of lines, circles, arcs. * Font rendering using freetype font engine. Starting with the "Back to the Future (2015-10-21)" release, Unicode 8.0 is fully supported and Emojis can be displayed (and input with the on-screen keyboard on newer Android devices). * Includes the 3D canvas widget which uses an OpenGL to OpenGLES 1.1 emulation for drawing on the Android platform. * Includes the tkpath widget, an enhanced canvas with SVG like capabilities, anti-aliased rendering, alpha channel, and TrueType outline fonts. * Mounts its constituting APK (Android package) using a built-in [ZIP virtual file system] as a memory mapped file. * "[Batteries Included]" packaging like TclKits, i.e. many ready-to-use Tcl extensions are already bundled. * Some Android specific facilities are exposed through SDL and usable with the [sdltk command]. * Tcl commands are available to use even more Android specific facilities: [Android facilities|borg command], [ble command], [rfcomm command], [usbserial command]. * Some Android specific things are exposed through [Environment Variables]. * A MIDI sound package is built in and described in [Muzic MIDI sound package]. * An experimental rendering mode allows to use it with VR headsets like Google's cardboard. * Many [Example Scripts|example scripts] are built into the [AndroWish] package. * [Building AndroWish] requires the Android SDK and Android NDK. A detailed description by Harald Oehlmann is available in [Build custom Androwish]. * A new approach of bundling Tcl scripts with the [AndroWish] infrastructure is described in [AndroWish SDK]. * Testing and debugging Tcl scripts on an Android device can be carried out from a development system using [tkconclient]. Files can be transferred using a SSH/SFTP connection as described in [tkconclient]. More tips can be found in [Test and debug strategies on AndroWish]. * There are certain [Limitations of AndroWish]. * Support for generating bar codes using ZINT and decoding bar codes using the ZBar bar code reader, and data matrix codes using the libdmtx library. See description of [zbar command] and [dmtx command]. * Beneath and [Beyond AndroWish] are components in the source tree which can be recompiled for other platforms like the Raspberry Pi and even [undroidwish|Windows]. * Slides (PDF) from EuroTcl2014. * Slides (PDF) from Tcl2014. * Slides (PDF) from EuroTcl2015. * Slides (PDF) from EuroTcl2016. * Slides (PDF) from EuroTcl2018. * Slides (PDF) from EuroTcl2019. The current AndroWish-debug.apk can be downloaded here (about 36 MByte, requires "install from unknown sources" in Android settings). Prehistoric versions are still available here. Z 24732db7ca6d67d032ca6691dbd4fb04