Developers
October 1, 2020

What Does An Ionic Developer Do?

Ionic is a popular HTML5 SDK for mobile development that takes a slightly different approach.

Cross-platform development is more important than ever. Gone are the days when developers could focus exclusively on Windows and not worry about anything else. Now there’s iOS, Android and a resurgent macOS, not to mention Linux and Google’s Chromebook.

In addition to traditional computing devices, the web has become one of the most important platforms of the 21st century. As companies large and small move to the cloud, web-based applications are a critical component to many companies’ daily operations.

Fortunately, there are a number of frameworks that help developers target the web, desktop and mobile platforms, all from a single codebase. Ionic is one of those platforms.

What Is Ionic?

Ionic was created in 2013 by Ben Sperry, Adam Bradley and Max Lynch at Drifty. The goal was to create a software development kit (SDK) that would allow cross-platform development, while harnessing the power of web technologies.

In this sense, Ionic competes in a crowded field of frameworks and SDKs, all designed to make cross-platform development easier. Angular, React, Vue.js and others are just a few of the frameworks inhabiting this space. Interestingly, while the original version was built on top of AngularJS, later versions let the developer choose which UI framework to use, including Angular, React and Vue.js. This is a big selling point for developers already using those other frameworks, as it makes for a smooth transition.

One of the things that sets Ionic apart from other frameworks that rely on web technologies is the SDK’s hybrid approach. Ionic apps are neither full-fledged web apps, nor are they fully native apps.

The key to this approach is the use of Apache Cordova, also known as PhoneGap. Cordova packages the web technologies—HTML, CSS and JavaScript—for the targeted platform. The end result is an app that uses web technologies, but also has access to native APIs.

While some developers argue this approach can’t compete with a truly native app, creator Max Lynch describes why that argument isn’t necessarily true. As Lynch highlights, one of the benefits of this kind of app is the ability to abstract to the web view, letting it handle large parts of the application. Because the web view is a native component, the app has access to native functionality. As a result, while it is a hybrid app, Lynch makes the case that it really should be classified as a native app.

“So, our ‘hybrid’ app is doing things a ‘pure’ native app would do. Seems pretty native to me.

“Some might say I’m being facetious: “’t’s not a native app unless the app uses the stock controls Apple blesses.’ I get that argument, but then explain how apps like Snapchat get a pass, despite the large amount of custom UI that doesn’t fit what Apple handed down from the heavens as the One True mobile UI? It’s okay because it draws rectangles on UIView instead of drawing rectangles on a div in a web layer? What about traditional native apps that use a large amount of web content in the flow of the experience? Is that okay as long as it uses UINavigationController with no customization? What about Cordova/Capacitor apps that have native code or mix web and native in large amounts?”

In many ways, Lynch is right. An Ionic app can access native controls and services, including the camera, flashlight, dialog sheets, email client and more.

Where Ionic Shines

Based on the above, it’s clear that Ionic is ideally suited for hybrid mobile development. It’s also possible to create traditional web applications, as well as desktop apps using the SDK.

Another advantage of Ionic is the fact that it is developed by a standalone company. Angular is maintained by Google and React is maintained by Facebook. As a result, development is often influenced by the needs of those companies, needs that may or may not align with the countless other companies using those frameworks. The company behind Ionic, on the other hand, is dedicated to developing its product for all to use—that is its business.

Some developers may wonder when they should use Ionic, especially compared to competing solutions. Lynch provides the answer:

“For teams that have traditional web development skills and libraries and wish to target mobile and web (as a Progressive Web App), Ionic React will likely be a better fit. This explains why Ionic has been successful with startups and enterprise teams with more of a web development history.”

Ionic is a powerful tool that gives web developers the ability to develop truly cross-platform applications. What’s more, Ionic apps are hybrid applications that blend the best features of both the web and native apps. It’s safe to say the Ionic SDK, and the developers who specialize in it, have a bright future ahead.

TagsIonic DeveloperWeb DeveloperAngularReactVue.js
Matt Milano
Technical Writer
Matt is a tech journalist and writer with a background in web and software development.

Related Articles

