Mauro Mandalari

Lavoro nel campo della comunicazione web da più di 15 anni, sviluppo strategie di comunicazione web efficaci, mi occupo di WebDesign, WebDeveloping, UserExperience, DigitalStrategy.

Dietro un grande web developer c’è sempre un grande ambiente di sviluppo. Niente di più vero. La buona riuscita di un qualsiasi progetto web dipende anche dall’ambiente di sviluppo in cui questo nasce. Eppure non sempre viene riconosciuto a questo aspetto il giusto merito.

Qualcuno potrebbe obiettare sostenendo che questa premessa è vera per ogni mestiere. D’altronde riusciremmo ad immaginare un pasticcere all’opera in una cucina da camper? Oppure un architetto intento a progettare in uno scantinato buio e umido?

Software per i web developer

Tuttavia ciò che trae in inganno nel campo dello sviluppo web è il duplice aspetto hardware e software che, se non vagliato adeguatamente, porta a propendere per uno dei due. Inutile dire che gli aspetti in questione sono complementari e nessuno è preminente sull’altro. In questo post analizziamo gli strumenti, ovvero i software, di cui un web developer non dovrebbe fare a meno per essere “mentalmente” comodo.

[Tweet “#WebDevelopment: ecco i software che non possono mancare nell’ambiente di sviluppo”]

Editor di testo

Ne esistono tantissimi. Free oppure a pagamento. La scelta di un buon editor di testo è spesso vincolata al linguaggio di sviluppo. Di certo un buon web developer evita di utilizzare editor generici e banali (notepad andrebbe disinstallato!) e si serve di quegli strumenti che offrono un servizio avanzato di gestione del progetto e del codice.

Alcune caratteristiche che deve avere un buon editor:

  • Deve contemplare la gestione complessiva del progetto e non solo di n file scollegati tra loro.
  • Deve avere un sistema di highlighting, evidenziazione di parole chiave e blocchi di codice.
  • Deve avere un sistema di aggiornamento ed installazione di add-on per espandere il campo delle funzionalità.

Personalmente mi trovo molto bene con Eclipse PDT (dove la P sta per php). Eclipse supporta tanti altri linguaggi ed ha tantissimi add-on da poter installare. Nei commenti mi aspetto di leggere il tuo editor preferito!

Gestione dei database

Qua potremmo incappare nel club dei puristi, ovvero coloro che gestiscono i db solo da linea di comando (e il codice con vim di linux). Chiariamo un concetto. Se sei un web developer per lavoro, oltre che per passione, inizia ad utilizzare strumenti che ti facciano lavorare comodamente e non far prevalere il purismo che c’è in te. Lascia stare le linee di comando. Devi essere produttivo ed efficiente. Per i database esistono tante applicazioni che ti permettono di gestire tutto a livello grafico con gran risparmio di tempo e con aumento notevole della qualità.

Io per la gestione di database mysql utilizzo Heidi Mysql, un tool abbastanza leggero ma completo. Esistono anche tool che consentono di disegnare un db con il drag & drop. Ecco, questo lo considero un eccesso dall’altra parte. Non essere un purista va bene ma nemmeno uno di quelli che trascura i dettagli solo perché gli è più comodo trascinare icone.

Sviluppare online vs offline

Non c’è molto da discutere sul punto. Non si può affrontare un progetto caricando file online ogni secondo. È fondamentale riprodurre un server sul proprio pc per poter sviluppare in modo efficace. Non l’hai ancora fatto? Ti spiego come fare.

Installa un server web (ti consiglio Wamp). Con pochi semplici passi avrai un server nel tuo pc (Apache, MySql, Php / phpmyadmin)… ma non è finita qui.

Ora che hai un server non ti limitare a lavorare su url tipo “http://localost/mio_progetto/…” ma preferisci a quest’ultima l’url finale di produzione, tipo “www.miosito.it“. Per fare questo devi creare un virtualhost!

Nel caso di Wamp dovrai aprire il file httpd-vhosts.conf che trovi nella cartella conf/extra/ interna alla cartella di apache nell’installazione di Wamp. Aggiungi il seguente codice, premesso che C:/www rappresenta la cartella in cui apache opera (se vuoi modificare questo parametro va nella cartella apache e in conf/httpd.conf cerca DocumentRoot). Il server name invece, corrisponde al nome del tuo progetto.

<Directory C:/www/cartelladelmioprogetto>
	Order Deny,Allow   
	Allow from all 
</Directory>

<VirtualHost *:80>   
	DocumentRoot "C:\www\cartelladelmioprogetto" 
	ServerName www.mioprogetto.com
</VirtualHost>

Ora non rimane che dire al file host del tuo sistema operativo, che le richieste a www.mioprogetto.com debbono essere redirette al localhost (o 127.0.0.1). A seconda dei sistemi operativi c’è un differente modo di interagire con il file host, nel caso di windows nella cartella d’installazione del sistema operativo al percorso “…\system32\drivers\etc” troverai il file hosts. Modificalo aggiungendo una riga come segue:

# Copyright (c) 1993-2009 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
#      102.54.94.97     rhino.acme.com          # source server
#       38.25.63.10     x.acme.com              # x client host

# localhost name resolution is handled within DNS itself.
#	127.0.0.1       localhost
#	::1             localhost

127.0.0.1	www.mioprogetto.com

È fatta.

Non sottovalutare l’importanza del virtualhost, spesso alcuni cms memorizzano rigidamente la lunghezza della url di base e succede dunque che passando in produzione alcune parti del progetto smettono di funzionare.

Per gestire i db installa un software (tipo quello che ti ho suggerito sopra) e entra nel server con le credenziali impostate nel file my.ini (lo trovi nella cartella bin/ dell’installazione wamp).

Conclusione

Ora hai un ambiente che inizia ad essere veramente professionale.
Manca uno strumento molto importante che ti farà fare un salto di qualità. Il prossimo articolo sarà dedicato proprio a questo strumento.
Stay tuned!

Lavoro nel campo della comunicazione web da più di 15 anni, sviluppo strategie di comunicazione web efficaci, mi occupo di WebDesign, WebDeveloping, UserExperience, DigitalStrategy.