Quantcast
Channel: Javascript – twago.it blog
Viewing all articles
Browse latest Browse all 3

Perché richiedere una consulenza a un Web Developer esperto in HTML, CSS & JS

$
0
0

consulenza web developer HTML, CSS, JS

 Una figura essenziale che si prenderà cura del tuo sito e delle tue applicazioni

Uno sviluppatore web può essere considerato una risorsa fondamentale per innumerevoli attività e settori: dalle start-up alle grandi organizzazioni, dai social agli e-commerce, e per ogni tipologia di progetto che coinvolga la progettazione, la codifica, la manutenzione e l’ottimizzazione di siti web o applicazioni in generale.

In questa breve panoramica, cercherò di evidenziare le competenze e le capacità più importanti di uno sviluppatore web, la sua magica “cassetta degli attrezzi” e l’approccio che solitamente adotta sul lavoro, ma anche i suoi limiti e i compiti che sarebbe meglio non affidare a questo professionista.

Capacità e competenze del Web Developer

Dal più piccolo sito web alle applicazioni web più complesse, la risorsa chiave per la loro realizzazione è uno sviluppatore Web. Lui (o a volte “lei”) ha una accurata conoscenza delle componenti tecniche e funzionali di un sito web dinamico in materia di front-end e back-end.

Il front-end è considerato l’aspetto più importante per i siti web e per le applicazioni focalizzate sui consumatori. Rappresenta essenzialmente l’aspetto grafico del sito, le interazioni che l’utente può sperimentare direttamente (come navigare sul sito, guardare i cataloghi dei prodotti, compilare i formulari, scaricare una brochure). Solitamente il numero di funzionalità realizzabili in “puro” front-end è piuttosto limitato.

Il back-end è di solito la parte invisibile (ma spesso più complessa) del sito web. Consiste nel codice strutturato (logica applicativa), servizi, database e altre componenti che forniscono funzionalità agli utenti e normalmente sono di supporto al front-end.

L’incidenza del back-end è molto limitata nelle landing page o nei siti web semplici, ma diventa importante per i portali web o applicazioni che gestiscono dati e transazioni complesse. Per fare un esempio di back-end, è tutto ciò che accade dopo aver acquistato qualcosa su un qualsiasi sito web di e-commerce, come il carrello, le notifiche via e-mail, la procedura di pagamento, etc. Se manca il back-end, non accadrà nulla quando cliccherai sul pulsante “Acquista”…

C’è una terzo insieme di competenze che un buon sviluppatore web dovrebbe avere: si tratta delle funzionalità di base per l’amministrazione del server (tipicamente Linux o servizi Cloud) e della gestione dei domini (come l’iter di registrazione, la configurazione DNS, la configurazione e-mail, etc.).

Personalmente ritengo che un Web Developer dovrebbe essere molto preparato sul front-end. Il back-end non è molto rilevante per i siti web più comuni e, quando la complessità aumenta, questa componente è normalmente separata, progettata e sviluppata da altri specialisti. Questo compito tipicamente è svolto da ingegneri del software altamente specializzati in questo tipo di implementazioni che coinvolgono diverse tecnologie, integrazioni esterni, servizi, datasource e database. Fornirò in seguito un approfondimento sul front-end.

Sei un Web Developer? Registrati su twago per trovare lavoro online! 

Registrati ora come fornitore

La cassetta degli attrezzi del Web Developer

Non è facile costruire un front-end bello, interattivo e fresco, ma ci sono tre elementi fondamentali: CSS, JS e HTML. Ogni sviluppatore web dovrebbe conoscere e avere grande confidenza con queste tecnologie, dal momento che non è sufficiente comprendere i linguaggi di base. La capacità di farli interagire perfettamente è come un’arte, un’esperienza, una pratica.

Per un Web Developer i linguaggi HTML, CSS e JS sono come tanti “Lego” a disposizione: non potrebbe costruire nulla senza questi strumenti! Ma vediamo cosa significano questi acronimi e perché sembrano essere così potenti.

