Getting a basic interpreter working wasn't hard, but I attempted to add a few of the optimizations listed here[1], which meant adding some form of AST and stuff to manipulate it. This is where I got a bit stuck with regards to performance as some of my optimizations meant the program should have been faster, but instead it slowed down.
One way of doing it is having an out-of-bands way of refreshing tokens in responses. So if the token is about to expire you can return an updated one on the side-channel.
Go doesn't really work because it needs a runtime (as far as I know). Rust however is quite useable. There's a couple of kernels, including one by me: https://github.com/lexs/rust-os
And the app doesn't look native to Android either. Some things are inherently non-Android, such as bottom tab-bars. All images are also low-res on my Galaxy Nexus and scrolling is laggy.
There are some great bugs as well:
* It loads the wrong images and the flickers in the correct image later
* Everything says "0 listings"
* Clicking the map button crashes the app
* It's very hard to sidescroll their custom ViewPager
WHen the article complains all the time about how it's oh so hard to deal with all those screen sizes I was expecting a terrible app and I was not surprised!
* Has <b> tags instead of actually bolding text
* Shows the price in my locale's format, not what they're actually charging!
* Intro movie is very annoying, and after it's done it moves around a few pixels every 10 seconds or so
* Sign in screen has a massive logo but the email and password fields don't fit on my Galaxy Nexus