Come faccio a rendere meno frustrante lo sviluppo di applicazioni web?

8

Sono abbastanza nuovo nello sviluppo di applicazioni web. Non riesco a scrollarmi di dosso la sensazione che mi ci voglia per sempre di fare qualcosa di persino remota complessità. In c ++ e java potrei scrivere le stesse applicazioni in poche ore.

Sul web il debugging è doloroso (specialmente se è complesso json-ajax). Gli IDE fanno schifo. Le lingue lasciano tutto senza errori fino a quando non funziona più e tu sei bloccato alla ricerca di un bug senza alcun errore o avviso per guidarti (e non è un buon modo per passare attraverso il programma).

Qualcuno può guidarmi a leggere materiale e / o tecnologie che mi aiuterebbero a trovare un modo per rimanere sano nello sviluppo di complesse applicazioni web?

Forse la risposta è usare un buon framework (zend?). Al lavoro non stiamo realmente utilizzando un framework tranne che per i generatori di modelli di database e i generatori di base di aggiunta / aggiornamento / cancellazione delle pagine.

    
posta zhenka 30.08.2011 - 03:48
fonte

6 risposte

4

Se non stai già utilizzando Firefox e Firebug, dovresti farlo. Il debugger di Firebug è solo pieno di meraviglie (non che Chrome non sia, sono in gran parte le stesse), ma io tendo ad andare con Firefox a causa di progetti del sistema operativo come mozrepl , che consente di creare script su Firefox anziché utilizzare le suite di test automatizzate di generazione di browser come Selenium.

Quindi, per il lato client, Chrome o Firefox hanno grandi debugger integrati (pieni di pannelli di controllo, monitor delle prestazioni, tutte le cose buone che hai imparato a conoscere e ad amare in C ++ / Java).

Per quanto riguarda il lato server, se stai usando PHP, allora strongmente suggerisco di utilizzare DBG . Se non sei legato a PHP, allora suggerirei vivamente di passare a Python e utilizzare PDB . Il PDB, associato a cProfile semplifica molto la vita dello sviluppo.

Se sei abituato a GDB (C ++), allora sia PDB che DBG dovrebbero essere pazzeschi facili da imparare ed eseguire. Entrambi possono anche essere integrati in editor come Eclipse, Netbeans e Vim.

    
risposta data 30.08.2011 - 04:01
fonte
1

programma in modo diverso nelle lingue dinamiche. Non esiste un controllo in fase di compilazione, ma non vi è alcun ritardo in fase di compilazione. Così scrivo un piccolo pezzetto di codice alla volta, e poi lo collaudo. Comincio con una pagina vuota e aggiungo un elemento alla volta, testando mentre procedo. Applico ogni piccola modifica al controllo di revisione non appena funziona. In questo modo, se rovino, posso tornare allo stato di lavoro precedente e fare un altro tentativo. Sul lato server ho trovato che i linguaggi dinamici sono molto più produttivi di Java, perché devo scrivere e leggere molto meno codice, e perché non devo mai scherzare con i riavvii del server.

    
risposta data 30.08.2011 - 05:05
fonte
1

Puoi sempre usare java o C ++ (o rubino, o python, o scala o ...) se davvero non sopporti PHP (che è comprensibile. A molte persone non piace.)

Se vuoi rimanere fedele a ciò che stai utilizzando, assicurati di utilizzare firebug ( anche se gli strumenti di google chrome dev stanno per diventare molto più fantastici ) con il plug-in di FirePHP che ti permetterà di avere una visione completa dello stato di PHP e di eventuali errori che si verificano.

Inoltre, assicurati di utilizzare le funzioni di gestione degli errori PHP in uso (ma ricorda di rimuoverle di nuovo prima di andare in diretta, perché sono anche un ottimo modo per gli utenti malintenzionati di scoprire gli interni della tua app)

Per quanto riguarda gli IDE, puoi sempre provare Strumenti per sviluppatori PHP Eclipse o utilizzare il più dedicato Zend Studio .

    
risposta data 30.08.2011 - 05:02
fonte
1

Alcuni strumenti che uso per migliorare il mio sviluppo sono:

Visual Web Developer 2010 (parte di Visual Studio 2010)

Hai detto che l'IDE fa schifo. Con questo ora hai uno dei migliori IDE là fuori, e se hai usato il codice in C ++ scommetto che già conosci VS. Io uso la versione express che è gratuita e non ho bisogno di altro.

JS Fiddle e Codepad

Ottimo per provare layout HTML / CSS e script JS. Codepad è ottimo per provare il tuo sito web nelle lingue lato server.

Firefox + Firebug (o altri equivalenti del browser)

Il debug degli script è molto più semplice usando i browser. Hai anche un DOM in stile albero completo che puoi manipolare come desideri e le modifiche verranno applicate in tempo reale.

Utilizza un framework

Ci sono vari framework per ogni lingua web là fuori. Ti offre una serie di funzionalità ben collaudate che assicurano compatibilità cross-browser, ti fanno risparmiare un sacco di tempo di debug e "scrivi di meno fai di più". Suggerisco di esaminare jQuery e YUI per Codifica JavaScript.

Registro console

Per monitorare i progressi del debug, utilizza una console di debug, integrata nella maggior parte dei browser. In JS, utilizzando console.log('something to write'); si aggiunge una voce di testo alla console di debug, in questo modo è possibile aggiungere informazioni utili al codice per scopi di debug e tenere traccia dell'esecuzione del codice.

Boilerplate

Ora non fraintendermi. So che sei nello sviluppo di applicazioni web e non nel normale sito web. Ma il fatto è che è ancora un sito Web e devi ancora occuparti del problema più importante che hai: compatibilità tra browser. Questo è un modello solido che ti darà una solida base per le tue pagine HTML, e molto altro ancora ...

Ripristino CSS

Se non stai usando Boilerplate, che viene fornito con il suo reset CSS, puoi comunque assicurarti che le tue pagine siano visualizzate correttamente tra i browser. Un reset CSS lo garantirà. Il mio preferito è Ripristino CSS YUI , insieme a Base CSS e Font CSS .

    
risposta data 30.08.2011 - 08:56
fonte
0

L'uso di un framework come Ruby on Rails aiuta a ridurre notevolmente la frustrazione. Ha una buona segnalazione degli errori, e grazie ad ActiveRecord lavorare con modelli e database è un gioco da ragazzi. Finché si segue la filosofia della convenzione sulla configurazione, è possibile prototipare applicazioni Web complesse piuttosto rapidamente con RoR.

Seconda Firebug, anche se gli strumenti per sviluppatori per il webkit funzionano egregiamente.

Modifica risorse:

Ecco un ottimo punto di partenza gratuito.

www.railstutorial.org

    
risposta data 30.08.2011 - 05:32
fonte
0

XDebug potrebbe aiutarti a eseguire il debug in un fashioncloser a ciò che sei abituato a VS ( le ultime versioni di Wampserver vengono fornite con Xdebug (sia server che client), se stai cercando un'installazione di sviluppo semplice che installa tutto ciò di cui hai bisogno tranne un editor di testo).

Inoltre, se PHP non è la tua passione, prova un'altra lingua : potresti essere più felice con Python, Ruby / Rails, ASP o Perl.

Inoltre, potresti scrivere moduli C ++ C ++ invece di script PHP, anche se ti consiglio di provare PHP in più, è abbastanza utile una volta capito.

    
risposta data 30.08.2011 - 09:23
fonte

Leggi altre domande sui tag