Undine è un motore per interfacce utente in PHP.
Questo motore consente di creare velocemente complesse interfaccie utente Web e pertanto si presta per la creazione di prototipi e per lo sviluppo rapido di applicazioni.
Un'applicazione creata con Undine consiste normalmente di una descrizione della struttura dell'interfaccia utente realizzata con un formato XML estremamente semplice che viene poi letto dinamicamente dal run-time di Undine. Inoltre il motore di rendering è anche in grado di leggere le destrizioni delle strutture dati direttamente dalla Base Dati, consentendo quindi di evitare la dichiarazione esplicita delle strutture dati usate dall'applicazione. Anche se questo copre già la gran parte delle necessità dell'applicazione, rimane sempre possibile estendere il comportamento predefinito fornito dal motore di Undine con funzioni e metodi PHP possono essere collegati ai punti di espansione predefiniti del normale flusso di esecuzione previsto dai metodi delle classi di oggetti forniti da Undine.