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:
Servers and CLI
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. Contact us below for a free consultation with our CEO.
Projects start at $50,000.
An interpreted high-level programming language great for general purpose programming.
A server side programming language known for its ease of use and speed of development.
View a sampling of our work implemented using a variety of our favorite technologies.
View projects implemented using this high-level programming language great for general purpose programming.
View projects implemented using this framework that allows rapid development of native Android and IOS apps.
View projects implemented using this server side programming language known for its ease of use and speed of development.
Learn more about our current job openings and benefits of working at FSL.
Detailed reviews and feedback from past and current clients.
Detailed profiles for each member of our team.
Our step-by-step process for designing and developing new applications.
Get answers to the questions most frequently asked by new clients.
Learn more about FullStack Lab’s Mission, Vision, & Company Values.
A high level overview of FullStack Labs, who we are, and what we do.