# ambiente di sviluppo web

## lordalbert

Ciao ragazzi. Qualcuno di voi per caso utilizza/conosce degli IDE per sviluppo su web (html, php, javascript, etc) che semplifichino il lavoro? Del tipo, avere a fianco un box con tutti i file su cui stai lavorando, in modo che basta un click e cambi file (una cosa comune, lo so, ma meglio specificare). Inoltre, il supporto diretto a ftp. Cioè, fare in modo che una volta che salvo il file e finisco il lavoro, tali file modificati vengano salvati direttamente su spazio web.

Sono stanco di usare nano/gedit  :Very Happy: 

----------

## darkmanPPT

intendi cose tipo bluefish o tipo kompozer?

sennò c'è anche seamonkey basato sul motore, ovviamente, di firefox.

----------

## lordalbert

non pensavo che bluefish e kompozer avessero connessione ftp per uppare i file. Anzi, li credevo dei progetti morti, non più sviluppati.. buono a sapersi, grazie!  :Smile: 

----------

## Onip

io uso netbeans, autocompleta abbastanza bene sia jquery sia symfony.

----------

## canduc17

Eclipse + aptana plugin

----------

## fbcyborg

Eclipse è ottimo! Netbeans non l'ho mai usato, ma sicuramente è una valida alternativa!  :Wink: 

Ma a proposito di questo:

 *canduc17 wrote:*   

> Eclipse + aptana plugin

 

tempo fa postai una richiesta di aiuto, ma nessuno ha saputo dirmi niente in merito. 

Solo io ho avuto quel problema?

----------

## Onip

 *fbcyborg wrote:*   

> Eclipse è ottimo

 

Io ho smollato eclipse (+pdt però) perchè si incasinava da matti nell'editare file misti html e php. Del tipo che spezzava uno stessa riga di input su più righe e poi non salvava più.

Riproverò con aptana

----------

## fbcyborg

Beh, se avrai successo con aptana fammelo sapere!  :Wink: 

----------

## randomaze

 *lordalbert wrote:*   

> Cioè, fare in modo che una volta che salvo il file e finisco il lavoro, tali file modificati vengano salvati direttamente su spazio web.

 

Al di la della pericolosità i una cosa simile con incrond (inotify-tools) e uno script basato su lftp dovresti poterti svincolare dall'editor e gestire la cosa in automatico

----------

## .:deadhead:.

 *lordalbert wrote:*   

> Cioè, fare in modo che una volta che salvo il file e finisco il lavoro, tali file modificati vengano salvati direttamente su spazio web.

 

[I] net-ftp/weex

     Available versions:  2.6.1.5-r1 {nls}

     Installed versions:  2.6.1.5-r1(00:54:37 18/06/2011)(nls)

     Homepage:            http://weex.sourceforge.net/

     Description:         Automates maintaining a web page or other FTP archive.

Lo sto usando e mi ci trovo estremamente bene  :Smile:  e così son indipendentemente da eclipse/gedit/vim

----------

## lordalbert

Grazie per i consigli!

Vorrei chiedere un'ulteriore cosa.

Se si sviluppano progetti in php un minimo complessi, è bene testarli prima di copiarli direttamente sull'hosting. A me piacerebbe avere un sistema che, una volta completato di scrivere codice, venga uppato il tutto su uno spazio (locale o remoto poco importa) dedicato al testing. In cui vedo il risultato finale. Se poi risulta tutto ok, spostare il tutto sull'hosting che metterà online il sito. 

Un qualcosa che gestisca magari anche le versioni e le modifiche apportate (GIT forse? non so come funzioni, magari dico una cretinata), senza dovermi ogni volta copiare l'intera directory contenente il progetto che andrò a modificare.

Se poi, per esempio, apporto delle modifiche a wordpress, ad ogni nuovo aggiornamento del CMS le modifiche vengono ovviamente sovrascritte dai nuovi file. Esiste un modo per tenere traccia di tutte le modifiche apportate, e riapportarle in modo veloce e sicuro alla nuova versione di wordpress?