HTML è un vecchio linguaggio markup, aggiornato di recente con HTML5 (ottobre 2014) dal W3C (World Wide Web Consortium, un organismo internazionale per lo sviluppo web e la standardizzazione). Il linguaggio markup consente di organizzare e rendere il contenuto (ossia testo e immagini) visibile nelle pagine Web. Negli ultimi anni, il linguaggio HTML si è evoluto molto (dal molto vecchio 4.01…) e sembra molto adatto a contenuti dinamici, interazioni, video e molto altro ancora, conservando i principi fondamentali della “vecchia” generazione.

Realizzare adeguatamente una pagina Web non è (più) possibile con HTML “puro”, dal momento che alcuni aspetti devono essere separati dal documento principale: stile e interazioni.

Lo stile, per i siti web ben progettati, dovrebbe essere definito separatamente dal documento HTML principale. Questo è possibile con il CSS o “foglio di stile” (l’ultimo aggiornamento è noto come CSS3, ma è ancora in fase di sviluppo), che fornisce una vasta gamma di incredibili opzioni grafiche e visive: animazioni, definizioni di stile di testo riutilizzabili, trasformazioni di immagini e molto di più.

La terza parola chiave, JS, corrisponde al linguaggio Javascript e consente una serie di funzioni di programmazione per le pagine web. Il codice Javascript è scritto accanto a quello HTML e può accedere al contenuto della pagina, attivare una serie di azioni per consentire alla pagina di essere più interattiva (come la funzione del completamento automatico in stile Google) o più efficiente (contenuti nascosti e caricati se e quando necessario) o integrare alcuni servizi esterni (come i social network attraverso le APIs pubbliche di Javascript) o semplicemente elaborare i dati necessari.

Questo è fondamentalmente il significato delle tre tecnologie di base per lo sviluppo di siti web. Per Javascript esistono tantissime librerie Open source che potrebbero essere inserite nel sito ed è molto facile integrare un’ampia gamma di funzionalità (JQuery e JQuery UI, per citare le più famose). Se il sito è ben progettato, non ha una logica complessa e non sono coinvolti big data, la maggior parte della logica potrebbe essere sviluppata in Javascript e la logica di back-end ridotta al minimo. In questo caso, otterrai molta più scalabilità (Javascript funziona per utenti connessi da PC o smartphone) e il server non sarà sovraccarico anche se il tuo sito web conterà milioni di visitatori al giorno.

[Tweet “Per un Web Developer i linguaggi HTML, CSS e JS sono come tanti “Lego” a disposizione.”]

Differenze con il CMS

A questo punto, avrebbe senso dire: posso semplicemente installare un CMS e gestire il sito web da solo…
Anche se un po’ è vero, esistono molte ragioni per cui la gestione autonoma di un CMS può non essere appropriata. Innanzitutto, dovresti imparare a configurare, utilizzare e gestire la soluzione scelta. Sembra molto semplice, ma senza un solido background sui CMS il sito sarà solo copiato da un altro modello (detto template), mancheranno funzionalità di personalizzazione e grafici e quindi il risultato non sarà molto professionale e non avrà un forte impatto sugli utenti.

Il CMS potrebbe essere una buona opzione o un punto di partenza per lo sviluppo di un sito web, anche se, basandomi sulla mia esperienza, gli sviluppatori web sono piuttosto riluttanti a usarli. Bisogna prendere in considerazione diversi aspetti, che potrebbero essere classificati in base alla dimensione del progetto:

1) Per i siti web semplici o le landing page, il CMS non è utile poiché è troppo potente e complesso. La configurazione e le personalizzazioni grafiche potrebbero richiedere più tempo di quanto necessario per lo sviluppo delle pagine “da zero”, o partendo da un buon modello HTML5.

2) I siti web di media complessità sono il target giusto per il CMS. Se le caratteristiche richieste possono contare su plugin aggiuntivi semplici da configurare e l’architettura/grafica del sito web non è troppo complessa, costruire il sito web con un CMS potrebbe essere davvero una soluzione efficace. Il grande vantaggio finale è che l’amministrazione del sito (nuovi articoli, nuove sezioni, compiti del webmaster, etc.) e gli aggiornamenti saranno molto semplici da realizzare anche dagli utenti non esperti attraverso le funzionalità classiche del CMS.

