Quanto HTML e CSS dovrebbero sapere gli sviluppatori lato server? [chiuso]


16

Ho fatto Ce C++e ora voglio iniziare la mia carriera come sviluppatore web . Ho letto molto sullo sviluppo web e ho scoperto che sul web c'erano due tipi di sviluppatori,

 1. Client Side Developers.
 2. Server Side Developers.

Voglio concentrarmi sullo sviluppo lato server . Ho pensato che sarebbe meglio iniziare con le basi quindi ho iniziato a farlo HTMLe CSS. Ho scoperto che CSSera troppo grande per qualcuno da padroneggiare facilmente. Voglio sapere quali elementi di base dovrebbe conoscere uno sviluppatore lato server e dovrebbe essere un maestro dell'HTML CSSo semplicemente eliminarlo?


1
Uno sviluppatore di servizi Web sarebbe un terzo tipo di sviluppatore o quella persona verrebbe conteggiata come sviluppatore lato server?
JB King,

1
@ jb-king IMO che sarebbe lato server
BlackICE il

1
@Jb king, @ David: Che ne dici di chiamarlo uno sviluppatore lato server che sa come funziona il web.

1
Qualcuno che sviluppa servizi Web potrebbe non aver mai bisogno di usare CSS o HTML se il servizio restituisce solo XML o SOAP. Quindi questo è ben lungi dall'essere la stessa persona che sviluppa un sito Web ASP.Net o un'applicazione Web che ha molte funzionalità dell'interfaccia utente che utilizzano HTML e CSS per dare un contrasto qui.
JB King,

Parlando come un dev client ora full-stack-ish lato client, tutti dovrebbero conoscere HTML. Quando mi imbatto in sviluppatori lato server con anni di esperienza che hanno interrotto la funzionalità perché non sapevano che gli ID dovrebbero essere univoci su una pagina, voglio schiaffeggiarli. FFS, si chiama "ID". Come ti fidi di un ragazzo che si avvicini all'SQL dopo? E ci vogliono solo poche ore all'anno per avere un'idea dell'ultimo HTML. Inoltre, IMO, chiunque dovrebbe toccare una pagina di modello dovrebbe anche essere in grado di spiegare tutti i consigli di YSLOW perché sa come i browser analizzano e rendono le pagine.
Erik Reppen,

Risposte:


15

Ti ascolterà conoscerli bene. Se sei uno sviluppatore web, allora sei uno sviluppatore web. Dovresti essere in grado di scrivere in modo indipendente applicazioni Web e ciò include la tecnologia lato client.


3
+1 Sono un pessimo designer, ma su alcune applicazioni non ho una collaborazione con un vero designer.
Michael,

2
Tu, amico mio, non sei solo. Non ho molta attenzione per una grande interfaccia utente, ma la analizzo in modo da non AVERE BISOGNO di un altro sviluppatore per creare un'applicazione Web pienamente funzionante.

8

Mi considero uno sviluppatore "lato server".

Nonostante sia sul "lato posteriore" dello sviluppo web, penso che sia estremamente utile conoscere i fondamenti HTML e CSS. Lavoro su "sistemi di gestione dei contenuti Web" (WCMS) tipici, come Drupal, Day CQ e Liferay, e la maggior parte dei requisiti e delle richieste aziendali ruota attorno al cambiamento di aspetto.

Non è necessario diventare un "master" in HTML o CSS, ma almeno dovresti sapere come creare una pagina web statica, in stile CSS. Dovresti conoscere le basi delle forme e i vari meccanismi di input. Per CSS, capire la differenza tra l'attributo ID e CLASS e come funzionano i selettori. Molto di questo lo raccoglierai nel tempo.

Infine, acquisisci alcune conoscenze sulle differenze comuni del browser. Ancora una volta, questa è la conoscenza che acquisirai nel tempo, ma riconosci che esistono differenze nel browser e sii pronto a riconoscerlo.


