Ionic’s ultimate goal is to make it easier to develop native mobile apps with HTML5, also known as Hybrid apps.
1. Best Friend with AngularJS
Ionic provides a set of Angular directives (custom HTML elements) for it’s own components, making it as easy to use the widgets as writing a line of HTML code. In addition to directives, Ionic uses Angular’s touch recognizers, view animation logic, HTML sanitation, and asynchronous communication.
CSS Generated By Sass
>> Quickly give your app its own look and feel
>> CSS designed to be easily overridden
>> Either override ionic.css or use Sass Preprocessor
2. Performance Obsessed
>> Hardware accelerated animations
>> Minimal DOM Manipulation
>> Zero jQuery (you could still include it if you want)
>> Cohesive visual system
>> Clean and simple
>> Easy to customize
>> Over 600 MIT licensed font-icons included
3. Complex Lists
>> AngularJS Directive
>> Buttons exposed by swiping
>> The ionList and ionItem directives make it easy to support various interaction modes such as swipe to edit, drag to reorder and removing items.
4. List : Collection Repeat
>> Similar to Angular’s ng-repeat
>> Scroll through thousands of items
>> Only renders the viewable items
>> Smooth jank-free scrolling
>> Low memory footprint
>> The List is a widely used interface element in almost any mobile app, and can include content ranging from basic text all the way to buttons, toggles, icons and thumbnails.
a) Nested views
b) Each tab has its own nav history
c) Powers a multi-tabbed interface with a Tab Bar and a set of “pages” that can be tabbed through.
d) For iOS, tabs will appear at the bottom of the screen. For Android, tabs will be at the top of the screen, below the nav-bar.
6. Side Menu
a) The side menu is a great way to display content without losing a lot of screen real estate.
b) A container element for side menu(s) and the main content.
c) Allows the left and/or right side menu to be toggled by dragging the main content area side to side.
d) To automatically close an opened
7. Action Sheet
a) Action sheets are a very useful way of providing contextual actions on a component.
b) The Action Sheet is a slide-up pane that lets the user choose from a set of options.
c) Dangerous options are highlighted in red and made obvious.
d) These action sheets are shown when certain elements on tapped or in many cases, long tapped.
e) In Ionic, action sheets support multiple buttons, including destructive and cancel operations, in a simple interface.
8. Pull to Refresh
1) Allows you to add pull-to-refresh to a ScrollView.
2) Adding pull-to-refresh functionality to a list is easy in Ionic.
3) You can easily add pull to refresh capabilities to your scroll area that includes a default icon and animation.
1) Shows back button when possible.
2) Each tab has its own history
3) Works with Android’s back
4) An additional benefit to Ionic’s navigation system is its ability to manage multiple histories.
10. Navigation: Angular UI Router
1) Ionic uses the AngularUI Router module so app interfaces can be organized into various “states”.
2) Like Angular’s core $route service, URLs can be used to control the views
3) However, the AngularUI Router provides a more powerful state manager in that states are bound to named, nested and parallel views allowing more than one template to be rendered on the same page
11. UI and Theming
1) When it comes to UI, Ionic shows its potential.
2) Ionic’s true beauty is its simplicity.
3) It uses the existing HTML5 and CSS3 capabilities to deliver fast experiences.
4) The speed is exactly in its simplicity – no unnecessary shadows, rounded corners, gradients but just flat, clean simple, powerful, unadulterated HTML5.
12. What Does it Include?
1) A comprehensive set of UI Components – tabs, headers, navigation, modal, toggle, checkbox, radio, action sheet, loading, slide boxes, cards, range etc.
2) Icon Pack – Ionic has a large set of icons to be used with your mobile apps easily, including some animated
3) Automatic Transitions based on History – Ionic will transition views to slide left and right automatically based on history.
4) Gestures – Ionic incorporates the popular js to provide gesture support for things like tap, swipe, drag etc.
5) UI Interaction Handling – via AngularJS extensions (i.e.: handling when a tab is clicked, shown or hidden).
6) Full Screen Apps – via the use of the Cordova status bar plugin to remove the status bar.
7) Customizable Theme – since the Ionic base theme was built with Sass for the resulting CSS, you can easily go in and customize it to create your own theme. The base look is more of an iOS7 flat look but can be changed as desired.