Cross-platform technologies allow developers to write an app once and run it on many different platforms, saving significant time, money, and effort. Developing cross-platform also makes an app easier to maintain, test, and debug. Despite these benefits, many businesses have chosen not to adopt cross-platform technologies and instead limit the number of supported platforms, or hire separate teams to build their iOS, Android, Windows, Mac, Linux, and web applications. This, in my opinion, is because of the perceived downsides of previous technologies like Java Swing and Adobe Air.
The first well-known cross platform technology was Swing, introduced by the team behind Java in the 1990s. Swing gave engineers a common framework to develop a single UI application that could run on Windows, Mac, Linux, and the web while maintaining visual consistency. However, developing with Swing came with some challenges.
Swing applications required a specific Java version to run. If an end user did not have the correct version installed, the app would not run. Versions were easier for developers to control, but the average user often ran into issues both identifying and downloading the correct version. If a user had multiple Swing applications, each may require a different Java version, which further complicated the process of accessing them. Additionally, Swing’s UI component library was limited. It didn’t allow for many platform-specific customizations, either.
In the late 2000s, Adobe created a programming language called ActionScript for Flash, then leveraged Flash’s popularity for web animation into a cross-platform framework, Adobe Air. With Adobe Air, developers who were already accustomed to building websites in Flash could translate these skills to build new, non-web platforms. Like Swing, however, Adobe Air was not without its faults.
The entire Adobe Air platform was closed source, which doomed it from the start. This made it difficult for Adobe to remain competitive with faster-moving, open-source technologies, like CSS animations. Additionally, inherent security flaws in Flash eventually led Adobe to abandon Flash in favor of HTML5. Currently, Adobe is transitioning ownership of Adobe Air to HARMAN, which, in my opinion, further calls into question the future of the technology.
The following are a few of these tools and libraries that are most popular:
To learn more about leveraging some of the tools and libraries listed above, check out the other articles posted on Fullstack’s blog.
We’d love to learn more about your project.
Engagements start at $75,000.