Gli sviluppatori del compilatore Open Source in .NET Peachpie hanno finalmente completato un proof of concept destinato all'esecuzione di un'installazione di WordPress come applicazione fully managed su .NET e .NET Core. Peachpie rappresenta un'evoluzione del progetto Phalanger, piattaforma dimostratasi in passato capace di gestire un clone di WordPress su .NET, nel caso specifico però l'esperimento aveva fatto emergere alcune problematiche tra cui la difficoltà di supportare gli aggiornamenti del CMS.
Per il successo dei test più recenti è stato configurato un ambiente basato su NET Core 1.0 e MySQL Server; sono state inoltre necessarie alcune modifiche al codice di WordPress per ovviare al mancato supporto da parte del compilatore di costrutti quali le classi che estendono altre classi dichiarate all'interno di costrutti condizionali. Anche in questo caso è stato necessario l'utilizzo di un Web server e la scelta è ricaduta su Kestrel, soluzione libere e aperta che ha il vantaggio di essere particolarmente leggera e modulare.
Kestrel (o KestrelHttpServer) è un Web engine per ASP.NET Core basato sulla libreria multipiattaforma libuv; Peachpie integra un'estensione dedicata al suo utilizzo che consente di gestire le richieste generate tramite PHP e di processarle attraverso la compilazione di un'apposita DDL. Per quanto riguarda invece il Database Manager, per l'esecuzione dei test è stata utilizzata una piattaforma virtualizzata tramite Docker nella quale attivare un'istanza di MySQL, ma il funzionamento dovrebbe essere garantito anche al di fuori di un container.
Ma perché eseguire WordPress su .NET? Le motivazione potrebbero essere diverse e riguardano in primo luogo le prestazioni garantite dalla compilazione e dalla conseguente ottimizzazione del codice. Andrebbe poi considerata l'estensibilità di C#, con la possibilità di implementare le funzionalità dei plugin in progetti C# separati e di far utilizzare le librerie .NET alle estensioni basate su PHP.
Tra gli altri vantaggi si potrebbe citare la possibilità di sfruttare Windows Update per aggiornare costantemente l'ambiente di produzione del CMS, così come l'opportunità di non dover installare PHP o di non dover obbligatoriamente disporre di diversi file sorgente grazie alla compilazione (Sourceless distribution).
Via Peachpie