1
+1 su "non c'è bisogno di diventare un 'maestro' in HTML o CSS". Sono un designer diventato programmatore e c'è una riduzione incredibilmente netta dei rendimenti nella conoscenza dei CSS dopo aver appreso i CSS di base per i layout che utilizzano i float. I nerd di Front End hanno gli argomenti più folli sul supporto CSS3 / IE / etc, e molti di questi si riducono al dogma o alla religione. "Tabelle BAD !," "Screw IE!" "I microformati cureranno il CANCRO!" Molti di questi argomenti non hanno alcun impatto nel mondo reale, quindi se impari alcuni CSS, assicurati di evitare i circoli dogmatici e ti concentri solo sull'apprendimento di come posizionare le cose sullo schermo.
Graham,

Sì, sono stato a dibattiti del tipo "Dovrebbero essere usate le tabelle?" quindi "Perché Google e Twitter utilizzano le tabelle?" Vedendo queste domande, penso solo che sia diventato difficile scegliere tra i tag disponibili /

Sul lato client, le tabelle come layout o continuare a utilizzare i galleggianti esclusivamente per il posizionamento orizzontale nel 2011 o 2014 non rappresentano un rifiuto del dogma. Sono segni di qualcuno che ha deciso di dare una data di scadenza alla propria carriera. Un designer o uno sviluppatore front-end di annunci / marketing / agenzie interattive potrebbe essere in grado di cavarsela. Se lo vedessi nel recente lavoro di qualcuno, consiglierei contro un noleggio in qualsiasi posto in cui ho lavorato dove il prodotto finale non era in definitiva usa e getta.
Erik Reppen,

1

Vorrei effettivamente identificare tre segmenti:

  • Sviluppatori lato server
  • Sviluppatori lato client (programmatori JavaScript)
  • Designers

Avrai bisogno di una conoscenza approfondita di HTML e CSS. La divisione del lavoro tra gli sviluppatori lato server e lato client / progettazione richiede in genere che lo sviluppatore lato server fornisca il codice HTML prodotto dal database e dalle interazioni di programmazione. Che HTML abbia anche identificatori CSS, in modo che possa essere manipolato dagli sviluppatori o dai designer lato client.

Il tuo lavoro come sviluppatore lato server è di solito di fornire il markup HTML / CSS agli altri due. Punta a una piena padronanza di HTML e CSS.


1
"Lo sviluppatore lato server fornisce l'HTML" L'HTML generato dovrebbe essere un'unione di 3 ruoli. Tutti devono essere coinvolti con l'HTML. Anche uno sviluppatore lato server non ha alcun coinvolgimento con i CSS.
Raynos,

Gli sviluppatori lato server @Raynos non definiscono le regole CSS, questo è vero. Devono, tuttavia, capire come assegnare le classi di markup per i raggruppamenti semantici.
Michael,

1
@Micheal che è diverso, HTML e CSS sono effettivamente correlati. Idealmente gli sviluppatori lato server espongono semplicemente un'API REST XML / JSON e gli sviluppatori / designer front-end scrivono HTML / CSS. Gli sviluppatori lato server non dovrebbero ancora scrivere CSS da utilizzare per gli sviluppatori Web.
Raynos,

1

Devi conoscere HTML + CSS, in quanto sono essenziali e non difficili da imparare. Dovrai affrontare insidie ​​mentre provi a impostare il CSS per tutti i browser, ma devi saperlo, perché a volte devi generare HTML utilizzando il lato server.

Puoi iniziare a imparare quelli creando il tuo blog. Se non c'è nulla di cui blog, puoi blog sulle tue lezioni.


1

Uh, non capisco perché la gente non capisce. Non esiste un codice front-end con i siti Web. È tutto codice back-end. Il codice front-end è il browser, quindi a meno che non lavori su Mozilla o IE o Chromium / google o safari, stai scrivendo un codice lato server. Ecco come funziona: il browser richiede un file dal server web. Il server web genera un file. Il browser interpreta quel file e può richiedere file aggiuntivi (immagini, javascript, css, ecc.) E interpretare tali file, fino a quando tutti i file non sono stati interpretati.

