All of these platforms are comprised of different feature set and each of them vary in their ability to write native applications i.e. the applications that can be compiled down to the native code and further interop fluently with the underlying subsystem of Java platform. For example, some platforms only allow the apps to be created on the JavaScript and HTML languages, whereas some can be created at a very low level and only C/C++ code is allowed. In fact, some platforms are not even allowed to use the native control toolkit.