Seminar personally led on the front end CSS framework of Twitter, during a lesson of the course “Web Technologies” of Professor Ruffo in the Department of Computer Science of Turin. Year: 2014
Come portare il profiler di symfony2 in drupal8Luca Lusso
Molti progetti PHP open source hanno adottato Symfony2 come base per la loro prossima versione, tra questi c'è anche il CMS Drupal (http://drupal.org). In questo talk vedremo come scrivere un modulo per Drupal8 in modo da sfruttare il più possibile il suo nuovo motore Symfony2, dall'integrazione con il service container alla gestione degli eventi, dal routing a Twig. Verrà usato come esempio il modulo webprofiler (http://drupal.org/project/webprofiler) per dimostrare come un bundle per Symfony2 possa essere trasformato in un modulo per Drupal8 e integrato facilmente nel sistema.
Asp.Net MVC 3 - Il Model View Controller secondo MicrosoftStefano Benedetti
Il pattern architetturale MVC (Model View Controller) favorisce la manutenzione delle applicazioni web tramite una architettura elegante ed una chiara ed esplicita separazione delle competenze, l'impiego dei più diffusi pattern di software engineering, il controllo completo dell'HTML generato e degli URL, la testabilità ed estendibilità.
In questa sessione vedremo le novità principali di Asp.Net MVC in versione 3.
La sessione è stata tenuta a SMAU Business Bologna il 9 giugno 2011
Asp.NET MVC è un nuovo framework per lo sviluppo di applicazioni web alternativo al modello webform. Questo consente di utilizzare il pattern MVC per lo sviluppo di applicazioni Asp.NET, permettendo quindi una miglior separazione delle responsabilità che a sua volta porta ad una maggior manutenibilità, riusabilità e facilità nel testing.
La sessione illustrerà i motivi che hanno portato alla nascita di Asp.NET MVC e le sue caratteristiche fondamentali.
Agenda:
- Storia dei framework MS per lo sviluppo web
- Introduzione a Asp.NET MVC
- Vantaggi di Asp.NET MVC
- Il pattern MVC
- Hello MVC: DEMO
- Componenti di MVC: Routing, Controller, Model, View
La community è uno dei punti di forza di Magento e l’elenco dei moduli disponibili permette di adattarlo a molte delle esigenze o specificità di qualunque E-Commerce.
In questo intervento si propone una carrellata di 20 moduli interessanti, alcuni dei quali probabilmente già conosciuti, altri probabilmente un po’ meno, cercando di coprire 20 diversi ambiti, dalle scontistiche alle spedizioni, dalle performance al marketing e così via.
The HTTP protocol was created in 1990 and led to the establishment of the World Wide Web by English physicist Tim Berners-Lee. It led to what is now the world's most used language, HTML (Hyper Text Markup Language). HTML5 is being developed as the next major revision of HTML: what is it about? What will it change?
2. B
- Nasce a metà del 2010 a Twitter;
- Viene mostrato durante la prima HackWeek dei team di sviluppo;
- Viene rilasciato pubblicamente su Github il 19 Agosto 2011;
- Con due major release (v2 e v3) per un totale di più di 20 release
diverse, diventa il progetto più seguito sulla piattaforma;
- A giugno 2014 detiene ancora questo record;
Qualche nota storica…
3. B
Funzionalità
Bootstrap permette tramite l’uso di HTML, CSS e Javascript di
impaginare facilmente il contenuto di una pagina web
Inoltre è possibile lavorare sullo stile e (in minima parte) sull’animazione
di molte componenti della pagina (bottoni, form, modal, immagini)
Tutto questo senza doversi preoccupare di gestire eccezioni e risultati
inaspettati derivati dall’uso di web browser differenti
4. B
Gli strumenti
Vediamo
- Come importare Bootstrap;
- Come creare un layout di pagina (il grid system);
- Le principali componenti (button, form, alert, navbar);
- Altre componenti Javascript (modal, scrollspy, alert, carousel);
5. B
Utilizzo
Come qualsiasi foglio di stile o script, è possibile includere Bootstrap
in una pagina web linkando le risorse nell’header della pagina
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.0/css/
bootstrap.min.css">
<!-- Optional theme -->
<link rel="stylesheet" href=“https://maxcdn.bootstrapcdn.com/bootstrap/3.3.0/css/bootstrap-
theme.min.css">
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<!-- Latest compiled and minified JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.0/js/bootstrap.min.js"></script>
<!-- step 1 di 4: importare bootstrap-->
6. B
Utilizzo
Bootstrap fa uso del grid system per posizionare il contenuto
della pagina: tramite l’uso di classi appositamente create
ogni componente viene incapsulata all’interno di righe e colonne
Per usufruire del grid system, Bootstrap impone che l’intero
contenuto di una pagina sia all’interno di un container
<div class=“container"> …html page… </div>
oppure
<!--for a full width container spanning the entire width of your viewport-->
<div class=“container-fluid“> …html page… </div>
<!-- step 2 di 4: impostare il layout-->
7. B
Utilizzo
Si usa il grid system per posizionare il contenuto della pagina:
tramite l’uso di classi appositamente create ogni componente viene
incapsulata all’interno di righe e colonne
<!-- step 2 di 4: impostare il layout-->
8. B
Utilizzo
Si può suddividere orizzontalmente la pagina in row, e ogni row in (al
massimo) 12 column. Ad esempio, l’immagine di prima è ottenuta con
<div class="row">
<div class=“col-md-1”>.col-md-1</div> //ripetuta 12 volte
<div class="col-md-1">.col-md-1</div>
</div>
<div class="row">
<div class="col-md-8">.col-md-8</div>
<div class="col-md-4">.col-md-4</div>
</div>
<div class="row">
<div class="col-md-4">.col-md-4</div>
<div class="col-md-4">.col-md-4</div>
<div class="col-md-4">.col-md-4</div>
</div>
<div class="row">
<div class="col-md-6">.col-md-6</div>
<div class="col-md-6">.col-md-6</div>
</div>
<!-- step 2 di 4: impostare il layout-->
11. B
Utilizzo
<!-- step 2 di 4: copia-incollare un layout-->
http://getbootstrap.com/getting-started/
12. B
Utilizzo
<!-- step 3 di 4: usare le componenti-->
Definito il layout di pagina, si possono usare altre classi css
per decorare rapidamente bottoni e input form o per creare
strutture comuni come barre di navigazione e dropdown menu
Ad esempio
<button type="button" class="btn btn-default">Default</button>
<button type="button" class="btn btn-primary">Primary</button>
<button type="button" class="btn btn-success">Success</button>
<button type="button" class="btn btn-info">Info</button>
<button type="button" class="btn btn-warning">Warning</button>
<button type="button" class="btn btn-danger">Danger</button>
<button type="button" class="btn btn-link">Link</button>
17. B
Utilizzo
<!-- step 4 di 4: le componenti javascript-->
L’utilizzo di Javascript permette di creare pagine web che rispondono
in modo reattivo alle richieste dell’utente
Bootstrap mette a disposizione alcune componenti che fanno uso
combinato di CSS e Javascript per realizzare animazioni e interazioni
classiche
Un esempio sono i modal (dialog prompt flessibili e multi funzione) o
le transizioni tramite scrollspy che permettono di aggiornare
dinamicamente le barre di navigazione in base allo scrolling della
pagina
18. B
Utilizzo
<!-- step 4 di 4: le componenti javascript-->
Il video del modal in azione è stato registrato alla pagina:
http://getbootstrap.com/javascript/#modals
20. B
Utilizzo
<!-- step 4 di 4: le componenti javascript-->
Il video dello scrollspy in azione è stato registrato alla pagina:
http://getbootstrap.com/javascript/#scrollspy
21. B
Utilizzo
<!-- step 4 di 4: le componenti javascript-->
Alcune funzionalità come quella dello scrollspy possono essere
implementate senza far uso di Javascript ma solo grazie all’utilizzo
di data-attribute
In generale, per ogni componente (Javascript e non) sul sito è
sempre specificato cosa è necessario impostare (a livello di attributi
o dipendenze) affinché la componente funzioni
Ad esempio, lo scrollspy per funzionare richiede l’uso di una
navbar, la componente che abbiamo visto prima
22. B
Utilizzo
<!-- step 4 di 4: le componenti javascript-->
Oltre a quanto già visto, tramite Javascript è possibile impostare
alert sui form, o carousel che permettono di scorrere una selezione
di immagini in modo automatizzato
E’ possibile estendere le funzionalità dei modal tramite plugin che si
appoggiano alle funzioni offerte da Bootstrap, inserendo ad
esempio un video di YouTube all’interno del modal stesso
23. B
Varianti
Esistono varianti nate dalle fork del progetto originale (o da progetti
indipendenti) altrettanto valide, che spesso forniscono estensioni
delle funzionalità offerte dalle librerie originale
Tra queste ricordiamo Foundation (front-end framework usato da
FitStar), Ink, Pure, YUI, etc
24. B
Conclusioni
Il codice sorgente fa uso due dei più popolari prepocessor per CSS:
Less e Sass
Flask, Symfony, Joomla, Wordpress e tanti altri permettono di
integrare le librerie necessarie al suo funzionamento in modo
automatico
La diffusione di Bootstrap e delle sue varianti è capillare, tanto da
meritarsi il titolo fornito dai suoi creatori
25. Bootstrap
The world's most popular mobile-first and responsive
front-end framework.
Riferimenti e fonti: http://getbootstrap.com
B
Grazie dell’attenzione
Matteo Madeddu
Dipartimento di Informatica Torino