Back
DevelopersOctober 1, 2020
What Does An Ionic Developer Do?
Ionic is a popular HTML5 SDK for mobile development that takes a slightly different approach.

Cross-platform development is more important than ever. Gone are the days when developers could focus exclusively on Windows and not worry about anything else. Now there’s iOS, Android and a resurgent macOS, not to mention Linux and Google’s Chromebook.

In addition to traditional computing devices, the web has become one of the most important platforms of the 21st century. As companies large and small move to the cloud, web-based applications are a critical component to many companies’ daily operations.

Fortunately, there are a number of frameworks that help developers target the web, desktop and mobile platforms, all from a single codebase. Ionic is one of those platforms.

What Is Ionic?

Ionic was created in 2013 by Ben Sperry, Adam Bradley and Max Lynch at Drifty. The goal was to create a software development kit (SDK) that would allow cross-platform development, while harnessing the power of web technologies.

In this sense, Ionic competes in a crowded field of frameworks and SDKs, all designed to make cross-platform development easier. Angular, React, Vue.js and others are just a few of the frameworks inhabiting this space. Interestingly, while the original version was built on top of AngularJS, later versions let the developer choose which UI framework to use, including Angular, React and Vue.js. This is a big selling point for developers already using those other frameworks, as it makes for a smooth transition.

One of the things that sets Ionic apart from other frameworks that rely on web technologies is the SDK’s hybrid approach. Ionic apps are neither full-fledged web apps, nor are they fully native apps.

The key to this approach is the use of Apache Cordova, also known as PhoneGap. Cordova packages the web technologies—HTML, CSS and JavaScript—for the targeted platform. The end result is an app that uses web technologies, but also has access to native APIs.

While some developers argue this approach can’t compete with a truly native app, creator Max Lynch describes why that argument isn’t necessarily true. As Lynch highlights, one of the benefits of this kind of app is the ability to abstract to the web view, letting it handle large parts of the application. Because the web view is a native component, the app has access to native functionality. As a result, while it is a hybrid app, Lynch makes the case that it really should be classified as a native app.

“So, our ‘hybrid’ app is doing things a ‘pure’ native app would do. Seems pretty native to me.

“Some might say I’m being facetious: “’t’s not a native app unless the app uses the stock controls Apple blesses.’ I get that argument, but then explain how apps like Snapchat get a pass, despite the large amount of custom UI that doesn’t fit what Apple handed down from the heavens as the One True mobile UI? It’s okay because it draws rectangles on UIView instead of drawing rectangles on a div in a web layer? What about traditional native apps that use a large amount of web content in the flow of the experience? Is that okay as long as it uses UINavigationController with no customization? What about Cordova/Capacitor apps that have native code or mix web and native in large amounts?”

In many ways, Lynch is right. An Ionic app can access native controls and services, including the camera, flashlight, dialog sheets, email client and more.

Where Ionic Shines

Based on the above, it’s clear that Ionic is ideally suited for hybrid mobile development. It’s also possible to create traditional web applications, as well as desktop apps using the SDK.

Another advantage of Ionic is the fact that it is developed by a standalone company. Angular is maintained by Google and React is maintained by Facebook. As a result, development is often influenced by the needs of those companies, needs that may or may not align with the countless other companies using those frameworks. The company behind Ionic, on the other hand, is dedicated to developing its product for all to use—that is its business.

Some developers may wonder when they should use Ionic, especially compared to competing solutions. Lynch provides the answer:

“For teams that have traditional web development skills and libraries and wish to target mobile and web (as a Progressive Web App), Ionic React will likely be a better fit. This explains why Ionic has been successful with startups and enterprise teams with more of a web development history.”

Ionic is a powerful tool that gives web developers the ability to develop truly cross-platform applications. What’s more, Ionic apps are hybrid applications that blend the best features of both the web and native apps. It’s safe to say the Ionic SDK, and the developers who specialize in it, have a bright future ahead.

Ionic Developer
Web Developer
Angular
React
Vue.js
About the author
Matt Milano -Technical Writer
Matt is a tech journalist and writer with a background in web and software development.