Введение

Язык программирования Oxygene (ранее известный как Chrome) — это язык программирования, разработанный RemObjects Software для Common Language Infrastructure, Java Platform и Cocoa от Microsoft. Oxygene основан на Object Pascal из Delphi, но также испытал влияние языков C#, Eiffel, Java, F# и других. В отличие от устаревшего Delphi.NET, Oxygene не делает акцент на полной обратной совместимости, а разработан как «переосмысление» языка, стремящееся быть полноценным участником управляемых платформ разработки и использовать все возможности и технологии, предоставляемые средами выполнения .NET и Java. Oxygene — коммерческий продукт, обеспечивающий полную интеграцию с IDE Visual Studio от Microsoft на Windows, а также собственную IDE под названием Fire для macOS. Oxygene является одним из шести языков, поддерживаемых базовым инструментарием Elements Compiler, наряду с C#, Swift, Java, Go и Mercury (на основе Visual Basic.NET). С 2008 по 2012 год RemObjects Software лицензировала свой компилятор и технологию IDE компании Embarcadero для использования в их продукте Embarcadero Prism. Начиная с осени 2011 года, Oxygene стал доступен в двух отдельных редакциях, при этом вторая редакция добавила поддержку сред выполнения Java и Android. Начиная с выпуска XE4, Embarcadero Prism больше не входит в состав RAD Studio SKU. Для пользователей Prism существует множество вариантов поддержки и обновления для перехода на Oxygene. По состоянию на 2016 год существует только одна редакция Oxygene, позволяющая разрабатывать для Windows или macOS и создавать исполняемые файлы для Windows, Linux, WebAssembly .NET, iOS, Android, Java и macOS.

Критика

Некоторые люди хотели бы перенести свой код Win32 Delphi на Oxygene, не внося существенных изменений. Это невозможно, поскольку, хотя Oxygene и похож на Delphi, в нем достаточно отличий, чтобы простая перекомпиляция оказалась несовместимой. Несмотря на то, что название создает впечатление, будто это очередная версия Delphi, это не совсем так. Помимо различий в языке, в Oxygene недоступен фреймворк Visual Component Library. Это значительно усложняет перенос, так как классический код Delphi сильно зависит от VCL.