Ora, questo primo file richiesto dal browser è un file html. Il file html viene analizzato e il browser decide come renderizzarne il contenuto. Quindi uno dei concetti importanti da conservare qui è che il file html viene utilizzato da un parser.

Il web server è un software che è in ascolto su una porta ed elabora le richieste di file. Se il file è un file statico (intendiamo qui statico nel senso che il file è già stato creato), viene copiato così com'è nel client richiedente. Se il file è dinamico, nel senso che viene creato ogni volta che viene richiesto il file, il server Web richiede che il file sia generato dal software che genera il file (un processo in esecuzione, una libreria caricata o spawn un processo) e quel software genera il file e lo invia al server web, che a sua volta lo invia al client.

Una volta che il file è stato "servito" al client e analizzato, il client può richiedere altri tipi di file, come i file json, in cui può bypassare l'analisi dal renderer HTML e invece restituire il file all'interprete javascript in esecuzione in il client, e questi vengono analizzati (eval è una forma di analisi) da javascript. Questi sono gli elementi su cui si basa AJAX.

Ora, come ti influenza? Se qualsiasi file sul server viene generato dinamicamente, allora c'è un software in esecuzione sul server che gli dice come generare il file. Le persone che programmano questo software sono considerate programmatori "lato server".

Questi file html, generati sul server, diranno al browser quali altri file includere, quindi il javascript e le immagini e i css devono essere importati, organizzati e altrimenti organizzati dal file html generato.

Molti framework web e, oserei dire, metodologie (MVC et al) sono stati sviluppati per creare un confine tra il puro lavoro "lato server" e quello "lato client".

Ho dimenticato di menzionare, oh caro, le persone dei dati. Le persone che archiviano i dati sono ancora più lato server dei produttori di software che generano file html lato server. L'archiviazione dei dati, sia che si tratti di database relazionale, NoSQL o altro, è un'altra cosa del tutto. Ne parlo perché i framework e le metodologie propagandate dai grandi venditori (MVC et al. Di nuovo) sembrano rendere semplice "semplicemente audace".

Woah, che lunga risposta.

Faccio questa risposta apparentemente sconclusionata per contestare la tua affermazione che esistono sviluppatori lato server e sviluppatori lato client. Se invii il tuo sistema informativo attraverso un sito web, tutto deve essere archiviato, organizzato e gestito sul server. Ed è un gran casino, e se non impari davvero come funziona tutto, ti divertirai moltissimo a farlo funzionare bene. Quindi è tutto lato server.


1
NON SEI SICURO SE SERI? Questo è sciocco. "Lato client" si riferisce al software che ESEGUE sul computer client, non sulla piattaforma di consegna. HTML, CSS e JavaScript sono archiviati sul server (duh) ma ESEGUITI sul client. Quindi il loro sviluppo è considerato "lato client".
Graham,

Il software che viene eseguito sul computer client viene interpretato dal motore di rendering nel browser, che è ciò che viene eseguito sul client. Il motore di rendering esegue prima il rendering dell'html, quindi, dopo averlo eseguito il rendering, esegue il rendering di una qualsiasi delle risorse associate, nel contesto del file html.
Christopher Mahan,

@Graham, Sì, è complesso, quindi il fascino di Silverlight e AdobeAir.
Christopher Mahan,

0

+1 per la domanda. Ho anche sempre pensato che codificare un lato server sia più interessante e importante che fare html + css + js + ajax + .. e tonnellate di cose. Ad ogni modo, se sei solo e vuoi creare la tua applicazione web, devi essere sia programmatore lato server che designer + (programmatore lato client). Ecco perché ora sto imparando html5 e css3.


Grazie Sergey. Sto facendo HTML 4 e CSS e proverei a passare a HTML5 e poi a PHP presto :)

