Введение

SuperWaba – это устаревшая виртуальная машина (VM), подобная Java, предназначенная для портативных устройств. Разработчики программного обеспечения используют интерфейсы прикладного программирования (API), к которым осуществляется доступ через связанные библиотеки (упакованные в JAR-файлы) и небольшие инструменты (совместно образующие комплект разработки программного обеспечения), для создания приложений, способных работать в этой виртуальной машине на поддерживаемых платформах.

Архитектура

VM и API SuperWaba реализуют подмножество языка программирования Java, что позволяет им работать под стандартной Java VM или как Java-апплет. Это отличается от Java Micro Edition, которая была разработана на основе иной спецификации Java, чем Java Standard Edition. Классы, компилируемые для VM SuperWaba, должны быть скомпилированы с совместимостью Java 2, Standard Edition 1.2. Следует отметить, что VM SuperWaba не соответствует какой-либо конкретной спецификации. Однако API SuperWaba позволяет перекомпилировать классы приложения для Java Standard Edition. При такой переориентации поддерживаются все версии Java Standard Edition. Несмотря на сходство со спецификацией Java 2 Standard Edition, SuperWaba соответствующим образом ограничена аппаратными возможностями, типичными для портативных устройств. В частности, VM SuperWaba оптимизирована для использования на устройствах с маленькими экранами. Компилированный код выполняется со скоростью от 1/3 до 1/2 скорости эквивалентного приложения на C на платформе Palm, а на платформе Windows API (Win32) – примерно в три-четыре раза быстрее, чем JIT-скомпилированная Java, отчасти благодаря реализации, работающей только с целыми числами. В SDK предоставляются дополнительные математические библиотеки для операций с числами с плавающей точкой. VM и API SuperWaba расширяемы. Они распространяются под лицензией свободного программного обеспечения GPL. Кроме того, лицензиаты могут приобрести версию LGPL, позволяющую связывать их с проприетарным программным обеспечением. Приложения и библиотеки, разработанные для SuperWaba, могут продаваться, однако большинство из них доступны в виде бесплатного программного обеспечения на основном веб-сайте.

История

SuperWaba развился из проекта Waba, который был независимым предшественником Java Platform, Micro Edition (Java ME). SuperWaba изначально поддерживала только Palm OS; начиная с версии 3, была добавлена поддержка Windows CE, как и у предыдущей виртуальной машины Waba. Начиная с выпуска 5.0, SuperWaba использует библиотеку SDL для управления отображением, что повышает её переносимость на множество других платформ. Поддержка SuperWaba прекращена, а её преемник, TotalCross, является основным мобильным SDK. TotalCross Beta 4 был выпущен 12 января 2009 года. TotalCross, являясь более совершенным решением, чем SuperWaba, обеспечивает большую стабильность платформы, более эффективную компиляцию кода Java и расширенные возможности при меньшем размере.