Když jsem v devadesátkách psal svoji první webovou aplikaci, tak to nemohlo být v ničem jiném než v PHP. Frčelo to jako blázen. Jirka Kosek nám prošlápl cestu a my mu pak slepě věřili i to, že XML je dobrý nápad.

Vývoj probíhal tak, že člověk psal HTML kód a do něj vkládal kusy PHP. Server pak tyto kusy kódu nahradil výsledkem jejich spuštění. Bylo to super jednoduché. Deploy probíhal tak, že člověk nahrál soubory přes FTP na server. Žádný restart, žádný git, žádný Jenkins, žádný build process. Fakt to stačilo nahrát a ono už to jelo.

Vývoj webových aplikací s pomocí Phoenix (LiveView) vypadá hodně podobně. Alespoň pocitově. Na pozadí už je to samozřejmě více profesionální. Konkrétně s hostingem Gigalixir, který je speciálně postavený pro Elixir projekty. Deploy se dělá příkazem:

git push gigalixir master

Gigalixir pak automaticky vytvoří nový build vaší aplikace, zabalí ji do docker image a ten bezvýpadkově vymění za starý image. Po deployi můžete spustit migrace Ecto modelu:

gigalixir run mix ecto.migrate

Nebo si zobrazit logy:

gigalixir logs

Zdarma dostane každá aplikace od Gigalixiru jednu Postgres databázi, takže máte všechno, na co jste zvyklí z LAMPu. Stejně jako PHP je i Phoenix aplikace postavená na šablonách, které se evaluují na serveru. O tom, proč je to i v době Reactu dobrý nápad a jak to může být rychlejší než SPA, si povíme jindy.