Supporting Hybrid Technologies
At PSPDFKit, we support and provide sample projects for all major hybrid technologies, including Cordova, Electron, Flutter, Ionic, React Native, and Xamarin.
Hybrid technologies allow you to develop cross-platform applications faster. They also enable web developers to create native mobile apps.
In this article, we’ll provide an overview of every hybrid technology that we support, and we’ll discuss the various aspects that you and your team should consider when evaluating the adoption of a hybrid technology for your project.
So let’s get started!
ℹ️ Note: This blog post was updated on 22 July 2021 to remove mentions of Titanium, as Axway announced End-of-Support for the Titanium SDK effective 1 March 2022.
Overview
Most hybrid technologies allow you to use JavaScript, HTML, and CSS while encapsulating platform-specific details. For example, Cordova, Electron, Ionic, and React Native enable you to develop mobile apps with HTML, CSS, and JavaScript, while Xamarin allows you to create apps using C# as a programming language.
Take a look at the table below, which shows the programming language and the supported platform for each hybrid technology:
Hybrid Technology | Programming Language | Supported Platforms | Nutrient Platform |
---|---|---|---|
Cordova | JavaScript, HTML, and CSS | Android, iOS, macOS, and Windows | Nutrient for Android and iOS |
Electron | JavaScript, HTML, and CSS | Linux, macOS, and Windows | Nutrient for Web |
Flutter | Dart | Android and iOS | Nutrient for Android and iOS |
Ionic | JavaScript, HTML, and CSS | Android and iOS | Nutrient for Android and iOS |
Microsoft Xamarin | C# | Android, iOS, macOS, and Windows | Nutrient for Android, iOS, macOS, and Windows |
React Native | JavaScript, HTML, and CSS | Android, iOS, and Windows | Nutrient for Android, iOS, and Windows |
Not All Hybrid Technologies Are Made Exclusively for Mobile Development
Most of our hybrid technologies are centered around mobile app development. However, there are a few hybrid technologies, like Electron and Xamarin, that allow you to develop desktop (macOS and Windows) apps using PSPDFKit for Web and PSPDFKit for macOS, respectively.
So Which Hybrid Technology Should I Use?
The choice of which hybrid technology is right for your project is a decision that you and your team will ultimately have to make. Committing to a specific hybrid technology can be a tough decision to make. In this section, we’ll discuss the questions you should ask when evaluating a hybrid solution.
Who’s Backing It?
It’s important to note that some big companies back some hybrid technologies. For example, Xamarin is backed by Microsoft, Facebook is behind React Native, and Flutter is supported by Google.
How Active Is the Community?
Most hybrid technologies are open source, which is great, because you have a clear view of the known issues and pull requests, and you can also contribute. We recommend that you look at the open source repositories for each technology and see how active the community is at fixing bugs and adopting new features.
We also suggest looking at the Stack Overflow topics and the official documentation for each technology.
How Easy Is It to Customize and Extend Native APIs?
In our native SDKs, we expose a lot of APIs so that they can be fully customized. However, we cannot offer all of our native APIs in our hybrid libraries for reasons like the native design patterns being very specific to the platform and different from the hybrid technology. So we generally expose a subset of the native APIs, which allows you to develop a fully functional app for most use cases. For advanced use cases, we recommend that you extend our libraries.
You can extend our libraries by forking their repositories and making the changes in your fork. For more details, please take a look at how we did it for our React Native library in customize-the-toolbar-in-native-code.
Other Factors to Consider
With each new update of our native SDKs, we test our hybrid libraries to make sure that the newly changed APIs don’t impact our hybrid libraries. It’s essential that you use the most recent versions of both our hybrid libraries and SDKs to ensure a consistent development environment.
Our Xamarin library uses all of the native APIs, and it involves a considerable amount of effort to update the library to match the SDK release. This process can take a few days and sometimes a week, depending on the extent of the update.
We noticed that React Native is the technology that has gained a lot of traction lately, and we recently extended its API and wrote blog posts like How to Extend React Native APIs and Advanced Techniques for React Native UI Components.
Conclusion
We hope this article will help you when deciding which hybrid solution to adopt in your next project. We recommend that you explore our repositories and our documentation. If you have any questions about any of our hybrid technologies, please don’t hesitate to reach out to us. We’re happy to help.