Ionic (mobile app framework)

Last updated

Ionic
Developer(s) Drifty [1]
Initial release2013
Stable release
7.2.2 [2]   OOjs UI icon edit-ltr-progressive.svg / 2 August 2023;4 days ago (2 August 2023)
Repository
Written in TypeScript , JavaScript
Type Software framework
License MIT License
Website ionicframework.com

Ionic is a complete open-source SDK for hybrid mobile app development created by Max Lynch, Ben Sperry, and Adam Bradley of Drifty Co. in 2013. [3] The original version was released in 2013 and built on top of AngularJS and Apache Cordova. However, the latest release was re-built as a set of Web Components using StencilJS, allowing the user to choose any user interface framework, such as Angular, React or Vue.js. It also allows the use of Ionic components with no user interface framework at all. [4] Ionic provides tools and services for developing hybrid mobile, desktop, and progressive web apps based on modern web development technologies and practices, using Web technologies like CSS, HTML5, and Sass. In particular, mobile apps can be built with these Web technologies and then distributed through native app stores to be installed on devices by utilizing Cordova or Capacitor. [5]

Contents

History

Ionic was created by Drifty Co. in 2013. After releasing an alpha version of the framework in November 2013, a 1.0 beta was released in March 2014, a 1.0 final in May 2015, and several 2.0 releases in 2016. [6]

Since January 2019, Ionic 4 allows developers to choose other frameworks apart from Angular like React, Vue.js, and web components. [7] Ionic 4 was built using StencilJS.

Services and features

Ionic uses Cordova and, more recently, Capacitor plugins to gain access to host operating systems features such as Camera, GPS, Flashlight, etc. [8] [9] [10] Users can build their apps, and they can then be customized for Android, iOS, Windows, Desktop (with Electron), or modern browsers. [11] Ionic allows app building and deployment by wrapping around the build tool Cordova or Capacitor with a simplified 'ionic' command line tool. [12]

Ionic includes mobile components, typography, interactive paradigms, and an extensible base theme. [13]

Using Web Components, Ionic provides custom components and methods for interacting with them. One such component, virtual scroll, allows users to scroll through a list of thousands of items without any performance hits. Another component, tabs, creates a tabbed interface with support for native-style navigation and history state management.[ citation needed ]

Besides the SDK, Ionic also provides services that developers can use to enable features, such as code deploys, automated builds. Ionic also provides its own IDE known as Ionic Studio, but it was discontinued in 2020. [14]

Ionic also provides a command-line interface (CLI) to create projects. The CLI also allows developers to add Cordova plugins and additional front-end packages, enable push notifications, generate app Icons and Splash screens, and build native binaries. [15]

Supported platforms

For Android, Ionic supports Android 4.4 and up. For iOS, Ionic supports iOS 10 and up. [16] Ionic 2 supports the Universal Windows Platform for building Windows 10 apps. [17] Ionic Framework, based on Angular.js, supports BlackBerry 10 apps. [18]

Performance

Ionic apps run with a mixture of native code and web code, providing full access to native functionality if necessary, with the bulk of the UI of the app built with standard web technology. Ionic utilizes native hardware acceleration features available in the browser (such as CSS animations) and optimizes rendering (avoiding expensive DOM manipulation). Ionic leverages CSS transitions and transforms for animation as a way to leverage the GPU and maximize available processor time.[ citation needed ]

Installation

Ionic is an npm module and requires Node.js. [19]

Related Research Articles

In computing, cross-platform software is computer software that is designed to work in several computing platforms. Some cross-platform software requires a separate build for each platform, but some can be directly run on any platform without special preparation, being written in an interpreted language or compiled to portable bytecode for which the interpreters or run-time packages are common or standard components of all supported platforms.

Mobile app development is the act or process by which a mobile app is developed for one or more mobile devices, which can include personal digital assistants (PDA), enterprise digital assistants (EDA), or mobile phones. Such software applications are specifically designed to run on mobile devices, taking numerous hardware constraints into consideration. Common constraints include CPU architecture and speeds, available memory (RAM), limited data storage capacities, and considerable variation in displays and input methods. These applications can be pre-installed on phones during manufacturing or delivered as web applications, using server-side or client-side processing to provide an "application-like" experience within a web browser.

<span class="mw-page-title-main">Google Web Toolkit</span> Free Java library

