RemObjects Software est une société de logiciels américaine fondée en 2002 par Alessandro Federici et Marc Hoffman. Elle développe et propose des outils et des bibliothèques pour les développeurs de logiciels sur diverses plateformes de développement, notamment Embarcadero Delphi , Microsoft .NET , Mono et Xcode d' Apple .
Histoire
RemObjects Software a été fondée à l'été 2002. Son premier produit était RemObjects SDK 1.0 pour Delphi, la solution de communication à distance de la société qui en est maintenant à sa 6e version. Fin 2003, RemObjects a élargi son portefeuille de produits pour ajouter Data Abstract pour Delphi, un framework de base de données multi-niveaux construit sur le SDK.
En 2004, Carlo Kok, qui deviendra plus tard architecte en chef des compilateurs pour Oxygene , rejoint la société, ajoutant la bibliothèque open source Pascal Script pour Delphi au portefeuille de la société. Le développement initial a commencé sur Oxygene (qui s'appelait alors Chrome ) en s'appuyant sur l'expérience de Carlo dans l'écriture du moteur de script Pascal Script largement utilisé. Vers la fin de 2004, le SDK RemObjects pour .NET a été publié, étendant le cadre de communication à distance à sa deuxième plate-forme.
Chrome 1.0 a été publié à la mi-2005, offrant un support pour .NET 1.1 et .NET 2.0, qui était encore en version bêta à l'époque - faisant de Chrome le premier langage de livraison pour .NET prenant en charge des fonctionnalités telles que les génériques. Il a été suivi par Chrome 1.5 lorsque .NET 2.0 a été livré en novembre de la même année. 2005 a également vu l'extension de Data Abstract à .NET en tant que deuxième plate-forme. Data Abstract pour .NET a été le premier produit RemObjects (en plus d'Oxygene lui-même) à être écrit en Oxygene.
Hydra 3.0 a été publié pour .NET en décembre 2006, apportant un changement de paradigme au produit, s'éloignant d'un framework de plugins classique et se concentrant sur l'interopérabilité entre les plugins et les applications hôtes écrites en .NET ou Delphi/Win32, permettant essentiellement l'utilisation de code géré et non géré dans le même projet.
En été 2007, RemObjects a publié Chrome « Joyride », qui a ajouté le support officiel pour .NET 3.0 et 3.5. Chrome a une fois de plus été le premier langage à proposer un support au niveau de la version pour les nouvelles fonctionnalités du framework .NET prises en charge par ce runtime, notamment les séquences et les requêtes (également appelées LINQ ).
Le développement a continué et en mai 2008, Oxygene 3.0 a été publié, abandonnant le surnom « Chrome ». Oxygene a une fois de plus apporté des améliorations majeures au langage, notamment un support étendu de la concurrence et de la programmation parallèle dans le cadre de la syntaxe du langage. En octobre 2008, RemObjects Software et Embarcadero Technologies ont annoncé leur intention de collaborer et de livrer les futures versions d'Oxygene sous le surnom Delphi Prism , plus tard changé en Embarcadero Prism. La première de ces versions de Prism est devenue disponible en décembre 2008.
Au cours de l'année 2009, le logiciel RemObjects a terminé l'extension de sa combinaison de produits Data Abstract et RemObjects SDK vers une troisième plate-forme de développement - Xcode et Cocoa, pour le développement client SDK Mac OS X et iPhone . RemObjects SDK pour OS X a été livré au printemps 2009, suivi de Data Abstract pour OS X à l'automne.
En 2011, Oxygene a été étendu pour ajouter la prise en charge de la plate-forme Java , en plus de NET.
En 2014, RemObjects a introduit un compilateur C# qui fonctionne comme un plug-in Visual Studio 2013, qui peut générer du code pour iOS , MacOS ( Cocaa ) et Android, en plus du code compatible .NET. De plus, un IDE appelé Fire a été introduit pour macOS qui fonctionne avec leurs compilateurs C# et Oxygene.
Ensemble, le compilateur prenant en charge à la fois Oxygene et C# a été rebaptisé Elements Compiler, CE# ayant le nom de code « Hydrogene ».
En février 2015, RemObjects a présenté une version bêta d'un compilateur Swift appelé Silver dans le cadre de son projet Elements. Silver peut également créer du code qui s'exécutera sur Android, la JVM, la plateforme .NET et également créer du code Cocoa natif. Silver a ajouté de nouvelles fonctionnalités au langage Swift, telles que les exceptions, et présente quelques différences et limitations par rapport à Swift d'Apple.
En février 2020, la prise en charge du langage de programmation Go a été introduite avec RemObjects Gold, y compris la possibilité de compiler du code en langage Go pour toutes les plates-formes Elements et un portage de la vaste bibliothèque de base Go disponible pour tous les langages Elements.
En 2021, Mercury a été ajouté au compilateur Elements en tant que sixième langage, offrant un avenir au langage Visual Basic .NET récemment abandonné par Microsoft . Mercury prend en charge la création et la maintenance de projets VB.NET existants, ainsi que l'utilisation du langage pour de nouveaux projets à la fois sur .NET et sur les autres plateformes.
Produits commerciaux
- Elements est une chaîne d'outils de développement qui cible l'exécution .NET, les machines virtuelles Java/Android, l'écosystème Apple (macOS, iOS, tvOS), WebAssembly et le code machine natif et natif du processeur Windows/Linux/Android NDK en conjonction avec une bibliothèque d'exécution qui effectue la collecte automatique des déchets sur les environnements non ARC et ARC sur les environnements basés sur ARC, tels que iOS et MacOS. Étant donné que Java, C#, Swift et Oxygene peuvent tous importer les API des autres, Elements fonctionne efficacement comme Java lié à C# lié à Swift lié à Oxygene en tant que confédération de langages coopérant assez intimement.
- Oxygène , un langage de programmation unique basé sur Object Pascal , qui peut importer les API Java, C# et Swiftdepuis l'environnement d'exécution du système d'exploitation cible ;
- RemObjects C# , une implémentation du langage de programmation C# , qui peut importer les API Java, Swift et Oxygene à partir de l'environnement d'exécution du système d'exploitation cible et qui est destiné à être un concurrent de Xamarin , mais le C# d'Hydrogene cible le bytecode JVM au lieu du C# de Xamarin qui compile uniquement le bytecode Common Language Infrastructure et nécessite que le Mono Common Language Runtime qui l'accompagne soit présent dans des environnements centrés sur la JVM comme Android ;
- Silver , une implémentation libre du langage de programmation Swift , qui peut importer les API Java, C# et Oxygene à partir de l'environnement d'exécution du système d'exploitation cible ;
- Iode , une implémentation du langage de programmation Java .
- Gold , une implémentation du langage de programmation Go .
- Mercury , une implémentation du langage de programmation Visual Basic .NET récemment obsolète par Microsoft.
- Lancez un environnement de développement intégré pour macOS .
- Water est un environnement de développement intégré pour Windows .
- Résumé des données
- SDK de communication à distance, également appelé SDK RemObjects
- Hydre
- Oxfuscateur
- Oxidizer, un traducteur automatique de Java, C#, Objective-C et Delphi vers Oxygene, de Java, Objective-C et C# vers Swift, et de Java et Objective-C vers C#.
Projets Open Source
- Train est un outil open source basé sur JavaScript pour créer et exécuter des scripts de build et d'automatisation.
- Internet Pack for .NET est une bibliothèque open source gratuite permettant de créer des clients et des serveurs réseau utilisant TCP et des protocoles de niveau supérieur tels que HTTP ou FTP , à l'aide des plateformes .NET ou Mono . Elle comprend une gamme d'implémentations de protocoles prêtes à l'emploi , ainsi que des classes de base qui permettent la création d'implémentations personnalisées.
- RemObjects Script pour .NET est une implémentation ECMAScript entièrement gérée pour .NET et Mono.
- Pascal Script pour Delphi est une implémentation largement utilisée de Pascal comme langage de script.
Participation d'autres projets
- Le compilateur d'Oxygène
- Oxygene est un langage basé sur Object Pascal et conçu pour cibler efficacement les environnements d'exécution gérés par Microsoft .NET et Mono . Il étend Object Pascal avec une gamme de fonctionnalités de langage supplémentaires, telles que la programmation orientée aspect , les contrats de classe et la prise en charge du parallélisme . Il s'intègre aux IDE Microsoft Visual Studio et MonoDevelop .