Il modo migliore per iniziare l'apprendimento della progettazione di applicazioni Web


10

Sono un programmatore hobbista da molto tempo interessato ad entrare nello sviluppo di applicazioni web. Ho una discreta quantità di esperienza personale con vari linguaggi diversi dal web, ma non mi sono mai interessato alle applicazioni web.

In genere non ho problemi con l'apprendimento di nuove lingue o tecnologie, quindi non sono preoccupato di quale sia la "migliore" lingua o stack web con cui lavorare. Invece, mi piacerebbe sapere di tutte le risorse raccomandate (libri, articoli, siti web, forse anche corsi universitari) che discutono della progettazione di applicazioni web: gestione e ottimizzazione dell'interazione con il server, problemi di sicurezza, scalabilità e altri argomenti che rientrano nel design piuttosto che di implementazione.

Cosa raccomanderesti per uno sviluppatore di applicazioni autonomo che desidera espandersi nello sviluppo Web?

10

Esiste un'ampia varietà di lingue per le applicazioni Web che è possibile inserire. Quelle con cui ho più esperienza (e quindi parlerò qui) sono PHP, eRuby e Ruby on Rails. Tutti questi sono buoni tutorial disponibili su Internet - collegherò ad alcuni di loro di seguito.

Quale scegliere dipende esattamente da ciò che si sta cercando di fare. Usando PHP ed eRuby devi fare la maggior parte delle cose da te - considerando che Ruby on Rails farà un sacco di cose per te (utile, ma può anche essere pericoloso se non sai cosa stai facendo). Ruby on Rails è utile per fare cose legate al database - ad esempio l'applicazione standard CRUD (Crea, leggi, aggiorna, cancella). Il tipo standard di esercitazioni di Ruby on Rails (spesso abbreviato in RoR) ti insegna come un'applicazione per il blog (Crea voci, Leggi voci, Aggiorna voci, Elimina voci) o un'applicazione per la Rubrica.È possibile eseguire molte di queste applicazioni quasi in un'unica riga di codice, utilizzando la funzione "scaffold" di RoR.

PHP ed eRuby vi fanno fare più del lavoro da soli - ma questo può essere migliore in alcune situazioni. PHP è più conosciuto e usato di eRuby, ma mi piace il linguaggio Ruby, quindi mi piace usare eRuby. Questi sono entrambi buoni per fare semplici applicazioni (come i moduli di contatto sui siti web) o applicazioni più complesse (phpBB - un pezzo di software forum è scritto in php).

Per quanto riguarda quale scegliere, mi piacerebbe giocare con loro e vedere cosa ne pensi. Prova a eseguire i primi pezzetti di un tutorial con ciascuno e vedi come ti piace o no.

Arrivano i link ai vari tutorial:

PHP

eRuby

Ruby on Rails

Ci sono alcuni tutorial per iniziare. Alcuni di questi ti portano attraverso l'installazione del software necessario (server web e quant'altro necessario - ad esempio php o ruby) e altri no. Un buon modo per ottenere Apache (server web), MySQL (db) e PHP installati su Windows è utilizzare XAMPP. Se sei su Linux allora apache, mysql e php saranno nei repository dei pacchetti e potrebbero esserci delle guide specifiche sulla distribuzione per configurarle.


2

Un sacco di lingue hanno controparti web. JSP per Java, Rails per Ruby, Django per Python, ecc. Questo potrebbe essere un vantaggio.

Se si vuole andare per la piattaforma con la più grande base di utenti (e con ciò, la più grande pila di tutorial ed esempi), andare per PHP.

Tuttavia, consiglio vivamente di esaminare vari framework. Per ogni linguaggio orientato al web ci sono un sacco di risorse che tolgono la fatica di scrivere tutto il codice di basso livello dell'impianto idraulico, così puoi concentrarti sulle cose che contano. Personalmente utilizzo quasi esclusivamente .NET, ma ho sentito parlare di un buon numero di framework PHP, come la piattaforma Zend e CakePHP (per lo sviluppo MVC).

Se si intende utilizzare anche javascript nelle applicazioni per dare quel tocco piacevole del Web 2.0 alle proprie applicazioni, utilizzare una libreria che nasconda i dettagli del browser disordinato. Diventerai matto se proverai a fare tutti gli script del tuo browser. Alcuni buoni sono Prototype e jQuery.


1

Eloquent JavaScript e AppJet offrono ottimi tutorial che consentono di seguire mentre si impara.

Una volta esaminate tutte le nozioni di base, Ajaxian dovrebbe rispondere a molte delle domande che avete sul design delle applicazioni, ecc. Non solo pubblicano molti articoli eccellenti su questi argomenti, ma dovreste esplorare molti dei siti a cui si collegano, come questi siti di solito forniscono anche una grande quantità di informazioni.

Quando si tratta di interazioni server, conoscere le opzioni. Ajax non è tutto ciò che c'è. Tecnologie di ricerca come Comet e JSON-RPC, oltre a esaminare vari framework sul lato server che forniscono un facile accesso a JavaScript come DWR, Jayrock o qualsiasi strumento che espone le tue funzioni a JavaScript utilizzando qualsiasi lingua tu scelga di utilizzare sul server.