Developing Newton apps with Einstein, TextMate and tntk
Einstein is working very well as a replacement for an actual Newton during development. An important enabler is the AppleScript interface, which allows "remote controlling" the emulator. TextMate is my editor of choice for other development projects already, and extending it to support NewtonScript and interfacing with Einstein is very easy. And finally, tntk is able to generate Newton packages of reasonable complexity if certain limitations are kept in mind.
Setting up Einstein is straightforward, and instructions on getting a ROM file are just an internet search away. I'm using the the same screen resolution on the emulator as on an MP2100, and I install a list of very useful packages:
Unfortunately, BugTrap is not able to save trapped errors to the Notepad, but it is possible to use ViewFrame's intercept functionality to break on exceptions, which is a very good replacement.
tntk does not need much setup, it just has to be somewhere in the path on Mac OS X, e.g. copied to
I've created a NewtonScript bundle for TextMate (a current snapshot can be downloaded from the git repository on SourceForge, the unpacked folder has to be renamed to
It closes the application running in Einstein, removes the package, and then installs the new package. The TextMate bundle is configured to run the script via the shortcut
The development cycle using tntk and Einstein is slightly different from using the NTK. One major difference is the absence of the Inspector, but ViewFrame is a very good replacement, and in some areas even superior. One big advantage is the ability to use standard source code version control systems since tntk uses text files. It has always bothered me to not have good change control when developing Newton applications.
Converting existing Newton applications is not straightforward, but possible if the original NTK project is available. The NTK allows saving the project as a text file, which can be modified into a tntk compatible source file. In general, the original developer documentation by Apple is an excellent resource to get started, and ViewFrame is very useful in understanding the inner workings of applications.