Apogee Software, Inc. (Apogee) was founded in September 1988 by 6 compiler designers with a goal of creating high performance cross-compilers for embedded systems based on RISC processors. Shortly after founded, Apogee was contracted by Intergraph, Motorola and Sun Microsystems to develop optimizing C/C++ and FORTRAN cross-compilers for their RISC processors (Intergraph's Clipper, Motorola's M88K, and Sun's SuperSPARC), all of which were completed in 3 years. Then, starting in 1992, Apogee gradually developed optimizing C/C++ cross-compilers for PowerPC, MIPS, and ARM processors and marketed them as the “of the shelf” products until 2007. In addition, Apogee was contracted by a number of hardware vendors, including Cirrus Logic, Mentor Graphics, NEC Electronics, Palm Computing, Philips Semiconductors, Silicon Graphics, Sony Computer Entertainment, and ST Microelectronics to develop customizing C/C++ cross-compilers for their proprietary RISC processors.
When Sun Microsystems introduced the
Java ME CDC and CLDC platforms for embedded systems in middle of 1996, Apogee licensed the J2ME CDC technology and used it in developing the "Micro
edition Java Runtime Environments" (MJREs) for embedded systems based on x86,
ARM, MIPS, and PowerPC processors running Linux. Apogee was the first source code licensee of Sun J2ME CDC
technology and completed the first x86-targeted MJRE based on this technology in March 1997, 3 months before Sun completed and commercially released its first
x86-targeted J2ME CDC JRE. The J2ME CDC based MJREs targeted at ARM, MIPS, and PowerPC processors were completed by middle of 1998 and Apogee
was successfully marketing all MJREs until middle of 2003.
In August 2003, Apogee decided to replace Sun's J2ME CDC technology with the J2ME CDC compatible technology from IBM, because IBM’s technology was more advanced, reliable, and better performing than Sun’s technology. Therefore, Apogee became IBM's "Java partner" and a source code licensee (one of only 3 worldwide) of IBM’s J2ME CDC technology and gradually created over 40 MJREs for a number of customers, including large corporations such as AMCC, Lockheed Martin, McDonnell division of Boeing, NEC, Raytheon, VeriFone, etc. by the end of 2007. Each such created MJRE was comprised of ports of IBM’s J9 Java VM (J9VM), Just-In-Time (JIT) compiler, Java class libraries, and customer requested implementations of J2ME JSRs (Java Specification Requests). In addition, if requested by a given Apogee's customer, Apogee included in the MJRE created for this customer: (i) additional Java technologies developed by Apogee, such as the highly deterministic real-time garbage collector and JAOT (Just Ahead of Time) compiler; and (ii) the ports of customer-requested complementary technologies from providers of open-source Java software, such as the Equinox OSGi frameworks and service bundles from Eclipse.org, Tomcat Servlet Container from Apache.org, and Jetty Web Server from Eclipse.org.
By the end of 2007, the processors
used in embedded systems became more powerful and the flash and RAMs
used by them became larger and less costly, which meant that the devices based on such
embedded systems could run, with acceptable runtime performance, Java SE applications. Therefore, in
January 2008, Apogee unveiled the Java SE compatible "Custom edition JREs"
(CJREs), each allowing running of Java SE applications on devices having a port of CJRE installed on them. Initially, each CJRE included a port of Java SE compatible
Harmony Class Library (HCL) from Apache.org, in
addition to the ports of IBM’s J9VM and JIT compiler. However, when Apache.org decided in June 2011 to discontinue the HCL project by fall of 2011, Apogee started to use the ports of Java SE 7 class library (JSE7
CL) from Oracle’s Java SE 7 OpenJDK instead of ports of HCL in all new CJREs, and gradually
replaced the ports of HCL with the ports of JSE7 CL in all existing CJREs. This means that each of today’s CJREs is
fully compatible with Oracles Java SE 5/6/7 platforms because it includes a port of JSE7 CL from latest Oracle’s Java SE 7 OpenJDK in addition to the ports of IBM’s J9VM
enhanced to work seamlessly and effectively with the port of JSE7 CL and IBM’s
optimizing JIT compiler.
Apogee concluded in early 2013 that there is a need for allowing Java applications, games (such as Minecraft), and other software targeted at Oracle’s Java SE 5/6/7 platforms to run on smart phones, tablets, and other “hand-helds” devices based on Android. Therefore, Apogee started a major project to create the “JRE for Android devices” (JRE4A) that would allow running of Java SE 5/6/7 applications, games and other software on Android devices. The first JRE4A targeted at ARM-based devices running Android 4.2.x. 4.3.x, or 4.4 is nearly completed and will be commercially released at the end of January 2014, at which time its Android-compatible “.apk” file will become available from Google Play as well as directly from Apogee’s website. This “.apk” file would run on a given Android device “side-by-side” with Android’s Dalvik VM and other main Android components, which means that the device will be fully capable of executing JAR files of Java SE 5/6/7-targeted applications, games, and other software in addition to still being fully capable of executing “DEX” file of Android applications.
While developing, maintaining, and enhancing MJREs and, later, CJREs, Apogee continued to develop C/C++ cross-compilers for new customers. However, with the commercial success of CJREs, Apogee decided to discontinue its “compiler business” and sold the entire intellectual property of its compiler technology to a major Japanese corporation in fall of 2007.
Based in Campbell, California, Apogee is a privately held California corporation owned by 3 of the original founders. Apogee has a close affiliate and out-sourcing partner Apogee.cz, s.r.o. in Prague, Czech Republic, who creates CJREs for Apogee's European customers and to provide technical support and maintenance for all Apogee's CJREs. In addition, the project to create JRE4As has bee carried carried out by Apogee.cz under technical guidance of Apogee US.