Browsing posts in: Development

L’architettura REST

REpresentational State Transfer (REST) è un tipo di architettura software per i sistemi di ipertesto distribuiti come il World Wide Web. I termini “representational state transfer” e “REST” furono introdotti nel 2000 nella tesi di dottorato di Roy Fielding, uno dei principali autori delle specifiche dell’Hypertext Transfer Protocol (HTTP), termine ampiamente usato nella comunità di Internet. fonte Wikipedia

In parole povere, possiamo dire che REST è uno stile di architettura per la progettazione di applicazioni in rete. L’idea è che, invece di usare i meccanismi complessi dei Web Services come CORBA, RPC o SOAP per il collegamento tra host, viene utilizzato il protocollo HTTP per gestire richieste ed effettuare chiamate tra due punti. In effetti lo stesso World Wide Web, che si basa su HTTP, può essere visto come un’immensa architettura basata su REST. Continue Reading


S.O.L.I.D. ovvero i 5 principi della programmazione ad oggetti

Il termine SOLID  viene utilizzato per indicare i cinque principi di progettazione orientata agli oggetti (OOD) di Robert C. Martin, conosciuto al mondo come zio Bob. I principi SOLID sono intesi come linee guida per lo sviluppo di software estendibile e manutenibile, in particolare nel contesto di pratiche di sviluppo agili e fondate sull’identificazione di code smell e sul refactoring. La parola SOLID è un acronimo che serve a ricordare tali principi (Single responsibility, Open-closed, Liskov substitution, Interface segregation, Dependency inversion), e fu coniata da Michael Feathers.

  • S – Single-responsiblity principle
  • O – Open-closed principle
  • L – Liskov substitution principle
  • I – Interface segregation principle
  • D – Dependency Inversion Principle

Continue Reading


Le potenzialità del framework AngularJs

La prima volta che ho utilizzato AngularJs, è stato per sviluppare un tools di disegno online utilizzando l’oggetto canvas HTML5 e, lo confesso, mi sono divertito tantissimo.

AngularJs è un potente framework Javascript, sostenuto e supportato da Google, che estende le funzionalità di base dell’HTML con nuovi attributi, e semplifica la realizzazione di applicazioni Web single page (SPAs – Single Page Applications). E’ molto semplice da imparare, è completamente scalabile e va d’accordo con altre librerie. Continue Reading


Uso semplice di node.js: chat in real time

Nel precedente articolo abbiamo introdotto node.js dicendo che il framework si presta molto bene per le applicazioni real-time. Adesso vediamo come sfruttarne le potenzialità per creare una semplice chat in real-time utilizzando le varie librerie esistenti per Node messe a nostra dispozione.

I requisiti di sistema

La prima cosa che ci serve è Node.js installato sul proprio pc. Per gli utenti Windows e Mac è possibile scaricare l’installer dal sito ufficiale www.nodejs.org oppure scaricare direttamente l’eseguibile node.exe senza bisogno di installare nulla sul proprio pc. Per gli utenti Linux è possibile utilizzare gli appositi repository e installare con apt-get nel caso di distribuzioni Debian o yum, nel caso di Fedora, CentOs o simili. Continue Reading


Node.js, cos’è e come si usa?

Node.js è una piattaforma costruita sul runtime JavaScript V8 di Chrome per sviluppare velocemente e facilmente applicazioni di rete scalabili. Node.js utilizza un modello event-driven e operazioni I/O non-blocking che lo rende leggero ed efficiente, ideale per applicazioni real-time semplici o enterprise per dispositivi distribuiti.

Dopo aver confuso le idee con questa definizione, tento di dare una spiegazione semplificata di cos’è e cosa si può fare con Node.js. Ma prima di farlo, dedico qualche minuto a voi che state leggendo e al vostro rapporto con Javascript. Continue Reading


Il Canvas in HTML5

HTML5_Logo_512Una delle caratteristiche salienti dell’HTML5 è sicuramente il nuovo elemento Canvas. Del tutto simile a qualsiasi altro tag HTML ma con l’unica eccezione che il suo contenuto viene renderizzato tramite Javascript. Canvas è quindi una “tela” digitale utilizzata per disegnare in maniera digitale. Avendo delle basi di Javascript, è possibile “disegnare” all’interno del canvas. Il funzionamento è abbastanza semplice: si definisce un <canvas> all’interno del body della pagina, vi si accede tramite Javascript, si crea un contesto e si inizia a disegnare. Fin qui, è tutto molto semplice.