Purtroppo sono a digiuno di "gestione dei progetti". Sto imparando giusto ora il semplice linguaggio di programmazione, mi manca tutta la gestione che ci gira intorno.

Se avete suggerimenti su come procedere, dei tool che semplificano il lavoro, etc.. vi sono grato  :Smile: 

Grazie mille!

----------

## ago

NOn puoi usare apache localmente?

----------

## Onip

git (o un qualunque altro scm) vanno più che bene per gestire incrementalmente le modifiche ai file di un progetto.

per sincronizzare con un server remoto io andrei di rsync+ssh: capita che i vari file di configurazione (database, ad esempio) siano diversi tra l'ambiente di sviluppo e quello di produzione, quindi replicare esattamente il contenuto di una directory (git push e/o copia becera) non sia il massimo della flessibilità.

----------

## .:deadhead:.

Ciao LordAlbert

sì quello di cui senti il bisogno è un sistema di controllo di versione, tipo SVN o GIT, in cui registrare tutte le modifiche che fai e tenerne traccia.

Esercitati e prendici la mano magari con qualche progetto di prova prima di iniziare ad usarlo su quello che stai sviluppando ora magari, prima di incasinarti la vita o per errore perdere qualcosa.

Di solito si definiscono delle funzionalità che si vogliono implementare, le si associa ad un numero di versione (1.0) e di crea un branch (chessò sito_1.0) per compiere tali sviluppi.

Quando pensi di avere finito, fai i tuoi test e poi crei un tag, una "foto" presa dal branch sito_1.0, e lo chiami 1.0.0 . Se poi ti accorgi dopo di aver fatto un errore, lo correggi nel branch sito_1.0 e poi crei un nuovo tag 1.0.1, cioè fix 1 del ramo di sviluppo 1.0 .

Poi decidi chessò di cambiare totalmente il tema del tuo wordpress? ok decidi che la release 1.1 ha come obiettivo il cambio del template ed allora ti copi la cartella che hai usato fino ad ora come dir di sviluppo per il branch 1.0 e la chiami  crei un secondo branch chiamato sito_1.1 , e lì inizi le operazioni invasive per il cambio tema. Così facendo, se dovessi accorgerti di un altro baco sul sito 1.0 che è online, lo potresti fixare lavorando sul ramo 1.0: se così non avessi fatto, correresti il rischi di portare in produzione sia la fix che anche gli sviluppi per il sito 1.1 .

Per quel che riguarda i test, sicuramente potresti farli in locale, che poi è presumibile pensare sia già quello che fai quando sviluppi, a meno che non editi files alla cieca  :Very Happy:  Se però ti senti più confidente a portare proprio tutto da un'altra parte, fai pure  :Wink: 

Se ti interessa c'è un tool che si chiama Selenium che ti permette di effettuare delle navigazioni simulate e quindi di verificare che tutte le funzionalità del tuo sito siano operative ad ogni sviluppo. È un lavorone, ma una volta messo in piedi, con un click tu puoi navigare e testare tutto quanto.

Un'altra modalità di verifica della corretta operatività del sito è adottare la modalità di sviluppo basata su test : https://en.wikipedia.org/wiki/Test-driven_development

in pratica tu scrivi un testunit per ogni funzionalità [ per php puoi usare http://simpletest.org/ o http://qa.php.net/write-test.php ] e poi scrivi il codice per passare tale test. Questo dovrebbe garantirti una certa confidenza circa quello che hai sviluppato.

C'è tantissima carne al fuoco da mettere, alcune cose magari potranno essere sovradimensionate per te, saltale. Tra tutte, l'uso di Svn/Git è quello su cui investirei di più...

happy coding!  :Very Happy: 

----------

## lordalbert

ok, grazie deadhead!

Mi cercherò qualche testo/manuale per conoscere e imparare git. Se avete suggerimenti a tal proposito..  :Smile: 

----------

## Onip

io ho letto un (bel) po' a riguardo, ma lo sto imparando solamente adesso che lo uso tutti i giorni per lavoro.

----------

