Surely many of you have heard about the Titanium Mobile platform from
Appcelerator , which allows you to develop native applications for iOS and Android using JavaScript (for those who have not heard or tried it, you are
welcome ). I’ve been working with Titanium for about 10 months and I’m almost satisfied with everything, but there’s one problem, after using Xcode and Interface Builder, the work on the program’s interface is annoying: Titanium doesn’t support nib files, which means that the dimensions of the elements have to be adjusted manually and it’s not possible to use some elements again (this problem is partially solved by JSS, it works by analogy with CSS). In fact, the problem is not to adjust the size manually (for example, when html-layout I refused WYSIWYG-editors for a long time and used vim), but the fact that after making changes you need to wait for the compilation and installation of the program in the simulator / emulator, but so do not want to spend time on it.
Jacob Waller came up with an interesting solution to this problem (in the Appcelerator blog, the announcement was already on the 3rd of December last year, but I didn’t wait for a topic about this in Habré):
Livetanium , thanks to which you can forget about the compilation time and installation - you can see changes in the simulator or on the device immediately after saving the file.
Screencast showing Livetanium features:

While Livetanium is in the state of early beta and works only for the iPhone, but this does not interfere with testing it. For this you need:
- Install node.js:
$ git clone git://github.com/ry/node.git; cd node
$ export JOBS=2 # optional, sets number of parallel commands.
$ mkdir ~/local
$ ./configure --prefix=$HOME/local/node
$ make
$ make install
$ export PATH=$HOME/local/node/bin:$PATH
- Download Livetanium:
$ git clone git://github.com/krawaller/Titanium-Tools.git
- Configure Livetanium: change line 53 in the Titanium-Tools / Resources / app.js file
K.watch("192.168.10.236", 8128, win); # ip, port, window
- Start the node.js server:
$ node Titanium-Tools/Resources/server.js
- Import Titanium-Tools to Titanium Developer
- Run the project in the simulator or on the device and try to play with the file Titanium-Tools / Resources / Livetanium / demo.js