Quando si utilizza un canvas, è importante capire la differenza tra l’elemento canvas e il contesto canvas (context), poichè tle differenza potrebbe portare confusione. L’elemento canvas è il tag HTML, il nodo DOM, che viene scritto all’interno di una pagina HTML. Il contesto è un oggetto con delle proprietà e metodi che puoi utilizzare per disegnare forme all’interno dell’elemento canvas. Il contesto può essere 2D o 3D. Ogni canvas contiene un solo context. Se ustiamo il metodo getContext() più volte, ritornerà come riferimento l ostesso oggetto context. Continue Reading


SASS: Syntactically Awesome Style Sheets

Scrivere un foglio CSS di per sé può essere divertente, ma i siti si fanno sempre più grandi e complessi e di conseguenza i fogli di stile sempre più difficili da mantenere. Si ci comincia a chiedersi se c’è un modo per non ripetere un sacco di codice CSS nel foglio di stile. La buona notizia è che la soluzione esiste e si chiama pre-processore. Utilizzare metodi di pre-elaborazione fa risparmiare un sacco di tempo e fatica, perchè:

  • Consente di utilizzare variabili che possono essere riutilizzate nel foglio di stile
  • Linguaggio e sintassi di alto livello che offre numerose funzionalità avanzate
  • I file CSS vengono compilati e caricati sul server Web di produzione

Ci sono due metodi di pre-elaborazione: SASS e LESS. In questo articolo vedremo tuttavia il metodo SASS, Syntactically Awesome Style Sheets. Continue Reading


Ottimizzare lo scrolling web è possibile?

Lo scrolling di una pagina web non sembra essere qualcosa legato alle performance. In effetti, quando i contenuti di una pagina web sono stati caricati, perchè dovremmo mai preoccuparci di quello che accade quando avviene lo scroll della pagina? La ragione è semplice: quando si “scrolla” la pagina, il browser deve ridisegnare per intero la pagina nel monitor. Questo significa un dispendio di risorse in termini di calcolo che potremmo minimizzare riducendo il lavoro del browser nel ridisegnare la pagina e di conseguenza massimizzare la performance della pagina. Continue Reading


@font-face: font personalizzati nel proprio sito web

@font-face è un’interessate caratteristica delle specifiche CSS3 che permette di caricare e di usare all’interno delle pagine web qualsiasi font non standard in maniera dinamica e scalabile. La proprietà @font-face è una delle regole appartenenti alle @-rules (@charset, @import, @media, @page, @font-face, @namespace) del CSS.

Alcuni benefici nell’uso di @font-face sono:

  • piena compatibilità con gli strumenti di ricerca
  • accessibilità e compatibilità con gli strumenti di screen readers
  • il testo viene riconosciuto dai traduttori automatici (es. google traslate)
  • pieno supporto per le proprietà CSS relative al testo: line-height, letter-spacing, text-shadow, text-align, e i selettori quali ::first-letter e ::first-line

Continue Reading


Cropping, clipping e Masking in CSS

In computer graphics, due operazione largamente utilizzate sono il crop e il mask. Entrambe le operazioni nascondono delle porzioni di immagini e se avete lavorato con SVG o con il Canvas HTML allora la terminologia non dovrebbe essere una novità. Il clipping definisce l’area visibile di un elemento: tutto ciò che sta intorno a quest’area non viene renderizzato e quindi “ritagliato”. La maschera invece, che viene applicata all’immagine, definisce attraverso il canale alfa la porzione di immagine da rendere “trasparente” e quindi non visibile. La trasparenza ovviamente può variare a seconda della quantità di colore della maschera.

Una novità nel CSS è proprio quella di applicare queste due operazioni al mondo HTML. Continue Reading


Pagine:1234

Utilizzando il sito, accetti l'utilizzo dei cookie da parte nostra. maggiori informazioni

Questo sito utilizza i cookie per fornire la migliore esperienza di navigazione possibile. Continuando a utilizzare questo sito senza modificare le impostazioni dei cookie o cliccando su "Accetta" permetti il loro utilizzo.

Chiudi