FireTcl is a new way to develop desktop applications using web technology and Tcl.
It embeds a Tcl interpreter into Firefox.
The advantages of using web technology are:
What are the advantages of this approach?
Another possible approach for giving support to the other browsers (Chrome, Internet Explorer,...) is to uses a local server and make all the requests for Tcl evaluation to this Tcl server. PHP Desktop uses the same idea [1 ]. They use Mongoose as the web server.
One possibility is to use a Tcl websocket server for doing efficient calls and for bidirectional communication.
This other approach using a local server is a complement to my approach for giving support to the other browsers. But FireTcl is a little bit more efficient.
bll 2015-8-22: XPCOM is on its way out apparently. https://blog.mozilla.org/addons/2015/08/21/the-future-of-developing-firefox-add-ons/
FireTcl 2015-9-4: After 15 years of XPCOM and XUL, firefox decided to deprecate this technology. I don't know what will happens at the end because the main strength of firefox is its potential for building extensions, and a lot of users disagree with this new direction of firefox. There is a lot of complaints. It's possible that firefox will support js-ctypes in its new API WebExtensions because js-ctypes doesn't depend directly on XUL, or perhaps will be possible to build another efficient bridge using the new API, because for example they guive support for the system/child_process Add-on SDK module:
The future is uncertain. Anyway I decided to fork this project and build another bridge using websockets. The browser will send Tcl code to eval to a local server through websockets. This solutions works for all modern browsers and it won't be never deprecated, because websockets takes part of the new HTML5 API and it's a solution to an old problem: bidirectional communication to a server (for example, for chat applications). Also XPCOM will work for at least 12 months more. I will try to provide the same API for this new bridge. This way the same code will work for both bridge. This will make the transition easy.
I want to add here the apocalyptic message of the book of mozilla (writte "about:mozilla" in the URL bar of firefox):
FireTcl 2015-11-7: I have just released FireTcl 4.0.1 This new release guives support to a solution using websockets for Tcl code evaluation on a server.
FireTcl 2015-2-8: I released FireTcl 5.1. The main new features are:
- multiprocessing remote interpreter. Threads are not more necessary - remote workers on the server - evalute tcl scripts passing parameters - browser detection - powerful configuration file - debugging tools: tcl editor, firebug lite and js console of firefox - independence of the path of the projects. The only requirement is to add the script boot.js in index.html - support for clipboard added