Java’s creators had a vision for the language to be “write once, run anywhere,” and their success couldn’t be more obvious than in the embedded world. Being able to write just one version of a Java program and run close to the same binaries everywhere is a big draw for teams that create software for small devices and hidden computers. In many cases, these developers don’t know much about the CPU that will run in the final shipping product, and they don’t need to.
Java’s flexibility to run anywhere also helps product teams in the long term, because the second, third, or fourth generation of a product might run on different chips. The software can usually be adapted with little or no additional coding.
Today, numerous Java frameworks are used to create embedded Java applications. Some are general tools intended to be used in many types of machines. They’re often the best starting point for teams creating new applications.
Other frameworks were developed for a specific device or family of devices. These may include both a programming foundation and features that support the devices or other products your app will run on. The most common example of this type of embedded Java framework may be Android, which developers use to create apps for Android phones, Chromebooks, and other devices like televisions.
Android is likely the most well-known Java embedded framework. It began as a foundation for creating apps for the phones that Google was building to compete with Apple. Much of the original code base was open sourced, and now many other types of devices (not just phones) support Android apps. Google’s ChromeOS, used in Chromebooks, is just one example. Dozens of small boxes bring Android apps to big, flat screens for the living room.
Writing Android apps is a simple way to target all of these devices. It also allows device creators to open up their products to third-party developers. Some developers work with just the basic Android libraries, which are more than sufficient for many programs. Others use frameworks that sit on top of Android. Some of the most popular are Ionic, Flutter, and Framework7. A common feature lets developers repurpose the design for other platforms like iOS. Flutter, for instance, targets six different platforms.
Here are eight great embedded Java frameworks. Each of them leverages the stability and breadth of the Java platform and third-party libraries for small devices and hidden computers. These frameworks adapt traditional Java techniques and approaches to run faster and lighter in the embedded market