Ionic 1 vs Ionic 2 vs native

Hi All, I am doing ionic development from last couple of months. I have done some performance analysis on ionic Vs native. Below are my observations.

  1. First application Screen displays after 7-9 seconds. We have disabled splash screen.
  2. I have created phonebook and it get data using cordova contact plugins after 8-10 seconds. However WiFi Scan list comes up with in 1-2 seconds.
  3. I have created list of 10000 items using Virtual Scroll in ionic 2. List is getting blank for 2-3 seconds while fast scrolling.
  4. I have compared the UI performance of ionic 1 vs ionic 2 vs Native using List view with 10000 List items. Below are my observations on that

A. Ionic 1: I have created list using collection-repeat. List scrolling is not very smooth as compared to native one. I would say it would be approx. 70 % of native. CPU utilization while scrolling list goes from 25-45% using Android SDK Monitor tool. I am uploading the performance analysis graph using Android SDK monitor tool.

B. Ionic 2: I have created using Virtual Scroll. List Scrolling is very smooth as compared to Ionic 1 and it is closed to native. But while scrolling screen can easily be turned in to blank (white) for 3-4 seconds. Also sometime some items of list view not rendered. CPU utilization while scrolling list goes from 20-42%. I am uploading the performance analysis graph using Android SDK monitor tool.

C. Native: CPU utilization while scrolling list goes from 10-20%. I am uploading the performance analysis graph using Android SDK monitor tool.

image<img

PLEASE PROVIDE YOUR FEEDBACK ON THIS
My Development Environment details are:

Cordova CLI: 6.2.0
Ionic Framework Version: 2.0.0-beta.11
Ionic CLI Version: 2.0.0-beta.37
Ionic App Lib Version: 2.0.0-beta.20
OS: Windows 8.1
Node Version: v4.4.4

I am testing on Mobile Device
Moto G Android OS 5.1

3 Likes

Hi hrmant_hsc,

Sorry to reply late, but i was wondering the same question.
Iā€™m curious to test something similar to have an idea. I wanted to know if I should use React Native or take ionic 2.

Did you keeped your code ? Could you share it with me ?

Thanks a lot,

Calliste