In che modo si tiene a freno le complessità dello sviluppo web? [chiuso]

17

Sono stato un programmatore sul lato server per gran parte della mia carriera e solo di recente ho iniziato a dedicare più tempo allo sviluppo web. Sono stupito dal numero di cose che ho bisogno di padroneggiare per scrivere un'applicazione web decente. Solo per elencare alcuni strumenti / tecnologie che ho bisogno di imparare,

  • Linguaggio di programmazione lato server (Java / JSP, ASP, PHP, Ruby o altro)

  • Un framework web decente (per qualsiasi applicazione di dimensioni medio-grandi).

  • HTML e amp; CSS

  • JavaScript

  • libreria Javascript (JQuery / ExtJS ecc. principalmente per AJAX). Buono a sapersi anche se non lo fosse necessario.

  • Almeno una conoscenza di base del web design - layout, colori, caratteri ecc.

  • Una buona conoscenza della sicurezza Web.

  • Una buona conoscenza dei problemi di prestazioni / scalabilità.

  • Test, problemi di compatibilità del browser ecc.

L'elenco continua.

Quindi, la mia domanda agli sviluppatori web esperti è: come riuscite a imparare e tenervi aggiornati su così tante cose? Durante lo sviluppo di un'applicazione web, come gestisci le complessità coinvolte in queste aree e tuttavia riesci a scrivere un'applicazione ben progettata, facile da usare, sicura, performante e scalabile.

Come sviluppatore web, uno deve essere un tuttofare o dovrebbe specializzarsi in una o due aree e lasciare il resto agli altri membri della squadra?

    
posta Rahul 06.01.2011 - 05:57
fonte

6 risposte

9

Server side programming language (Java/JSP, ASP, PHP, Ruby or something else)

Usa un framework. Django, per esempio.

A decent web framework (for any medium to big size application).

Non "da medio a grande". Utilizza un framework per tutto .

HTML & CSS

È quello che è. Impara.

Javascript

Usa librerie e framework il più possibile. Scrivi meno, riutilizza di più.

Javascript library (JQuery/ExtJS etc. primarily for AJAX). Good to know even if not necessary.

Una corretta. Usa una biblioteca.

Or.

Usa FLEX.

At least a basic knowledge of web design - layouts, colors, fonts etc.

Copia siti esistenti.

A good understanding of web security.

Leggi attentamente www.owasp.org. E. Usa un framework che faccia questo.

A good understanding of Performance/scalability issues.

Usa Apache. Usa un framework che gestisca questo. Leggi le Architetture Internet Scalabili di Schlossnagle.

Testing, browser compatibility issues etc.

quadri. Biblioteche.

C'è un trucco per questo. Usa quante più librerie e strutture puoi. Il web è in circolazione da anni.

Stai sulle spalle dei giganti. Per favore. Non è necessario reinventare tutto questo.

    
risposta data 06.01.2011 - 06:30
fonte
5

How do you guys manage to learn and keep yourself updated on so many things?

Suggerimento 1 . Tieni gli occhi aperti su tutte le cose che stanno accadendo là fuori. Ascoltate quello che la gente sta parlando, controllare le cose, leggere articoli e blog, segnalibro ciò che è importante, imparare, sperimentare, rimanere naturalmente curioso di tutto.

Suggerimento 2 . Assolutamente divertiti nel processo.

Suggerimento 3 . Come qualcuno ha sottolineato il così una volta, le cose che hai elencato riguardano il conoscenza collettiva di molti sviluppatori. Non aspettarti di saperlo tutto alla perfezione, è troppo per una sola mente da gestire. Prendi quello di cui hai bisogno e scopri dove trovare il resto.

As a web developer, does one have to be a jack of all trades or should one specialize

È meglio essere esperti in diverse aree. La particolarità dello sviluppo web è che unisce improvvisamente tutti gli aspetti dello sviluppo del prodotto in un unico posto in mani singole. Bisogna inevitabilmente essere consapevoli di molte cose per fare in modo che le cose vadano. Ma seriamente, è così tanta gioia avere le dita ovunque!

    
risposta data 06.01.2011 - 06:05
fonte
2

Non hai sempre una squadra, almeno nel mio caso. Quindi essere un "tuttofare" è utile.

Ma non devi / non saprai tutto, quindi basta essere bravo a cercare su Google.

Svilupperai le abilità quando ne hai bisogno.

    
risposta data 06.01.2011 - 15:56
fonte
1

Ci sono basi che devi sapere: HTML, CSS, markup semantico, cosa fa HTTP e come sfruttarlo al meglio.

Quindi guardi cosa ti serve per il progetto questo , qualunque sia il progetto corrente. Probabilmente questo implicherà l'avvio con una piattaforma esistente o CMS e la personalizzazione, a volte lavoro interamente su misura, ma più spesso no. A volte ci saranno dei requisiti relativi a dove e come è ospitato che ti guideranno verso la piattaforma giusta, altre volte la funzionalità che desideri guiderà l'hosting che potrai utilizzare. Impari ciò di cui hai bisogno quando ne hai bisogno. È un po 'lento come un modo di lavorare, ma finisce per essere il modo in cui la maggior parte di noi è brava in quello che facciamo, progetto per progetto, apprendendo ciò che dovevamo sapere.

Ovviamente, più lavori in compagnia di sviluppatori web più esperti, più velocemente puoi imparare da loro, ma nel complesso la maggior parte di noi ha raccolto queste abilità a tratti nel tempo.

    
risposta data 06.01.2011 - 15:34
fonte
1

Cerco di conoscere abbastanza tutte le tecnologie attuali in modo che possa sapere quando devono essere applicate. Ad esempio, sono principalmente uno sviluppatore ASP.NET, ma conosco abbastanza bene Ruby on Rails per capire se è più adatto per un particolare problema.

Le tecnologie che sto effettivamente usando provano a sapere dentro e fuori. Se c'è una particolare funzionalità in ASP.NET, voglio conoscerla nei dettagli e sapere quando dovrei e quando non dovrei applicarla. Lo stesso vale per JQuery, CSS e tutto il resto che uso.

Per restare aggiornato ascolto i podcast, mi iscrivo ai feed RSS, sfoglio StackOverflow e partecipa agli eventi degli sviluppatori.

    
risposta data 06.01.2011 - 18:21
fonte
1

Inizia in modo semplice con .NET o JEE / JSF. Non c'è bisogno di fare il tuo primo progetto nel modo più duro. Salva quella complessità per quando ne hai davvero bisogno.

    
risposta data 06.01.2011 - 20:32
fonte

Leggi altre domande sui tag