PeachPie helpt PHP-apps en -projecten te draaien op .NET

Abonneer je gratis op Techzine!

Het ontwikkelplatform PeachPie, dat recent zijn 1.0.0-release heeft uitgebracht, helpt ontwikkelaars applicaties en projecten die in PHP-code zijn ontwikkeld zonder problemen te draaien op .NET. Concreet ziet .NET de PHP-applicaties en -projecten dan als native .NET-code.

Het PeachPie-platform is al enige tijd in ontwikkeling en zorgt ervoor dat PHP-code in het .NET ecosysteem kan worden geïntegreerd. Dit moet op PHP gebaseerde applicaties en projecten dan volledig compatibel maken met andere .NET-projecten, zoals C#. Het platform bestaat concreet uit een compiler, runtime, extension libraries, IDE-ondersteuning en support voor MSBuild.

Functionaliteit

Met het ontwikkelplatform kunnen ontwikkelaars hun PHP-code direct debuggen en zichtbaar maken in Visual Studio, VS Code of Rider. Hierbij krijgen zij tijdens de ontwerptijd met de functionaliteit Code Analysis ook vele diagnostische gegevens over de code. De PHP-code wordt in een DLL-bestand gecompileerd en kan in NuGets worden verpakt. Deze packets kunnen dan op hun beurt weer veilig, zonder de source code, worden gedistribueerd. Ook is versie 1.0.0 van PeachPie voorzien van de laatste versie van het contentmanagementplatform WordPress voor .NET, inclusief alle belangrijkste plugins.

PeachPie heeft ook een eigen marktplaats waar meer PHP-oplossingen staan die direct al in .NET-omgevingen kunnen worden geïmplementeerd.

Use cases

De ontwikkelaars van Peachpie zien het platform als handig voor een aantal toepassingen. Bijvoorbeeld voor het integreren van bestaande .NET- en PHP-applicaties en het migreren van code van PHP naar .NET. Daarnaast kan PeachPie worden ingezet voor het draaien van PHP-applicaties en -projecten op meerdere platforms, het verbeteren van de prestaties van de applicaties en projecten en het gebruik van .NET tooling voor PHP-code. PeachPie biedt voor PHP-code alle .NET-tooling die maar nodig is. Denk daarbij aan diagnostiche tooling, debugging-eigenscheppen, prestatietellers en -monitoring, Just-in-Time-compilatie, Ahead-of-Time-compilatie, source-less distributie, GUI als Winforms, WPF, Xamarin Forms, het al hierboven genoemde MSBuild en packages van NuGets feeds.

Toekomstige ontwikkelingen

Hoewel nu pas release 1.0.0 is uitgebracht, doen de ontwikkelaars achter PeachPie ook al een aantal voorspellingen voor releases 1.1 en 1.2 In versie 1.1 wordt meer interoperabiliteit met andere code toegevoegd, zoals de ‘dynamic understanding PHP types’ van C#. Ook komt er meer ondersteuning voor .NET value types. Verder wordt een optie toegevoegd om een project dynamisch op runtime te compileren. Deze functionaliteit is volgens de ontwikkelaars expres weggelaten in versie 1.0.0 van PeachPie

Versie 1.2 wordt gelanceerd als er grote veranderingen nodig zijn. Wel geven de initiatiefnemers van PeachPie aan dat in deze versie de algemene prestaties van gecompileerde applicaties en de compiler zelf worden verbeterd.

Tip: Microsoft komt met tweede preview van .NET 6.0
Tip: PHP 8.0 ondersteunt JIT en union types