
We found a JavaScript UI library that performs great on Android mobile web - craig_evans
Our company reviewed many of the options available based of suggestions from our Reddit posts. In the end we made a constructive attempt at trying all the libraries&#x2F;frameworks that our team could attempt in a single sprint. In the end, we tried React, Ember, Angular 2, Vue, Mithril, Cycle, Preact and Inferno.<p>We tried the latest Vue 2.0 (https:&#x2F;&#x2F;github.com&#x2F;vuejs&#x2F;vue&#x2F;tree&#x2F;next) and Mithril 1.0 (https:&#x2F;&#x2F;github.com&#x2F;lhorie&#x2F;mithril.js) betas and we had some great results from both. We also tried Preact but we had issues with some SVG namespaces not properly being rendered so we gave up. Vue and Mithril enabled us to finally use our example app on our legacy Android testing devices. The experience with Cycle and Angular 2 was about the same as React (unusable) and the latest Ember was better but the initial page load times were still terrible.<p>We thought we found our library (Vue 2) until someone found a benchmark recently that showed that there was a library out there like Preact and React called Inferno. I highly recommend reading their readme (https:&#x2F;&#x2F;github.com&#x2F;trueadm&#x2F;inferno). It makes sense. We ran all our benchmarks and it not only came up quite a bit faster than both Vue 2 and Mithril 1.0, it also had a much more modular breakdown that allowed us to use our own state and router library without being tied to a framework – which was a massive win for the team.
I have to say though, the amount of choices out there is insane. We&#x27;re just lucky we found the right library for us and our needs. We highly recommend checking out Vue 2 though for ex-Angular codebases (which some of our team came from).<p>I hope this helped!
======
craig_evans
I'm happy to give feedback on any of the projects we tested. A note also: we
found Cycle the hardest to build, simply because it was a big departure from
what we were used to in the past. We found both Angular and Vue the most
familiar and easy to get started with.

~~~
shams93
I'm curious to hear about mithril 1 versus infernojs, inferno looks like it
benches well but did you guys try it out on a real project? Miithril is
interesting because its endorsed by the FSF. React is interesting because it
has a huge community now, but it is also concerned with backwards
compatibility with older browsers and they seem not so concerned about good
mobile performance as the assumption seems to be you should use react native
for mobile, however if you're developing for web audio that doesn't help.

~~~
trueadm
I agree. Although I know that the React team have been spending a large amount
of resources lately addressing React's performance problems. Inferno has a
"inferno-compat" package that should allow it to easily replace a React app
almost 1:1 without too many issues.

------
trueadm
Thanks for trying Inferno. It's great to hear that it worked out so well for
you too - let me know if you have any issues or need help with anything. I'd
be happy to help :)

------
flukus
Knockout always gets forgotten :(

I've found it to be very performant on mobile, provided you avoid a few
gotchas.

~~~
trueadm
I've found the opposite with Knockout, especially in complex apps that make
use of many observable and subscriptions. Knockout used to be great for MVVM
apps, but I feel it's quite dated compared to more modern approaches both in
performance and architecture.