Quale parte è più interessante dipende dall'applicazione. Molte applicazioni Web rappresentano circa il 90% dell'esperienza utente e il 10% della progettazione dei dati.
Kevin Cline,

Se esegui correttamente la progettazione dei dati, anche l'esperienza utente sarà semplice!
Christopher Mahan,

"Se esegui correttamente la progettazione dei dati, anche l'esperienza dell'utente sarà semplice!" - Mi dispiace, ma è sbagliato in MODALITÀ. L'iPod aveva lo stesso design dei dati di base di oltre 100 altri giocatori MPG sul mercato, ma la sua esperienza utente rivoluzionaria ha portato Apple ad essere l'azienda che tutti conosciamo oggi.
Graham,

0

In realtà dipende. Nella maggior parte dei casi, devi conoscere HTML e CSS. In rari casi, puoi ignorare entrambi.

Caso 1

Nella mia azienda, ci sono progetti con una rigorosa separazione tra HTML e CSS e tutto ciò che riguarda il lato server . Ciò consente di portare il miglior sviluppatore C # o PHP da un lato e il miglior sviluppatore HTML, CSS e JavaScript dall'altro lato. Concretamente, lo sviluppatore lato server produce per ogni pagina oggetti lato server contenenti tutto il necessario per visualizzare la pagina; tali oggetti vengono quindi serializzati in XML. Lo sviluppatore lato client raccoglie quegli oggetti e li trasforma in XHTML con XSLT.

Detto questo, non ho mai visto questo approccio in altre società. Inoltre, ha molte limitazioni e anche se è perfetto in alcuni casi, non funziona affatto in molti altri.

Caso 2

Quando, su piccoli siti Web, sviluppatori e designer lavorano insieme, non c'è consenso su chi scrive HTML e CSS. Devi decidere per ogni progetto, in base alle competenze di entrambe le persone coinvolte. Anche se in molti casi è lo sviluppatore che si occupa di HTML e CSS, puoi anche trovare alcuni designer che conoscono molto bene HTML e CSS . In questo caso, se il tuo intento è lavorare su piccoli progetti e solo con tale designer, non devi imparare HTML / CSS.

Caso 3

Sui progetti più grandi, non è insolito assumere una persona dedicata per scrivere codice HTML e CSS basato sul lavoro di designer e sviluppatori lato server. Di solito è una buona idea farlo, dal momento che non si desidera pagare $ 100 all'ora affinché uno sviluppatore C # esperto scriva effettivamente HTML; è solo una perdita di tempo e denaro.


Detto questo, quei casi non sono i più frequenti. Quindi concentrati sullo sviluppo lato server, ma prova anche a imparare HTML e CSS. La conoscenza aggiuntiva non fa mai male.


0

A volte, specialmente all'inizio, lavorerai da solo su un progetto e dovrai fare front-end e back-end. In questo caso, avrai bisogno almeno di una conoscenza rudimentale di HTML e CSS. Non devi essere un grande designer, devi solo ottenere le informazioni dal tuo backend visibili nel tuo browser in modo da poter testare le cose.


0

In realtà, tutto dipende. Se stai entrando nel caos per quanto riguarda la programmazione del software server, assicurati di conoscere i modi standard in cui i devloper Web di livello veramente elevato (HTML / CSS) dovrebbero essere in grado di interfacciarsi con la tua applicazione. Tuttavia, se hai intenzione di fare molto lavoro strettamente collegato con HTML / CSS, allora dovresti conoscere HTML e CSS ragionevolmente bene. Ad ogni modo, è sempre bene conoscere alcune tecnologie extra. Sono un programmatore nativo e anche io conosco abbastanza HTML / CSS per creare un sito Web dall'aspetto decente. Detto questo, l'ho solo imparato in modo da poter imparare AJAX a scrivere alcuni componenti aggiuntivi di Chrome / Firefox.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.