I know the Ionic team has addressed this already, for more than a year ago (!) and it boggles my mind how they can be so quick to bust out new tools and features but not prioritize this fundamental galactic flaw in their framework, which is:
The performance on Android, regardless of version, for even the simplest tasks, is horrendeous.
And yes, I’ve read that >4.4 it’s all good. No it’s not.
We made a simple app with a hamburger menu, some simple lists with no more than 10 items, back buttons, no images and all the animations for basic operations like going back, changing views lag on modern Android phones running 5.0., which is the main problem. It feels so jquery mobileish, back when jquery mobile was bad. Our app contains no weird html or css, everything is made with simple ionic components.
On iOS it looks and feels native but we cannot ship the Android app in the ionic frameworks current state.
When will this be an actual priority to be fixed or will Ionic continue being an iOS framework only?
Gajo we shouldn’t need a third party plugin. My problem is with the core ionic framework. We shouldn’t have to use hacks to make it work properly. I’m amazed this isn’t a HUGE issue within the ionic team already. And you say “I was too lazy to test it with mac”. Sorry, that might be good enough for some random hobby/school project but for a real production app for a company that makes money off of app development, we cannot simply take the risk of it “might” working.
First of all, I agree with @gmarziou, when properly built, on comparable devices, there shouldn’t be any difference between Android and iOS. But, there’s always but, the current smartphone market is full of shit* Android devices that are not built with performance in mind. This is in no way Ionic Framework problem.
I have a Samsung S3, S4, and iOS6 plus and guess what, Ionic applications are working just fine. Why? Because I spent my time learning how to create Ionic applications. You don’t like hacks? Hybrid mobile development is all about hacks. I spent last four years working on every mobile framework imaginable, and this is the first one I’m satisfied with.
A HUGE issue? Do you see many other people complaining? Go to the main forum page, sort questions by “a number of views”. How many posts can you see related to Ionic speed problems?
How much time have you spent trying to solve your problems? Do you want to know why I previously mentioned Google? It took me five minutes to find a solution for low-level Android devices. Five minutes.
And I can say “I was too lazy to test it with mac”. Do you want to know why? I’m not employed by Ionic, I don’t know the team (only team member I ever talked to was @mhartington), I’m not receiving any benefits for been here. No, I spending my own time trying to help people like you. I’m not paid for that; I’m here on my own free will.
So what have we learned today?
Google before you complain
Ionic Framework is not responsible for low-performance Android phones
Ionic Framework is not responsible for low-quality code
If you don’t like hybrid frameworks switch to native development
Hacks are your best friend
jQuery Mobile is still bad, dead, and unimportant
There’s only one real performance problem with Ionic Framework, I’m talking about lists. For the love of God, I can’t find a solution to make them more responsive on low-end devices. But that’s the problem of every hybrid mobile framework.
I always stand behind my words … more or less . Hybrid applications are still not a perfect solution for some applications. Make a huge list and every smartphone will choke, no matter how fast you made it. But transitions are solvable with previously mentioned plugin.
###Bad performance on android
As it has been mentioned before in multiple places, android is a rough market. There are loads of devices that, even though they have android 4.4, don’t have even resources such as ram. This can make hybrid development a pain, but it can also make native development equally as painful.
We test on a large number of physical devices to make sure we’re working well on all of them. Are there some devices that perform better than others? Yes, and we go back to see if there’s anything we can do about it. Sometimes there is, sometimes there isn’t. Thankfully in mobile tech, devices come and go fast, so this problem gets easier as time goes on.
Our sidemenu starter gets tested, as well as a navigation test project, on real low end devices. We make sure that animations are smooth and that the codebase is performant.
As for your app @FoadF, there are a lot more questions than answers. What kind of device are you using, how are you generating the data, what do the views look like. All of this can affect performance on android because of how brittle the android browser is (hence why we suggest people use crosswalk for new apps).
Please feel free to PM me if you want a second pair of eyes for your app, I’d be more than happy to help you.