Tumgik
Building Mobile Apps With Ionic 2 ( ionic 1 vs ionic 2 performance)
Building mobile apps with ionic 2 (ionic 1 vs ionic 2 performance)
Ionic 2 Mobile Apps Development
Tumblr media
Building mobile apps with ionic 2
(ionic 1 vs ionic 2 performance)
Building mobile apps with ionic 2 (ionic 1 vs ionic 2 performance)
The Ionic project is rapidly gaining in popularity. With more than 27,000 stars on GitHub, it has risen to become one of the top 50 most popular open source projects worldwide. And Team Linkites working with Ionic 1 & Ionic 2. for more information click here –>>Building mobile apps with ionic 2 (ionic 1 vs ionic 2 performance)
And since the stable version of Ionic 2 was recently announced, it’s the perfect time for engineers to analyze and understand the differences between Ionic 2 and Ionic 1.
At a high level, Ionic 2 is a complete rewrite of the Ionic 1 project with Angular >= 2.x. From my 2+ years of experience using Ionic 1, here’s what this will mean in practical terms.
Tumblr media
Building mobile apps with ionic 2
(
ionic 1 vs ionic 2 performance
)
Boosted Change Detection Performance
Ionic 1 is based on Angular 1.x, and Ionic 2 is based on Angular >= 2.x. The performance boost you get just by using Angular >= 2.x alone is significant.
With Angular 1.x, to get performant applications required a lot of deep framework knowledge (like $watch, One-time binding, and so on). With Angular >= 2.,x applications are pretty much performant out of the box.
The new version of Angular dropped the famous and decried digest cycle (tracking and testing every variable of the app at every change). Instead, Angular >= 2.x relies on Zone.js to track application changes (both synchronous and asynchronous).
Change Detection in Angular >= 2.x is worth exploring to understand how things work under the hood. In Angular >= 2.x, change detection is always performed from top to bottom. Using the right change detection strategy (OnPush or Default) in your own components is of paramount importance if you want to control the performance of your application.
All Ionic 2 components use the OnPush strategy, meaning the change detection is not performed all the time but, instead, only when the inputs change. This strategy also avoids unnecessary rendering of components’ subtrees. It is basically already optimized for you.
If you want to know more about how to get a performant Ionic1 application, I suggest reading this Ultimate AngularJS and Ionic performance cheat sheet.
Faster DOM Performance
Angular Document Object Model (DOM) manipulation has evolved a lot. If you want a reactive User Interface (UI), DOM manipulation and JavaScript performance is important.
Tumblr media
For example, creating 1,000 rows in a table takes 126 milliseconds with vanilla JavaScript, 110% more (264ms) with Angular. 1.x, and only 40% more (177ms) with Angular >= 2. As you can see, the performance of Angular >= 2.x is better than Angular 1.x, and is similar to React performance.
Ionic 2, once again, benefits from this performance upgrade, and does so “for free”.
The New Web Animations API
Ionic 1 and Ionic 2 still rely on CSS animations for internal transitions and animations, but as Ionic 2 is based on Angular >= 2.x, developers have access to the new Web Animations (W3C) API via the Angular animation system.
The Web Animations API is a JavaScript API that provides developers with access to the browser’s animation engine. It is not supported in all the browsers yet, but with a polyfill you can use it right now and enjoy one of the most performant and promising ways to animate the Web.
Source
The Angular >= 2.x animation API lets you easily describe complex animations (entering and leaving from different states or group animations) and gives you access to animations lifecycle via callbacks.
@Component({    template: `        <ul>            <li *ngFor="let hero of heroes"                (@flyInOut.start)="animationStarted($event)"                (@flyInOut.done)="animationDone($event)"                [@flyInOut]="'in'">            {{hero.name}}            </li>        </ul>    `,    animations: [        trigger('flyInOut', [            state('in', style({ opacity: 1, transform: 'translateX(0)' })),            transition('void => *', [                style({                    opacity: 0,                    transform: 'translateX(-100%)'                }),                animate('0.2s ease-in')            ]),            transition('* => void', [                animate('0.2s 10 ease-out', style({                    opacity: 0,                    transform: 'translateX(100%)'                }))            ])        ])    ] })
Ionic Built-in Native Scrolling
Native scrolling allows Ionic 2 to listen to scrolling events on supported WebViews. It makes Pull to Refresh, List Reordering, or Infinite Scroll possible without emulating those events (JavaScript scrolling).
Tumblr media
Ionic 2(Android apps, iPhone apps, Window apps)
Until now, JavaScript scrolling was necessary, but Chromium (Android) and WKWebView (iOS) WebViews have evolved and now support native scrolling. It is only enabled by default on Android with Ionic 1 (since December 2015) and enabled on all platforms with Ionic 2.
Native scrolling support brings better performance and improves the user experience by helping to ensure a smooth scroll thanks to asynchronous events.
For more info click here>> Building mobile apps with ionic 2
Improved Components API
Ionic 2 gives you access to all the components that made Ionic 1 famous, but are now improved and based on Angular >= 2.x. Here is the list of the most common components:
Button
Card
Icon
List
Menu
Modal
Toolbar
The components API changed a bit between Ionic 1 and Ionic 2. For instance, Ionic 1 ion-spinner components use icon attribute for the spinner type:
<ion-spinner icon="bubbles"></ion-spinner>
Whereas Ionic 2 uses the name attribute:
<ion-spinner name="bubbles"></ion-spinner>
As you can see, if you are familiar with the Ionic 1 component API, you will feel comfortable using Ionic 2 components as well. You’ll just need to be aware of these differences.
With an impressive list of components, everything that you can do with Ionic 1 is doable with Ionic 2, and even more.
Introduction of Web Workers
Web Workers allow your application to run scripts in background JavaScript threads. Workers can perform tedious tasks and HTTP requests outside of your application context (i.e., without interfering with the user interface). Today, Web Workers are supported by all major browsers.
Traditionally, all frameworks were built on top of, and relied on, the window and document objects. However, in workers neither are available. With the new Angular >=2 architecture that decoupled the renderer, running the application within Web Workers (or any other platform for that matter) is made easier.
Ionic 2 is starting to experiment with the use of Web Workers with the new ion-imgcomponent. For now, ion-img can only be used within a VirtualScroll list. It delegates the image HTTP call to the Web Workers, and also supports lazy loading (i.e., only retrieve and render images on the viewport). Your web application now only focuses on the UI and lets the workers do the rest.
Here is an example of how to use it:
<ion-img width="80" height="80" [src]="imageSrc"></ion-img>
Keep in mind that this is only the beginning and that we expect to see more usage or Web Workers in the near future.
TypeScript Advantages
If you have been using Ionic 2, you already know that it is using TypeScript. TypeScript is a superset of JavaScript ES2015 that compiles to plain JavaScript. With TypeScript, you have access to all of its unique features (like interfaces, mixins, and so on) and ES2015 features (like arrow functions, generator, multiline strings, and so on).
Let’s look at an example of an Angular >= 2.x component that displays a name of a United States president:
import { Component } from '@angular/core'; export interface IPresident {    id: number;    name: string; } @Component({    selector: 'my-app',    template: `        <h1>{{title}}</h1>        <h2>{{president.name}}</h2>    ` }) export class AppComponent {    title:string = 'President of the United States';    president: IPresident = {        id: 44,        name: 'Barack Obama'    }; }
We use an Interface (IPresident) that describes the president Object shape. It is interesting to have interfaces describing what you are manipulating, especially if there are several developers on a project. If you make a mistake and, for instance, use a boolean for the president name, your IDE will tell you that something is wrong even before the compilation happens.
In virtually any IDE you use (Visual Studio Code, Atom, WebStorm, or the like), you will find plugins to enable autocomplete, type checking, and a linter.
TypeScript is a real advantage for Ionic 2, as it makes your code more understandable, helps you avoid type mistakes, and helps you be more productive (through features like autocomplete, auto import of modules, tooltip definitions on hover, and CTRL + Click to go to definitions). Building mobile apps with ionic 2
All New CLI v2
The Ionic CLI v2 adds a way to generate Pages, Components, Pipes, and Directives, directly via the command line.
For instance, if you want to create a new page named MyPage, here is the command you can run:
$ ionic generate page MyPage ? Create src/pages/my-page/my-page.html ? Create src/pages/my-page/my-page.ts ? Create src/pages/my-page/my-page.scss
The command will follow the conventions and create three files for you:
An HTML file for your template. A SASS file for your component style. A TypeScript file for your component logic.
Here is what the generated my-page.ts file looks like:
import { Component } from '@angular/core'; import { NavController, NavParams } from 'ionic-angular'; @Component({  selector: 'page-my-page',  templateUrl: 'my-page.html' }) export class MyPagePage {  constructor(public navCtrl: NavController, public navParams: NavParams) {}  ionViewDidLoad() {    console.log('ionViewDidLoad MyPagePage');  } }
Enforcing conventions via use of the CLI is great when you work on a team. Angular 2.x and Ionic 2 are doing a great job of helping foster a better understanding of what an Angular app architecture should be. Of course, you are free to diverge from the conventions, if you want to.
Improved Packaging
Ionic 1 relies on the Gulp ecosystem to bundle applications, while Ionic 2 lets you select your favorite tools. Ionic 2 provides its own collection of tools as a separated project: ionic-app-scripts.
The ionic-app-scripts is based on the idea that developers should not worry about packaging configuration at all. The only packaging related dependency that your project will have with Ionic 2 is @ionic/app-scripts. By default, it uses Webpack but you can use Rollup as well.
With Ionic 2 and the CLI v2, the assets, as well as the TypeScript files, live in the same src folder. The www is now generated during every build and therefore should be removed from version control tracking.
Introduction of Error Reporting Tool
The new CLI also introduced a great Error Reporting tool. To get it, you need to install Ionic version >= 2.1:
$ npm install -g ionic $ ionic -v # should return at least 2.1.12
Now every time you have errors, a modal will pop up with meaningful information about it. For example:
Run Time Error Reporting Tool
Being notified about runtime errors as soon as possible during development is incredibly valuable and Ionic 2 has done a great job in this regard.
Benefits of Ahead of Time Compilation (AoT)
Ahead of Time Compilation (AoT) is a little revolution in the Angular ecosystem. Introduced with Angular 2.x, AoT allows for templates to be pre-compiled in a build step, instead of being compiled on-the-fly by the browser.
While this may not seem like a big difference, it actually is. With AoT, we do not have to ship the template compiler with the application. This has two advantages. First, the bundle will be smaller, which directly impacts the network and therefore makes your application faster to download. Second, the app will bootstrap faster because template compilation on-the-fly is no longer necessary.
Ionic 2 takes full advantage of Angular 2.x AoT to optimize the size and loading time of your application for free.
GIF : Source
Ionic 2 Is a Huge Step Forward
Overall, Ionic 2 is a huge step forward for the hybrid mobile industry. Although the set of Ionic 2 components is similar to Ionic 1 components, Ionic 2 offers a lot of tools and performance improvement.
Indeed, with tools such as TypeScript, ionic-app-scripts and Ionic CLI, Ionic 2 developers can be more productive, can produce more maintainable code, and are alerted to runtime errors as soon as they happen.
It also provides a free performance boost relative to Ionic 1, in particular by eliminating or reducing its bottlenecks (related to change detection, animations, loading time, and so on).
With This, your applications will feel more native than ever. Take it out for a spin. You’ll be glad you did. For more info click here >>Building mobile apps with ionic 2
Contact Us :
Linkites Infotech Pvt Ltd
Building mobile apps with ionic 2
Software Development Company
Write us at – [email protected]
http://www.linkites.com
#Building mobile apps with ionic 2 #ionic #Ionic2 #ionic1vsionic2 #ionicwebapps#ionicmobileapps #ionicdevelopmentcompnay #ionicmobileappdevelopment #mobileapp#androidapps #iphoneapps  #ionicappdevelopment #ionicangular #angular1vsangular2  #linkites #ionicdevelopers #hireionicdeveloper
0 notes
Meteor Development 
The practice of Meteor development in Linkites has been started by Virendra Chouhan 2 years back when he first developed BookShelf app on Meteor platform . Now Linkites has 7+ Meteor developers everyone has a strong hand on Meteor, Angular, Mongo, Node.js, React.js, Service deployment and setup.
Why Meteor?
Speed Because Meteor use one language on the front end and back it end, it dramatically speeds development time and is great for rapid prototyping. This coupled with our agile development process yields more iteration cycles per time period and more learning "runway" to help you build a successful product.
Quality Meteor is a more elegant way to code and simplifies the code base. Both developers and clients love it because
 less code = less bugs = higher product quality and stability.
