If you like to develop iOS applications in Java you should take a look at RoboVM. The RoboVM compiler translates Java bytecode into native ARM code that runs directly on the CPU. The compile time tools are licensed under the GPLv2.
Update Apr/2016: RoboVM has discontinued its development. See the libGDX main developer’s blog post for more information about the background and viable alternatives: http://www.badlogicgames.com/wordpress/?p=3925 (it’s Multi-OS engine)
During the last six months I have written the same mobile app for the three major (or to-be major) platforms, that is iOS, Android and Windows Phone. The app called WORTOMAT is a simple game in which you have to find words in a grid of 25 characters. There are plenty of Boggle clones out there, each with a different twist or distinctive design but none with a German dictionary, so this was what I was going for.
Walmart has also jumped the Node.js bandwagon and put a lot of effort in moving (parts of?) their sites to the async JS framework. In that course they encountered a memory that apparently was located in the Node.js core. After Eran Hammer of Walmart “had been tracking [the bug] down for months” (!) the turned to cloud provider Joyent, who went to employ Node.js founder Ryan Dahl and sponsoring Node.js development.
There are two types of file access in Windows Phone applications. One is about creating files from within an app that can be read after an application restart. The files are saved in a kind of sandbox that isolates the application specific data from access by another application (hence the name IsolatedStorage). Another way of accessing files is about reading files you ship with an application, such as XML or text files.
To hide the Title Bar in Android Apps you need to change the android.theme property of the activity in AndroidManifest.xml to “@android:style/Theme.Black.NoTitleBar.Fullscreen”:
Instead of using the pre-made Android GUI elements you can create your own drawables in XML. There’s some documentation on the Android documentation website, but it is not very detailed. Let’s say you want to create a drawable called “tile”, which works similar to a button, but has a toggle state, that is, it remains in either state until it is clicked again. The first thing you do is create an XML file called “tile.
With Android 3 Google has introduced the ActionBar and more or less deprecated the Options Menu. However when you want to support older devices (the majority of existing devices still run Android 2.3) you might want to use the Options Menu. When you implement an Options Menu in an Android App, you run it on a Tablet with Android 4.0 and press the Options button, nothing happens. The only way to make it work is to set the SDK versions in the AndroidManifest.
Navigation between Pages is the predominant application paradigm for Windows Phone apps, when you are not creating a panorama app. Very often you will want to pass data between the individual items, for instance when the user selects an item from a list and the application navigates to a detailed view of that item. There are several solutions to that problem:
Define a variable in the static Application object. Use the query string (forward navigation only) Use PhoneApplicationService Use delegates Number 1 is simple.
Not only did they use Node.js but they developed several modules that are available under an Open Source license and the umbrella Kraken.