Project IDX + node + php + mysql: un ambiente di sviluppo completo per progetti Laravel

Project IDX è una piattaforma innovativa di Google che rivoluziona il modo in cui gli sviluppatori creano applicazioni. Basato sul cloud, offre un IDE completo e personalizzabile derivato da VS Code, accessibile da qualsiasi dispositivo con un browser. Con Project IDX, puoi scrivere codice, eseguire debug, collaborare con altri sviluppatori e distribuire le tue applicazioni in modo rapido ed efficiente.
In questo articolo vedremo come configurare alcuni servizi accessori (principalmente node, php e mysql) per far girare un'applicazione Laravel completa di database.


Lo spazio di lavoro su Project IDX

Raggiungiamo la dashboard di Project IDX all'indirizzo https://idx.google.com/ e utilizziamo uno dei template presenti per creare il nuovo spazio di lavoro.

Abbiamo subito varie possibilità:

  1. creare un'area di lavoro vuota 
  2. partire da un progetto standard Laravel 11
  3. importare una Vs. repository Git esistente

Creare un'area di lavoro vuota

Usando il template "Blank Workspace" (presente nella sezione Misc) avviamo la creazione di un nuovo spazio di lavoro, dopo aver assegnato un nome al nostro progetto e attendiamo il completamento dell'inizializzazione.

Partire da un progetto standard Laravel 11

Usando il template "Laravel" (presente nella sezione Backend) avviamo la creazione di un nuovo spazio di lavoro, dopo aver assegnato un nome al nostro progetto e attendiamo il completamento dell'inizializzazione.

Importare una Vs. repository Git esistente

Usando l'opzione "Import a repo" indichiamo il link alla repo desiderata, un nome di progetto e diamo a Project IDX i permessi per accedere alla repo (al momento funziona con GitHub, GitLab e Bitbucket)  e attendiamo che l'importazione termini.

La configurazione dell'area di lavoro

Indipendentemente dalla procedura utilizzata, al termine dell'operazione di creazione, ci troveremo difronte ad un ambiente di lavoro (un clone di VS Code). Nella colonna di sinistra, individuiamo il file dev.nix nella cartella .idx e modifichiamolo.

Nel file, troviamo la sezione packages e sostituiamola con questa:


  packages = [
    pkgs.nodejs_20
    pkgs.php82
    pkgs.php82Packages.composer
    pkgs.mysql80
  ];

in modo da aggiungere Node.js (versione 20), PHP (versione 8.2), composer e MySQL (versione 8.0).

Immediatamente dopo questa sezione, aggiungiamo 


  services.mysql = {
    enable = true;
    package = pkgs.mysql80; # For MySQL 8.0
  };
  env = {};

per attivare il servizio MySQL. Infine possiamo tranquillamente rimuovere le altre sezioni presenti.

Completate le modifiche, in basso a destra dell'editor, dovrebbe apparire un pulsante che vi permetterà di ricostruire l'ambiente di sviluppo: Rebuild Environment.

Il progetto Laravel

Se siete partiti da un'area di lavoro vuota, è il momento di creare il progetto Laravel (negli altri casi dovreste già avere tutti i file del progetto e quindi potete saltare questo passaggio).

Apriamo un nuovo terminale (usando il menu in alto a sinistra) e diamo il comando di creazione:


composer create-project --prefer-dist laravel/laravel temp


La root dello spazio non è vuota, per questo motivo, prevenendo la segnalazione di composer, generiamo il progetto in una cartella temporanea. Finita la creazione, spostiamo quindi tutti i file nella root e cancelliamo la cartella temporanea che non serve più.


mv ./temp/* ./ && mv ./temp/.* ./

rmdir temp

Ricostruiamo le dipendenze

In un terminale, digitiamo i comandi per ripristinare le dipendenze (se avete creato il progetto da zero, il comando composer install non è necessario):


npm install
composer install


Se avete clonato una repo esistente, sarà necessario creare anche il file .env (magari duplicando il file .env.example).

Creiamo il database MySQL

Per completare la configurazione, ci rimane da creare il database da collegare all'applicazione. Sempre da terminale, avviamo una sessione amministrativa mysql con il seguente comando:


mysql -u root


al prompt digitiamo il comando di creazione del db, ad esempio laravel (fate attenzione al punto e virgola di fine riga):


create database laravel;


Terminiamo la sessione amministrativa mysql chiudendo il terminale o digitando \q
Non ci resta che modificare il file .env per associare il db, con le seguenti informazioni:


DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=

Avviamo il progetto

La fase di configurazione è terminata e possiamo avviare il progetto, non prima di aver lanciato eventuali migrazioni:


php artisan migrate

Apriamo due diversi terminali per lanciare i classici comandi di avvio del progetto Laravel:


npm run dev


php artisan serve

ottenendo la risposta del server che ci aspettiamo:


INFO Server running on [http://127.0.0.1:8000]. Press Ctrl+C to stop the server

Conclusioni

Grazie all'integrazione con Node.js, è possibile automatizzare molte attività, mentre PHP e MySQL forniscono le basi per lo sviluppo back-end. Il risultato? Un ambiente di sviluppo completo e personalizzabile. Project IDX si rivela uno strumento prezioso per gli sviluppatori Laravel. La sua capacità di unire le potenzialità di Node.js, PHP e MySQL in un'unica interfaccia semplifica notevolmente lo sviluppo, permettendo di creare e testare applicazioni Laravel anche da un semplice browser.

Commenti