For this post, we invited a guest expert to contribute their opinion on the debate of native vs. hybrid. And if you’re working on a Cordova/Phonegap app, be sure to check out Apteligent’s plugin.

Apache Cordova is an open source framework designed to let developers create mobile apps using standards-based Web technologies. When building an application with Cordova, the UI is designed in HTML5, style is added with CSS3 and the application’s underlying logic is written in JavaScript. Just like creating a normal web application.

Using Cordova, it is possible to easily deploy the same web application on multiple mobile platforms including iOS, Android, BlackBerry and Amazon Fire OS.

There are many reasons why you could try building your next project using Cordova. I will present the Top 5 in this article.

Large (and growing) community

Trying something new often requires support. Can you ask questions and get them answered? The Cordova developer community is constantly growing and consists of a large number of friendly and helpful people. This means that it is easy to get assistance when you run into trouble. For example, there are more than 30,000 questions tagged with the “cordova” tag on Stack Overflow. There is also tons of example code to look at and get inspired by.

The large community as well as the extensive documentation makes it very easy to get started with Cordova development.

Thriving plugin ecosystem

Since Cordova apps are written in JavaScript they cannot access the native APIs directly. To use native features, plugins are used. In Cordova, a number of core plugins are included. These give the developer the ability to do things like: access the file system, take pictures with the built-in camera and determine the current position using Geolocation.

There are also a huge number of community developed plugins available for things that aren’t covered by the core plugins. Please have a look at the Cordova Plugin Registry for a list of the available plugins.

Cordova is open source, so if there is a feature that you would like to use where there is currently no plugin available, there is nothing stopping you from developing your own and giving back to the community!

Web technologies

As stated above, Cordova apps are built using HTML5, CSS3 and JavaScript. A web developer wanting to get started in mobile development will not have to learn a completely new language. You can rely on existing skills.

The web development community has been around for a long time and is mature. There are tons of libraries and frameworks available to aid in development. Everything designed for the web can also be used in Cordova. This means you can use popular JavaScript libraries like jQuery and AngularJS to build mobile apps.

Essentially Cordova is a great “on-ramp” to mobile development. If you have done web development, you now have access to mobile devices.

Hybrid apps

One of the biggest, if not the biggest, benefits of Cordova is that the same code can be deployed on different platforms. Porting is not a problem since little or no changes have to be made. This is perfect for small teams since there is only one code base to be maintained.

Also, since the amount of code is reduced, development time can be reduced in comparison to the time it would take writing two or more native apps. Not to mention that if the application is to be deployed on both Android and iOS, the team will not have to know both Objective-C and Java.

You also get the added benefit of being able to share some of the code with the application’s web site.

UI libraries

Viewing a website that is not designed for small screens on a mobile device is never a nice experience. Everyone who has had to zoom in to click a link or press a button knows this. Having to scroll around the page to find what we are looking for can be a real chore. This problem can be solved by using libraries that supply UI components designed for mobile applications.

There is a number of libraries that try to emulate the functionality as well as the visual design of native apps. Some examples are jQuery Mobile, Sencha Touch and Ionic. I’m personally involved in developing Onsen UI which is a library of custom mobile UI components built using AngularJS.

So how do I get started?

It’s very easy to get started building Cordova apps. To develop and build apps on a local machine, start by looking at the Cordova documentation. In addition to setting up the Cordova development environment, a build environment for the respective platforms must also be configured. The Cordova documentation has great guides on how to get started with every platform.

To get up to speed quickly, there are also some options for building apps in the cloud that make it even more simple. Adobe PhoneGap Build is a service where you upload your assets (HTML files, stylesheets and JavaScript code) to a server that compiles and builds the package for you. The company where I work has developed a service called Monaca that in addition to building the Cordova project also provides a complete development environment running in the browser.

If you have ever thought about being a mobile developer, why not try Cordova?