Version 6 of iOS

Updated 2019-12-17 02:33:22 by GWLester

iOS

Apple's operating system powering the iPhone, iPad, and iPod Touch.


chrstphrchvz 2019-02-03: A few months ago, someone asked on the tcl-mac mailing list if it was possible to convert an existing Tcl/Tk game (CrossFire ) to run on iOS. I replied that the short answer is no, but spent some time gathering info on any earlier efforts. Seeing as this page was empty, I have adapted my response here for reference. These are just some scattered notes, but I hope this helps give an idea of what's out there.

  • An earlier mailing list thread. This response in particular notes not just the technical challenge of getting Tk working on iOS, but also that the desktop UI/UX for mice and keyboards, which Tk is designed for, might not be ideal for touchscreens and smartphones.
  • Some ideas or prototypes for Tk on iOS have appeared in past Tcl/Tk Conference Proceedings, and a few have their own pages on Tcl Wiki. Of these, sometimes the goal is to provide an incomplete "Tk-like" API rather than one that is compatible with existing Tk. So they may not support all features or will require new/rewritten code in order to support iOS. With the exception of Androwish, I don't know if any of these are actively maintained. There is also plenty more discussion out there on Tk for web browsers in general.
    • APWTCL (Objective C) allows Tcl itself to be used in a native iOS app, but does not provide Tk for GUI. So with APWTCL, any Tcl can be used for the "business logic" of the program, while the UI might be redone in e.g. Objective C for iOS compatibility.
    • WubTk is a newer approach to running Tk in a browser without a plugin (i.e. unlike the older "Tcl Plugin" for desktop browsers). This sounds like the closest thing to have had Tk working on iOS.
    • NaTcl is Tcl for Chrome/Chromium browsers’ NaCl platform, and which planned to adapt WubTk into NaTk. (NaCl is being discontinued in favor of WebAssembly, which is supported by other major browsers and recent iOS versions; I haven’t found if that’s what any of these projects intend to move over to.)
    • WTK for APWTCL is another idea that proposed using OpenGL ES for GUI (though that is now deprecated as of iOS 12).
    • In October 2016 a job bulletin for porting Tk to iOS was posted, presumably by extending the Androwish project (Tcl/Tk for Android). I have no idea if anything became of that.
      • I posted that ad, and no, nothing came of that.
    • I've successfully "webcast" my Androwish app https://www.instagram.com/p/B3M2grmhKeG/ to web browsers using the jsmpeg library https://www.androwish.org/index.html/wiki?name=jsmpeg+SDL+Video+Driver and the user experience is quite good. As a next step, I'm looking at using a minimal "turn a web site into an ios app" wizard to effectively create an iOS icon that appears to run the app. You still need a non-iOS host to run the app, however.
    • Something I found more recently: Wacl runs Tcl on JavaScript/WebAssembly; a cool idea would then be to have an HTML backend for Tk. GWLester I'm working on this as time permits and it is over 50% done -- if anyone wants to help with the HTML/JS part, let me know.

Jeff Smith 2019-02-05: CloudTk may be another option for viewing Tk apps in a browser on iOS

chrstphrchvz 2019-02-23: Indeed that already works on iOS, but I find it somewhat awkward to use. If the VNC server allows direct connections, then using a native app (such as RealVNC's VNC Viewer) likely provides a much better experience. The question here is more about how to run Tcl/Tk programs directly on an iOS device without having to host the program on a computer (allowing e.g. offline use).