The “write once, run anywhere” concept may be pure fantasy for most apps but sharing code across platforms is desirable and in some cases essential to making projects economically viable. With the application frameworks for all the biggest platforms being in different languages, the market for Cross-Platform Tools (CPTs) to enable code reuse is understandably the largest one (in terms of number of competing solutions) we track. The time required to evaluate all of them is far beyond what most developers can afford to spend on such research. So, which tools are the best?
In our last developer survey we asked CPT users to tell us what they considered most important when choosing a CPT and also to rate their primary tool (some developers use several) across multiple criteria. Because that report was primarily about tools, several of the CPT vendors promoted the survey to their developers. Although we try to weight responses resulting from different promotions to attempt to remove this sampling bias in our statistics, it’s not possible to eliminate it entirely from the relative popularity of the tools themselves. As such, although the developer mindshare is a useful indicator of quality tools, we shouldn’t trust that alone. Amongst the most popular tools, it turns out that CPT users are generally very happy with their choices.
The average score out of 5 for all of the tools with more than 30 sets of developer ratings is close to 4 and weighting that by the relative importance of each aspect increases the average for all of the tools except Qt.
Using the weighted average score as our benchmark, overall Haxe came out as a clear winner in developer satisfaction. Second place went to Sencha, which seems to come out top on almost all metrics (except popularity) amongst general purpose web-centric CPTs. A very close third was RunRev’s LiveCode, which has recently gone open source with a dual-licensing model. None of these top 3 tools by developer satisfaction have more than 12% mindshare amongst CPT users, let alone the wider developer population. They all cover mobile and desktop platforms and between them cater to most tastes – there’s a strictly typed language (Haxe), web standards (Sencha) or a very high level dynamic language (RunRev). All of them are free to get started with, why not give one of them a try and find out why their users are so happy? After all, a happy developer is a productive developer.