Google Web Toolkit, or GWT Web Toolkit, is an open-source set of tools that allows web developers to create and maintain JavaScript front-end applications in Java. It is licensed under Apache License 2.0.

<span class="mw-page-title-main">Adobe AIR</span> Cross-platform runtime system for building rich web applications

Adobe AIR is a cross-platform runtime system currently developed by Harman International, in collaboration with Adobe Inc., for building desktop applications and mobile applications, programmed using Adobe Animate, ActionScript, and optionally Apache Flex. It was originally released in 2008. The runtime supports installable applications on Windows, macOS, and mobile operating systems, including Android, iOS, and BlackBerry Tablet OS.

<span class="mw-page-title-main">WaveMaker</span> Low-code programming platform

WaveMaker is an enterprise-grade Java low-code development platform for building software applications and platforms. WaveMaker Inc. is headquartered in Mountain View, California. For enterprises, WaveMaker is a low-code platform that aims to accelerate their app development and IT modernization efforts. For ISVs, it is a consumable low-code component that can sit inside their product and offer customizations.

Apache Cordova is a mobile application development framework created by Nitobi. Adobe Systems purchased Nitobi in 2011, rebranded it as PhoneGap, and later released an open-source version of the software called Apache Cordova. Apache Cordova enables software programmers to build hybrid web applications for mobile devices using CSS3, HTML5, and JavaScript, instead of relying on platform-specific APIs like those in Android, iOS, or Windows Phone. It enables the wrapping up of CSS, HTML, and JavaScript code depending on the platform of the device. It extends the features of HTML and JavaScript to work with the device. The resulting applications are hybrid, meaning that they are neither truly native mobile application nor purely Web-based. They are not native because all layout rendering is done via Web views instead of the platform's native UI framework. They are not Web apps because they are packaged as apps for distribution and have access to native device APIs. Mixing native and hybrid code snippets has been possible since version 1.9.

Titanium SDK is an open-source framework that allows the creation of native mobile applications on platforms iOS and Android from a single JavaScript codebase. Titanium SDK is presently developed by non-profit software foundation TiDev, Inc.

<span class="mw-page-title-main">Sencha Touch</span> JavaScript framework

Sencha Touch is a user interface (UI) JavaScript library, or web framework, specifically built for the Mobile Web. It can be used by Web developers to develop user interfaces for mobile web applications that look and feel like native applications on supported mobile devices. It is based on web standards such as HTML5, CSS3 and JavaScript. The goal of Sencha Touch is to facilitate quick and easy development of HTML5 based mobile apps which run on Android, iOS, Windows, Tizen and BlackBerry devices, simultaneously allowing a native look and feel to the apps.

Dart is a programming language designed by Lars Bak and Kasper Lund and developed by Google. The programming language can be used to develop web and mobile apps as well as server and desktop applications.

<span class="mw-page-title-main">Ember.js</span>

Ember.js is an open-source JavaScript web framework that utilizes a component-service pattern. It allows developers to create scalable single-page web applications by incorporating common idioms, best practices, and patterns from other single-page-app ecosystem patterns into the framework.

MontageJS is an open-source JavaScript framework for building scalable single-page applications. It aims to simplify the development and maintainability of expressive HTML5 applications by employing native application frameworks. With Montage, developers can build and extend reusable user interface components and modules, bind properties among components and controllers, and synchronize DOM updates to ensure a smooth user experience, especially on resource-constrained devices.

Web Components are a set of features that provide a standard component model for the web allowing for encapsulation and interoperability of individual HTML elements. Web Components are popular approach to build microfrontends.

Crosswalk Project was an open-source web app runtime built with the latest releases of Chromium and Blink from Google. The project was founded by Intel's Open Source Technology Center in September 2013.

Monaca is a collection of software tools and services for building and deploying HTML5 mobile hybrid apps. Built using open-source Apache Cordova, it provides resources including Cloud IDE, local development tools, a debugger, and backend support.

jQWidgets Software framework

jQWidgets is a software framework with widgets, themes, input validation, drag & drop plug-in, data adapters, built-in WAI-ARIA accessibility, internationalization and MVVM support. It is built on the open standards and technologies HTML5, CSS, JavaScript and jQuery. This library is used for developing responsive web and mobile applications. Some developers consider jQWidgets one of the top alternatives to the open-source jQuery UI.

