In one of our previous articles, we outlined the advantages of cross-platform app development frameworks, and specifically focused on Xamarin. This time, we’re going to take a look at another big name in the cross-platform application development that’s also backed by a big software company.
Adobe PhoneGap is an alternative to Xamarin but shares a lot of similarities with hybrid app development frameworks. In a sense, it’s responsible for the thriving hybrid development ecosystem. Its code was handed over to Apache for further development, and was later named Apache Cordova. It still powers PhoneGap.
The biggest difference between Xamarin and PhoneGap is the tech stack required to utilize the framework. While Xamarin is geared towards C# developers, PhoneGap uses the same technologies as most of the hybrid applications that are available today. This technological gap leads to some stark differences in various aspects of running and supporting apps on these two platforms.
If you feel stuck choosing the exact mobile app development services to ask for, this article will help you understand the positive and negative aspects of app development with Adobe’s product. While cross-platform apps are in the middle between native and hybrid, PhoneGap is in the middle between cross-platform and hybrid. This article will help you get a better understanding of why this might be an advantage for your business or, on the contrary, diminish your business performance.
These advantages and disadvantages come in no particular order. Some of them might not even be relevant to your business. Be sure to consult your engineers before investing time and money into a project created with PhoneGap. Alternatively, feel free to reach out to us if you have any questions about mobile app development or don’t have the expertise to choose the right framework. Alright, let’s get right into it.
Accessible Coding Standards
Even if you don’t have a team of developers ready to start using PhoneGap, the accessible coding standards mean that you won’t run into the problem of finding a remote developer for your project. The framework’s development documentation is pretty detailed and informative. Not to mention that the pool of programmers that can work with PhoneGap is pretty diverse, given that it also potentially includes developers who are experienced in Apache Cordova, the direct ancestor of PhoneGap in its current form.
PhoneGap contains some handy development tools, which can substantially increase the productivity of any particular developer working on your apps. If your developers prefer GUI over CLI, then PhoneGap’s desktop app is right for you. It’s particularly useful for those who aren’t used to the command line. It’s definitely much more accessible than some of other leading frameworks.
PhoneGap also offers the smartphone app for developers that you can use to test your software. It allows you to run ‘work-in-progress’ applications for specific devices as if they were finished builds of the app installed on those devices.
This way you can quickly test whether all of the APIs work properly and there are any actual design or display issues. In its turn, Xamarin offers a cloud-based test environment that you can use to examine the app on up to 2,000 different devices. Sounds nice…
For comparison, until you learn Xamarin, the basic package starts at $99 a month, and isn’t very flexible in terms of available test options. PhoneGap is a clear winner here. Especially if you’re an SME owner and there’s a maximum of 10-15 different devices that you might want to test-run your app on.
Limited API Functionality
Xamarin transforms C# into a format that’s understandable for iOS, Android and other platforms via APIs. At the same time, PhoneGap uses plugins to connect to specific APIs. This complexity creates an additional technical layer that often prevents apps from functioning properly. Some plugins are outdated. Others haven’t even been developed yet.
Sometimes this means that geolocation within your app may not work or run through issues. In other cases, the camera might not function properly for in-app use. There are various specific situations that you have to take into account. The only way to truly find out if something isn’t working is to start developing the app. And this might not be an option for many businesses. It’s important to note that specific hardware support is still pretty extensive with PhoneGap.
On a similar note, it might be difficult for PhoneGap app developers to develop an iOS app without a Mac, as you’ll need to download iOS SDKs and that’s only possible with a Mac. PhoneGap Build offers that flexibility by compiling your build and just returning the final file back to you.
But at the same time, it might take that flexibility back since you can only use plugins available with PhoneGap Build. The collection is extensive, but you might need something beyond ordinary. Before starting the development cycle, make sure that you’ve researched this topic inside out.
Some solutions can help you circumvent this requirement, though. You can purchase report access to a virtual Mac machine. Services like HostMyApple, xCloud or MacinCloud allow you to run virtual Mac machines with an OS version that suits your requirements. This solution, however, adds a layer of expenditures associated with developing an application for iOS.
PhoneGap, with all the complexity of plugins, APIs and compatibility issues, often can’t perform on par with other development solutions. Game developers experience frame drops and freezes after push notification from their PhoneGap apps. This sentiment extends to other app types, even those that are less hardware-intensive than games. Some other frameworks even go as far as to use PhoneGap’s poor performance as the backdrop of their competitive advantages, like Onsen, which explicitly mentions that their framework is more optimized for performance than PhoneGap.
Given that there are lots of HTML5 advocates, you won’t find any issues optimizing its performance for your PhoneGap apps either. But at the same time, you have to understand how this will affect the deliverability of your apps.
That’s why your mobile strategy and the consecutive mobile development roadmap should be defined and well-thought out. If you don’t know every possible functionality details that you might require, you might be unable to identify if PhoneGap is right for you.
Given the open-source nature of PhoneGap and its standard toolkit in the form of JS, CSS3, and HTML5, there’s far more flexibility in terms of supported platforms. If your business is hardware-locked, or you have specific requirements for the devices that can be used for your product, then PhoneGap might be the choice for you.
Of course, this is the case if you’re developing an enterprise solution that’s only going to be used internally. It’s safe to say that its closest competitor, Xamarin, is only available for iOS (6.1 and above), Android (4.0 and above) and Windows Phone 8 mobile operating systems. PhoneGap is much more robust in this regard, as it even supports Amazon’s FireOS and Linux-based Tizen, although some limitations do apply.
PhoneGap Platform Support
So if you’re looking to acquire BlackBerry devices, because you’re concerned about a possible loss of IP or any other type of security breach, PhoneGap lets you tap into that potential with support for BlackBerry 10 OS.
What are the Alternatives?
There’s plenty of fish in the sea when it comes to alternative mobile development frameworks. They all have their advantages and disadvantages, so let’s briefly go through them.
React Native is a highly capable mobile development framework that has a massive community and offers excellent performance that’s very close to native apps. However, it has a complex structure and logic, which makes the learning process quite difficult for newbies. Its development ecosystem is also limited to MacOS, so you might have issues if your developers prefer or are locked into Windows or Linux.
Onsen UI, which we mentioned earlier in the article, offers exceptional documentation but lacks numerous native UI capabilities. The community around this framework is also pretty small, so you might experience problems finding any direct help from developers that prefer this framework.
Ionic is a very popular framework with an active community behind it. Its command line interface has some advantageous development features, but at the same time, your developers will have to be experienced in AngularJS to realize the full potential of this framework.
Native Script is similar to React Native when it comes to the robust community and extensive documentation. It also requires a wider range of coding skills, which will affect either the length of the development period, if your developers are just starting out with the framework, or the price, if you’re going for a mobile app development company.
jQuery Mobile is an entirely different kind of framework, as it doesn’t even try to mimic native UI of any platform. It creates web apps that work fast on all of the mobile browsers.
PhoneGap is one of the many available mobile development frameworks, but it’s definitely at the top of the list when it comes to functionality, flexibility and the complexity of apps that can be effectively developed with its help. It offers native-like UI that can be easily augmented with third-party or custom plugins.
It supports a vast variety of mobile operating systems, which guarantees that both your client-facing and internal apps will work great with the broadest range of potential users. The platform carries enough resources to create complex applications like games, but you have to remember that performance will likely be one of the first compromises that you’ll have to make. The more complex of an app you require, the more taxing the app will be on its user’s smartphone.
PhoneGap still has many competitive advantages. It’s easy to adopt due to the range of available programming tools. This flexibility, combined with some available third-party solutions and a selection of pre-made plugins, offers a very rapid development cycle that allows you to push apps faster to the market. This capability is very important for businesses that want to test out an app concept and the viability of business ideas that come with it. It can always be polished during the development process once the initial launch proves to be a success.
Have you used PhoneGap? What were the issues you came across during development? Why do you like it, or why don’t? Share your thoughts and ideas below!