Cross Platform Flexibility Meteor now makes it possible to leverage one code base for desktop, iOS and Android applications, and the ability to update them all much more easily than ever before. This is huge.
Click here for more info → Meteor Development by Linkites
0 notes
                           Android Application Development                                    
One of the many characteristics that set Linkites apart from the crowd of other Android app designers out there is our team. We Have large team of Android app developers with the skills, creativity, initiative and expertise necessary to not only build a Nice App, but to build one that's reliable, fully functional, and is customized to your business brand and your target audience.
       Why we love Android Application Development?        
Linkites is a leading android app development company that provides quality android apps development solutions across the globe. We have proven expertise in Android apps development that ensures the value-added services to your mobile operations. Harnessing the maximum potential of the intricate Android SDK platform, our developers utilize galore of Android development tools to explore unlimited product development possibilities.
Discovery We work with clients to understand their requirement and we merge their initial concept with everything our dedicated team. We always welcome the possible challenges and identify the ways to overcome them.
Features & Architecture We establish every features that will go into the product and how they will work together. Here, we create a skeletal framework for every app in the form of wireframes.
Design First impressions of App, it's all about design. We'll put our passion for good design to work and based on approved wireframes we'll design all screens.
Quality Assurance Our Quality Assurance team follow TDD and use Mocha for testing. We test the app after each development sprint and once all major functionality is implemented.
Maintenance We provide our clients with  maintenance packages that cover everything from small updates all the way to whole new versions.
Click here for more info -- >  Android Application Development by linkites
1 note · View note
Node.js Development Company
Node.js Development
Linkites is a node.js development company offers the following Node.js development services like migrate enterprise legacy systems to Node.js, application development using mean stack a JavaScript framework.
Why Node.js?
Node.js is Javascript and the same language can be used on the backend and frontend. It breaks down the boundaries between front- and back-end development
Since employing NodeJS, Linkites has become highly successful at developing applications that are:
Node.js is Event driven & heavily I/O bound oriented.
Node.js is able to handle a large number of concurrent connections with other systems.
Node.js is Based on real-time.
Node.js Handle huge amounts of information streaming to and from other sources.
Node.js Produce high amounts of traffic and are highly scalable.
Node.js build out network applications
Node.js is Applications that need to talk to the back or server end very often
Our Most Recent Node js Projects
TREAT ME
Treat Me - A monthly membership concierge service that provides unlimited blowouts and/or manicures when and where you want them at a super affordable price.
JOUST
This is also related to score board and real time predictions . We have used react.js which update the leadership board on real time.
MY LUCKE
My Lucke is a parking management software is designed to streamline parking operations and improve customer service, while also saving you considerable time and money, and increasing your revenues.
Linkites is an offshore software development company specialized in offering IT outsourcing services , Node js mobile development, Node js development company, mobile application development, web design, SEO services.
Contact us:
6th Floor, Crystal IT Park, Building No. 1, Right Hand Side , SEZ Indore (MP), India
+91-0731-2970111
#node.js development company #node.js #nodejs #development #projects #server #expressframeworks #node.jsdevelopmentcompany
http://www.linkites.com/nodejs-development.php
0 notes
Linkites -Web and Mobile application development company
Linkites LLC is a Web and Mobile App development company delivering Services of any complexity to clients worldwide. Linkites LLC help you to Accelerate and address evolving market challenges by defining, designing and building softwares and mobile applications tailored to meet your specific business requirements.
Our Specialization
Front-end
— AngularJS  
— Backbone.js 
— CoffeeScript 
— HTML5 
— CSS3 
— Twitter Bootstrap 
— jQuery
Back-end
— Node.js 
— Symfony 2
Server
— Amazon AWS 
— Google App Engine 
— Heroku
Database
— PostgreSQL
— MongoDb
— Cassandra
Contact us
6th Floor, Crystal IT Park, Building No. 1, Right Hand Side , SEZ Indore (MP), India
+91-0731-2970111
1 note · View note
Linkites is an offshore Software Development Company  specialized in offering IT outsourcing services, Node.js Development Company , Mobile application Development, Web design, SEO services .
0 notes
Linkites is an offshore Software Development Company  specialized in offering IT outsourcing services, Node.js Development Company , Mobile application Development, Web design, SEO services .
0 notes
youtube
0 notes
LinkITes - Software Development Company | IT Outsourcing Services | Outsourced Product Development | Mobile Application Development | Web Design and Development | Search Engine Optimization | node js development company
0 notes