NativeScript is an open-source framework to develop mobile apps on the iOS and Android platforms. It was originally conceived and developed by Progress. At the end of 2019 responsibility for the NativeScript project was taken over by long-time Progress partner, nStudio. In December 2020 nStudio also oversaw the induction of NativeScript into OpenJS Foundation as an Incubating Project. NativeScript apps are built using JavaScript, or by using any programming language that transpiles to JavaScript, such as TypeScript. NativeScript supports the Angular and Vue JavaScript frameworks. Mobile applications built with NativeScript result in fully native apps, which use the same APIs as if they were developed in Xcode or Android Studio. Additionally, software developers can re-purpose third-party libraries from CocoaPods, Maven, and npm.js in their mobile applications without the need for wrappers.

Onsen UI is an open-source UI framework and components for HTML5 hybrid mobile app development, based on PhoneGap / Cordova. It allows developers to create mobile apps using Web technologies like CSS, HTML5, and JavaScript. While it was originally based on AngularJS and supported jQuery, with its version 2, Onsen UI has become JavaScript framework-agnostic, meaning developers can create mobile apps with or without any JavaScript framework. Onsen UI also provides comprehensive tools and services through Monaca, both products are developed by the same company. Onsen UI was created in 2013.

Flutter is an open-source UI software development kit created by Google. It is used to develop cross platform applications from a single codebase for any web browser, Fuchsia, Android, iOS, Linux, macOS, and Windows. First described in 2015, Flutter was released in May 2017.

<span class="mw-page-title-main">Quasar framework</span> JavaScript framework

Quasar Framework is an open-source Vue.js based framework for building apps, with a single codebase, and deploy it on the Web as a SPA, PWA, SSR, to a Mobile App, using Cordova for iOS & Android, and to a Desktop App, using Electron for Mac, Windows, and Linux.

<span class="mw-page-title-main">Appery.io</span>

Appery.io is a cloud-based HTML5, Ionic, jQuery Mobile, and hybrid app-building platform for developing mobile apps, web apps, and PWA s. Appery.io is a browser-based drag-and-drop visual builder tool that supports Android and iOS with integrated Apache Cordova/PhoneGap output.. The platform is used by DIYers to create apps for their customers.

References

  1. Sarah Perez (10 March 2014). "Drifty, Makers Of The Ionic Mobile Framework, Raise $1 Million" . Retrieved 14 March 2015.
  2. "Release 7.2.2". 2 August 2023. Retrieved 3 August 2023.
  3. Drifty, Inc (2016). "Ionic Documentation Overview - License".
  4. "Introducing Ionic 4: Ionic for Everyone". 23 January 2019.
  5. Drifty. "Ionic Framework" . Retrieved 16 July 2017.
  6. "Best Ionic App Development Company | Hire Ionic Developers". www.crystalinfoway.com. Retrieved 5 July 2023.
  7. "Comparing v4.0.0-rc.3/v4.0.0 · ionic-team/ionic-framework". GitHub .
  8. "Cordova Plugins". docs.usecreator.com. Retrieved 2 June 2018.
  9. "Attractive Features Of Ionic App Development Framework" . Retrieved 2 June 2018.
  10. Drifty. "Ionic Framework". Archived from the original on 14 November 2019. Retrieved 2 June 2018.
  11. Drifty. "Ionic Framework" . Retrieved 2 June 2018.
  12. "Mastering the Ionic Framework: Learn to Build & Deploy Native Speed HTML5 Based Apps - Thinkster". thinkster.io. Retrieved 2 June 2018.
  13. Ionic. "Theming Basics - Ionic Documentation". Ionic Docs. Retrieved 26 November 2019.
  14. "Ionic Studio is DeaD" . Retrieved 10 May 2023.
  15. Ionic. "Installing Ionic - Ionic Documentation". Ionic Docs. Retrieved 26 November 2019.
  16. "Browser Support - Ionic Documentation" . Retrieved 19 December 2019.{{cite web}}: CS1 maint: url-status (link)
  17. "Announcing Windows Support in Ionic 2". 29 March 2016. Retrieved 22 April 2016.{{cite web}}: CS1 maint: url-status (link)
  18. "Top JavaScript Frameworks for Enterprise Mobility" . Retrieved 21 September 2015.{{cite web}}: CS1 maint: url-status (link)
  19. "Free Mobile App Development: Getting Started with Ionic Apps".