3) Per i grandi portali o le soluzioni ad-hoc, soprattutto se è necessaria la scalabilità, uno sviluppatore web è in grado di garantire uno sviluppo personalizzato, non basato su un CMS… Ma piuttosto su alcuni framework di sviluppo che potrebbero accelerare l’implementazione, non così restrittiva come potrebbe essere un CMS.

Tornando a una considerazione generale, alcuni CMS sono davvero ottimi per le lievi personalizzazioni e offrono un’ampia gamma di modelli grafici (con la possibilità di modifiche). Le abilità degli sviluppatori web sono assolutamente appropriate per la gestione di un CMS, per la sua installazione e per le personalizzazioni, dal momento che i front-end si basano sulla ben nota trilogia HTML /CSS /JS e il back-end, utile per una personalizzazione rilevante come i plugin funzionali, è solitamente basato su PHP.

Per quanto riguarda le prestazioni, di solito i CMS sono notevolmente più lenti di qualsiasi sito web creato su misura e la loro vulnerabilità sarà superiore (molto spesso gli hacker hanno come bersaglio i popolari CMS) assumendo che il tuo sito web ad hoc sia stato sviluppato considerando le politiche di sicurezza di base.

Dunque, è importante sapere se il tuo sviluppatore web sta per utilizzare un CMS o meno per il tuo sito, visto che la scelta è molto variabile e ogni progetto potrebbe avere una risposta diversa…

Cosa può fare in modo efficiente (e cosa no…)

Lo sviluppatore web specializzato sullo sviluppo nativo (HTML/JS /CSS e probabilmente alcuni linguaggi back-end) ha sicuramente le competenze essenziali per costruire straordinari siti web, basati su CMS o meno, considerando molteplici obiettivi trasversali:

  • Funzionalità: il sito sarà costruito in base alle tue richieste, tratto per tratto, con la piena possibilità di personalizzazione.
  • Grafica: il design del sito seguirà gli standard CSS e le specifiche o mock-up (se disponibile). Ricordati che il web developer non è un graphic designer o un artista, quindi è meglio avere le idee chiare e eventualmente fornirgli i file grafici.
  • Prestazioni: lavorando direttamente sugli algoritmi di base, soprattutto se non si utilizza un CMS, lo sviluppatore web può accelerare e ottimizzare il tutto (le interazioni front-end e back-end) e rendere il tuo sito molto performante.
  • Sicurezza: un buon sviluppatore web di solito implementa una valutazione sulla sicurezza del sito web (client-side, server-side, database, etc.). Se non si tratta di un’applicazione bancaria, può sentirti al sicuro…
  • Scalabilità: anche se non è un architetto di software, il web developer dovrebbe avere in mente le leve per garantire il sito web “operativo” anche quando migliaia di utenti lo visitano nello stesso momento.
  • Manutenzione: se hai bisogno di un sito mantenuto, esente da bug e aggiornato nel corso del tempo, puoi richiedere un piano di mantenimento allo sviluppatore che si prenderà cura del sito e delle sue infrastrutture.
  • Marketing: ci sono alcuni sviluppatori abbastanza esperti di web marketing e SEO (Search Engine Optimization). Tuttavia assicurati di poter configurare le analisi del sito (Analytics), al fine di monitorare autonomamente le statistiche relative alle visite e ai visitatori.

La figura dello sviluppatore web è una risorsa strategica e molto flessibile che può soddisfare le tue necessità anche con un budget limitato. Se sei in grado di fornirgli specifiche dettagliate e non esageri con le richieste extra “in fase di esecuzione”, otterrai un risultato sorprendente e i tuoi clienti saranno ancora più soddisfatti.

Hai bisogno di una consulenza per ottimizzare il tuo sito web? Su twago puoi ingaggiare i migliori web developer in pochi clic!

twago Product: Consulenza HTML, CSS, JS

Carlo Bergoglio è un ingegnere laureato al politecnico di Torino in ICT and Management. Le sue principali competenze riguardano lo sviluppo di software aziendali, l’architettura IT, il Cloud Computing e la gestione dei (big) data. Attualmente lavora presso GET Italia, un’azienda italiana che propone soluzioni software in Cloud Computing e si rivolge al mondo dei trasporti.

Facebook LinkedIn 


Viewing all articles
Browse latest Browse all 3

Latest Images

Trending Articles





Latest Images