Workshop AngularJs, Cordova, Ionic - Politecnico di MilanoGabriele Gaggi
Cordova è la chiave di volta che consente agli sviluppatori web un ingresso rapido ed indolore negli store delle diverse piattaforme mobili. Vediamo come utilizzare questa chiave di volta sfruttando la potenza e semplicità del framework MVC di Google AngularJs ed utilizzando come collante il framework Ionic per ottenere rapidamente applicazioni performanti con un look and feel analogo alle app native.
Slides dalle lezioni del corso di "Strumenti e applicazioni del Web", Università di Milano Bicocca - Prof.R.Polillo - A.A.2012-13
Lezione del 19 marzo 2013.
Vedi anche www.corsow.wordpress.com
AngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platformGabriele Gaggi
Cordova è la chiave di volta che consente agli sviluppatori web un ingresso rapido ed indolore negli store delle diverse piattaforme mobili. Vedremo come utilizzare questa chiave di volta sfruttando la potenza e semplicità del framework MVC di Google AngularJs in collaborazione con le caratteristiche responsive offerte dal framework di Twitter Bootstrap.
Workshop AngularJs, Cordova, Ionic - Politecnico di MilanoGabriele Gaggi
Cordova è la chiave di volta che consente agli sviluppatori web un ingresso rapido ed indolore negli store delle diverse piattaforme mobili. Vediamo come utilizzare questa chiave di volta sfruttando la potenza e semplicità del framework MVC di Google AngularJs ed utilizzando come collante il framework Ionic per ottenere rapidamente applicazioni performanti con un look and feel analogo alle app native.
Slides dalle lezioni del corso di "Strumenti e applicazioni del Web", Università di Milano Bicocca - Prof.R.Polillo - A.A.2012-13
Lezione del 19 marzo 2013.
Vedi anche www.corsow.wordpress.com
AngularJs, Bootstrap e Cordova: il connubio per app mobile cross-platformGabriele Gaggi
Cordova è la chiave di volta che consente agli sviluppatori web un ingresso rapido ed indolore negli store delle diverse piattaforme mobili. Vedremo come utilizzare questa chiave di volta sfruttando la potenza e semplicità del framework MVC di Google AngularJs in collaborazione con le caratteristiche responsive offerte dal framework di Twitter Bootstrap.
Alessandro Forte, co-fondatore di DotNetCampania, illustra ai soci dell’associazione la piattaforma Android e come sviluppare applicazioni per tale piattaforma.
Una rassegna sul framework per lo sviluppo in Javascript jQuery ed alcuni suoi plugin sviluppati da Microsoft: Template e Datalink
http://www.pasqualepuzio.it
Slide utilizzate durante l'intervento sulle Progressive Web App e le Trusted Web Activities applicate a Wordpress e Woocommerce.
Trovate informazioni più precise sull'argomento su https://2019.catania.wordcamp.org/session/progressive-web-app-e-twa/
e sugli articoli https://www.francescogiammanco.it/progressive-web-app-lighthouse/
e https://www.francescogiammanco.it/trasformare-un-sito-in-twa/
"Alla ricerca della formula magica". Presentazione usata per il ciclo di webinar su traduzione e adattamento di siti web per AITI Emilia Romagna, novembre-dicembre 2016.
Alessandro Forte, co-fondatore di DotNetCampania, illustra ai soci dell’associazione la piattaforma Android e come sviluppare applicazioni per tale piattaforma.
Una rassegna sul framework per lo sviluppo in Javascript jQuery ed alcuni suoi plugin sviluppati da Microsoft: Template e Datalink
http://www.pasqualepuzio.it
Slide utilizzate durante l'intervento sulle Progressive Web App e le Trusted Web Activities applicate a Wordpress e Woocommerce.
Trovate informazioni più precise sull'argomento su https://2019.catania.wordcamp.org/session/progressive-web-app-e-twa/
e sugli articoli https://www.francescogiammanco.it/progressive-web-app-lighthouse/
e https://www.francescogiammanco.it/trasformare-un-sito-in-twa/
"Alla ricerca della formula magica". Presentazione usata per il ciclo di webinar su traduzione e adattamento di siti web per AITI Emilia Romagna, novembre-dicembre 2016.
SkyMedia: La tecnologia al servizio dell'intrattenimentoMavigex srl
Mavigex parla al #WhyMCA 2012 e presenta l'architettura del sistema #SkyMedia.
Un gruppo di aziende provenienti da tutta Europa sta mettendo a punto un sistema tecnologicamente innovativo per dare una marcia in più agli eventi sportivi, combinando tecnologie all'avanguardia come droni volanti, schermi immateriali, telecamere 3D, applicazioni mobili per iPhone iPad e Android e tracciamento delle prestazioni degli atleti in tempo reale.
Tutte queste tecnologie sono combinate assieme per fornire ad atleti e spettatori una visione a 360 gradi dell'evento, con una prospettiva mai vista fino ad ora. Le prime dimostrazioni delle potenzialità di questo sistema sono state messe a disposizione della Maratona di Torino gia' dall'edizione 2011.
Una peculiarità è la potenziale versatilità di tale sistema e la sua applicabilità a diversi scenari sportivi. Altri sport infatti potrebbero trarre vantaggio da queste tecnologie, quali il ciclismo, l'arrampicata sportiva e lo sci.
Il talk illustrerà l'architettura e i componenti del sistema, e come sia stato possibile rendere accessibili al grande pubblico tecnologie fino ad ora limitate all'ambito di ricerca.
Maggiori informazioni sul progetto al sito http://ict-skymedia.eu/skymedia/
SMAU Milano 2014 GAE 24/10/2014 - IWA ItalyPaolo Dadda
Spesso si tende a considerare il lavoro di piccoli team e sviluppatori individuali di minor qualità per questioni di competenze.
Un cloud, infatti, necessita spesso di VPS da configurare, far funzionare e mantenere, che seppur virtuali e dedicate, richiedono un minimo di competenza.
Come mantenere alta la qualità per piccoli team e singoli developer?
Come ridurre l’esigenza di “dover” saper far tutto?
Utilizzare servizi che eliminano, lato sviluppatore, gestione e sicurezza del server, può essere determinante, permettendo di specializzarsi di più sui propri “skill” senza trovarsi obbligati a coinvolgere terze figure o diventare factotum del web.
Target:
WSP-G3-002 - Web Project Manager,
WSP-G3-005 - Business Analyst,
WSP-G3-009 - Frontend Web developer,
WSP-G3-010 - Server Side Web Developer,
WSP-G3-014 - Digital Strategic Planner.
Steps to develop apps for mobile that access internet realted contents.
It simply explores basic concepts of developmnet. Written in italian.
---
Espone i passi necessari a sviluppare un app mobile in grado di accedere a contenuti su web. Espone i concetti basilari del processo di sviluppo.
Impara React sfruttando le tecnologie più recenti (Eduard Capanu).pptxEduardCapanu
React evolve velocemente con strumenti come Vite.js, Remix, e Next.js, richiedendo aggiornamenti continui delle competenze per gestire nuovi progetti con successo.
Che tu abbia già esperienza con React o che sia alle prime armi, questo talk ti offrirà una nuova prospettiva sulle ultime tendenze di questo framework e ti mostrerà le best practice per la creazione e la configurazione di un progetto.
Esploreremo le ultime innovazioni di React e scopriremo come sfruttare efficacemente le nuove funzionalità per lanciare un nuovo progetto senza intoppi, dalla scelta del framework e della tecnologia, alla configurazione iniziale più adatta.
Vedremo tutti i passaggi chiave per realizzare un progetto React in modo efficiente e impareremo, tra le altre cose, che non sempre ‘create-react-app’ è l’opzione migliore per iniziare un nuovo progetto.
Event link: https://thecmmbay.com/eventi/impara-react-sfruttando-le-tecnologie-piu-recenti-r97r9y7l6
I linguaggi del web - seconda edizione (3° giornata)Diego La Monica
Modulo 4 – AJAX
- Interazioni client/server
- Framework a confronto:
- jQuery
- Mootools
- YUI
- JAST
Modulo 5 – ARIA e l’accessibilità lato client
- Prendere un po' di ARIA
- Le tecnologie assistive
- Ruoli, stati e proprietà
- Strumenti per lo sviluppo accessibile
[drupalday 2017] - Accessibilità Web: Finalità, metodologie e strumenti.DrupalDay
Il talk sarà incentrato sul tema dell’accessibilità web. Sarà introdotta la tematica sia dal punto di vista generale (cos’è l’accessibilità, quali sono le leggi nazionali in materia), che delle metodologie utilizzate per la verifica dell’accessibilità (le WCAG, gli esperti ed i gruppi di valutazione), che degli strumenti a supporto dello sviluppo di siti accessibili (validatori e contrast checker), con una dimostrazione del loro funzionamento. Infine si discuterà dell’accessibilità in Drupal.
di Antonio Giovanni Schiavone
[drupalday2017] - Cloud e integrazione per la PA: la sfida dell'Open Source t...DrupalDay
La razionalizzazione delle infrastrutture tecnologiche della PA centrale e locale non è solo l’occasione per ottimizzare la spesa ICT, ma anche una opportunità per migliorare i servizi alle imprese ed ai cittadini attraverso la condivisione delle piattaforme tecnologiche innovative. Questa evoluzione richiederà necessariamente delle considerazioni inerenti la proprietà intellettuale nell'ambito dell'open source e dei big data.
di Claudia Pavoletti e Michele Melchionda
[drupalday2017] - Drupal come frontend che consuma servizi: HTTP Client ManagerDrupalDay
Proviamo a gettare un nuovo standard per la gestione delle sorgenti e per la presentazione di dati nelle istanze Drupal che consumano servizi. Perchè ne abbiamo bisogno e come i Guzzle Service Description possono salvarci la vita.
di Adriano Cori
[drupalday2017] - Drupal & Patternlab: un nuovo approccio al themingDrupalDay
Mano a mano che i siti diventano sempre più complessi ed articolati emergono nuovi metodi di progettazione che cercano di gestire questa complessità. Uno dei metodi più popolari è l'Atomic Design che ha nei seguenti elementi i mattoni fornamentali con cui progettare il sito: Atomi, Molecole, Organismi, Templates, Pagine. Questa tecnica è supportata da uno strumento: PatternLab. C'è molta attività attorno all'uso di questo strumento in Drupal, in questo talk vedremo a che punto è l'integrazione.
di Gian Mario Mereu
[drupalday2017] - Decoupled frontend con Drupal 8 e OpenUI 5DrupalDay
Lo sviluppo Frontend sta conoscendo una vera e propria rivoluzione, con l'introduzione e l'utilizzo di strumenti sempre più raffinati. In questo panorama, un attore relativamente recente sta guadagnando la meritata popolarità: OpenUI 5. Durante il talk faremo la conoscenza di questo nuovo toolkit e vedremo come costruire un frontend custom utilizzando le REST API di Drupal 8
di Donato Rotunno
[drupalday2017] - Open Data con Drupal nella PA: considerazioni su licensing ...DrupalDay
Gli Open Data rappresentano il motore per l’innovazione, la crescita e la governance. Recentemente la Commissione Europea, nell’ambito delle azioni dell’Agenda Digitale, ha presentato un programma di azioni per il riutilizzo delle informazioni del settore pubblico che dovrebbe dare un contributo consistente all’economia. Sulla base di queste importanti indicazioni Sapienza ha sviluppato dei modelli web realizzati con Drupal per valorizzare il patrimonio dei dati di Ateneo mediante l'esposizione e il riutilizzo. Il licensing e la tutela dei dati personali sono gli strumenti necessari per gli sviluppatori interessati alla costruzione di servizi innovativi per le PA.
di Andrea Dori
[drupalday2017] - Behat per Drupal: test automatici e molto di piùDrupalDay
Behat è nato per semplificare il processo di accettazione da parte del cliente: per evitare ambiguità si realizza un test automatico (leggibile anche da chi non ha competenze tecniche) la cui esecuzione con successo garantisce che le specifiche siano rispettate. L'integrazione di Behat nel processo di sviluppo Drupal permette tuttavia di andare ben oltre: si può usare Behat per condividere le specifiche con il cliente, per guidare lo sviluppo (scrivendo il test prima del codice), per assistere il debug (usando uno scenario per popolare una situazione di errore ripetibile) e persino per migrare un sito da Drupal 7 a Drupal 8 (codificando il comportamento del sito in una serie di test che vengono poi usati come base per lo sviluppo del nuovo sito). Per tutti gli scenari descritti vedremo esempi basati sull'esperienza di Nuvole.
di Andrea Pescetti
Indaghiamo quali sono gli elementi di un processo produttivo di un progetto Drupal che devono essere condivisi con il suo Stakeholder per una strategia win-win.
di Claudia Astazi
[drupalday2017] - DRUPAL per la PA: il modello della Trasparenza di SapienzaDrupalDay
La Sapienza mette a disposizione dei cittadini, delle istituzioni, delle imprese e degli utenti in generale due piattaforme sviluppate in Drupal in ottemperanza ai DLgs 33/2013 (come modificato dal D.Lgs. 97/2016) e DLgs 190/2012 sulla trasparenza amministrativa. Il talk tratterà le soluzioni implementate in Drupal per soddisfare i requisiti normativi.
di Francesco Barcellona e Ramon Souviron
[drupalday2017] - Venezia & Drupal. Venezia è Drupal!DrupalDay
Il nuovo sito istituzionale del Comune di Venezia: linee guida per il design dei siti della Pubblica amministrazione, SPID, Carta Nazionale dei Servizi, certificati anagrafici on line, news wall, campagne e-mail e servizi di messaggistica. Con Drupal.
di Paolo Cotti Cometti e Francesco Trabacchin
[drupalday2017] - Quando l’informazione è un servizioDrupalDay
Creare e mantenere contenuti online è un’attività complessa e costosa per ogni organizzazione, ma strategica: per la PA i contenuti online rappresentano un canale e un punto di contatto essenziale nei servizi per il cittadino. Quali sono i metodi e gli approcci che rendono questo investimento efficace? E come cambiano la funzione e la fisionomia del CMS, quando da strumento di pubblicazione e manutenzione diventa una piattaforma per gestire l’intero processo produttivo del contenuto?
di Francesca Marangoni
[drupalday2017] - Cosa significa convertire un modulo da D7 a D8DrupalDay
Ho sentito spesso dire: “non utilizziamo D8 perché non ha ancora i moduli che ci servono per il progetto.”. OK, allora iniziamo a convertirli! Presenterò la mia esperienza nel convertire il modulo Iubenda Integration da D7 a D8, cercando di mettere in luce le principali difficoltà incontrate. Con questa sessione la mia speranza è di fornire le basi per convertire i propri moduli da a chi sviluppa progetti in Drupal 8.
di Roberto Peruzzo
[drupalday2017 - KEYNOTE] - Saving the world one Open Source project at a timeDrupalDay
Innovation & Open source are almost always related, but start, sustain and position an open source project is not a easy task. Using Drupal Console as an example, would be presented the challenges and rewards or creating and maintaining an Open Source project. Talk in lingua inglese.
di Eduardo Garcia
Lo sviluppo del modulo Devel affonda le sue radici nel lontano 2003 quando la versione di Drupal era la 4.1. Ne è passata di acqua sotto i ponti e siamo in direttura di arrivo per la prima versione stabile di Devel per Drupal 8. Molte cose sono cambiate sia a livello di architettura che di funzionalità messe a disposizione degli sviluppatori. Integrazione con il Core - integrazione nativa con il modulo Toolbar del Core - pagine di informazione sul Service Container, le rotte, le entità, gli eventi e molto altro - cambio rapido di utente - accesso in lettura e modifica dei dati memorizzati nel Configuration Management System e nelle State API - estensioni di Twig per il dump delle variabili o l'impostazione di breakpoint per xDebug Dumpers Un sistema a plugin per stampare in pagina variabili complesse come array ed oggetti. Kint, Symfony var-dumper, Doctrine, sono tutti supportati e presenti di default in Devel. Webprofiler Profila e analizza ogni singola pagina del sito. Dalla toolbar che Webprofiler aggiunge al footer di ogni pagina hai una visione sull'utilizzo delle risorse, sulle query al database, sulle viste, sui blocchi e molto altro.
di Luca Lusso
[drupalday2017] - Speed-up your Drupal instance!DrupalDay
Perchè la tua istanza Drupal non performa e cosa puoi fare per invertire la rotta. D'altronde è una questione complessa: i moduli, la qualità del codice, l'uso delle cache, ma anche la versione di PHP, il proxy-cacher, il tuo hosting e, in ultimo, le cavallette...
di Daniele Piaggesi
[drupalday2017] - DevOps: strumenti di automazione per Drupal8DrupalDay
Spesso durante lo sviluppo e la manutenzione di un progetto siamo costretti a svolgere attività ripetitive o noiose (dall’esecuzione di un task alla replicazione e aggiornamento del sistema). Per risolvere alcuni di questi problemi proveremo ad usare Zaratan, un comodo strumento basato su Docker per installare tutte le componenti necessarie al funzionamento di Drupal, e Robo, un task runner scritto in PHP in grado di eseguire sia comandi Drush che azioni sul filesystem, sul database, ecc...
di Marco Capobussi
[drupalday2017] - DevOps: strumenti di automazione per Drupal8DrupalDay
Spesso durante lo sviluppo e la manutenzione di un progetto siamo costretti a svolgere attività ripetitive o noiose (dall’esecuzione di un task alla replicazione e aggiornamento del sistema). Per risolvere alcuni di questi problemi proveremo ad usare Zaratan, un comodo strumento basato su Docker per installare tutte le componenti necessarie al funzionamento di Drupal, e Robo, un task runner scritto in PHP in grado di eseguire sia comandi Drush che azioni sul filesystem, sul database, ecc...
di Luca Cracco
Cosa Drupal 8 ha da offrire rispetto ad altri framework PHP quando si parla di esporre un servizio REST? Partendo dalle dieci regole per creare una API che i vostri client ameranno, vedremo quali strumenti brillano nel firmamento di PHP all'alba del 2017 e metteremo alcuni di essi a confronto con Drupal 8, la versione più PHP-friendly del nostro CMS preferito. Pezzo per pezzo, costruiremo una mappa che metta in relazione gli strumenti ai casi d'uso cui sono più adatti e che ci permetterà di decidere con più confidenza cosa usare per il nostro prossimo service layer.
di Paolo Pustorino
[drupalday2017] - Contenuti educativi digitali aperti, creare contenuti e dis...
Drupal Day 2012 - Applicazioni mobile multipiattaforma integrate con Drupal 7 Nuove possibil…
1. Applicazioni mobile multipiattaforma
integrate con Drupal 7
Nuove possibilità di marketing con PhoneGap
Gianfranco Fedele
Web software analyst presso Insem spa
@gianfrasoft
gianfrasoft@gmail.com
2. Cos'è PhoneGap
(per gli amici Cordova)
• Adobe: PhoneGap is a free and open source
framework that allows you to create mobile apps
using standardized web APIs for the platforms you
care about.
• Apache: Cordova is a platform for building native
mobile applications using HTML, CSS and
JavaScript
• Ajaxian: a great solution for Web developers to
create applications with the technology they know
and love, without having to jump off of the cliff to
other proprietary worlds
3. Perché PhoneGap?
• E' semplice
• E' multipiattaforma
• Il know-how richiesto per lavorare con
PG è già presente nella figura
professionale dello sviluppatore Drupal
• Si integra facilmente con Drupal
4. In quale contesto conviene
utilizzare PhoneGap?
Possiamo identificare 2 contesti
principali nell'ambito dei quali le app
mobile vengono concepite:
5. In quale contesto conviene
utilizzare PhoneGap?
1. La app può essere sviluppata per
produrre un guadagno diretto mediante
attraverso la sua distribuzione
• Vendita
• Banner pubblicitari
• In-App Purchase
6. In quale contesto conviene
utilizzare PhoneGap?
2. La app viene sviluppata nel contesto di un
piano di marketing ovvero per distribuire
informazioni commerciali (Brand app):
• cataloghi di prodotti
• volantini pubblicitari
• informazioni posizionali
• e-commerce
• form di contatto
11. Perché le app sono preferite
alla navigazione classica?
• Superano i limiti del Web, intimamente legato
all'idea di una navigazione caratterizzata da
uno scrolling verticale delle pagine
• Offrono un approccio alla navigazione delle
informazioni più gustoso (transizioni tra le viste,
animazioni, ecc.)
• Salvaguardano parte della user experience,
operando anche in assenza di connettività
12. Quali competenze servono per
intraprendere lo sviluppo delle
app mobile?
• iOS:
XCode – Cocoa – Objective-C
• Android
Java – Android SDK
• Windows Mobile
C# – Silverlight – Visual Studio 2010
...
13. Contenuto della
distribuzione di
Cordova-2.1.0
• Un archivio per ogni SO: iOS, Android,
WP7, ecc.
• Ogni archivio contiene un template per
lo sviluppo di applicazioni per ciascun
ambiente di sviluppo.
14. Contenuto della
distribuzione di
Cordova-2.1.0
• Ogni nuovo progetto PhoneGap
contiene una sottocartella www che a
sua volta contiene un file index.html
• Una app realizzata con PhoneGap crea
una vista full screen contenente una
WebView all'interno della quale viene
caricato il file index.html
19. Quale integrazione tra
PhoneGap e Drupal
Sono possibili due approcci
• Caricamento diretto dei contenuti
• Interfacciamento coi servizi
20. Caricamento diretto dei
contenuti
Javascript è in grado di sfruttare la tecnologia
Ajax per operare modifiche del DOM della
pagina e quindi di caricare al volo le
informazioni da presentare all'utente.
21. Caricamento diretto dei
contenuti
La app interroga il portale a specifiche URL
dalle quali riceve codice HTML da caricare
direttamente nel DOM.
• Tema ad hoc con html.tpl.php “alleggerito”
• Views Datasource
• Imagecache
• Browscup
22. Interrogazione del portale
function ricerca_nodi_per_titolo(titolo)
{
$.ajax({
url: site_url + "view-nodi?title=" + titolo,
type: 'get',
error: function (XMLHttpRequest, textStatus, errorThrown)
{
navigator.notification.alert('Si è verificato un
problema durante la ricerca delle agenzie.', null, "La mia
applicazione", "Ok");
},
success: function(data)
{
$.each(data.nodes, function(node_index, node_value)
{
...
});
}
});
};
23. Interfacciamento coi
servizi
Accesso alle informazioni in formato di
scambio JSON o XML e trasformazione
negli oggetti che popoleranno il DOM
• Services
• Services Views
24.
25.
26. Interrogazione dei servizi
function connect()
{
$.ajax({
url: services_url + "system/connect.json",
type: 'post',
dataType: 'json',
error: function (XMLHttpRequest, textStatus,
errorThrown)
{
navigator.notification.alert('Errore di
connessione', null, "La mia applicazione", "Ok");
},
success: function (data)
{
...
}
});
};
27. Interrogazione dei servizi
function login()
{
$('#box-waiting').css('display', 'block');
$.ajax({
url: services_url + "user/login.json",
type: 'post',
data: 'username=' + encodeURIComponent(name) + '&password='
+ encodeURIComponent(pass),
dataType: 'json',
error: function(XMLHttpRequest, textStatus, errorThrown)
{
navigator.notification.alert('Si è verificato un
problema durante il login.', null, "La mia applicazione", "Ok");
},
success: function (data)
{
navigator.notification.alert('Bentornato!', null, "La
mia applicazione", "Ok");
});
};
28. Interrogazione dei servizi
function logout()
{
$.ajax({
url: services_url + "user/logout.json",
type: 'post',
dataType: 'json',
error: function(XMLHttpRequest, textStatus,
errorThrown)
{
navigator.notification.alert('Errore durante il
logout', null, "La mia applicazione", "Ok");
},
success: function (data)
{
navigator.notification.alert("Arrivederci.", null,
"La mia applicazione", "Ok");
}
});
};
30. Alcuni vantaggi offerti da
Drupal e PhoneGap
• Javascript è nativamente asincrono
• Di default i session cookie sono gestiti
automaticamente dal WebView
• Nella app le immagini possono linkare
url disponibili sul portale Drupal
• Il layout della app può essere fluido o
addirittura adattivo
31. Alcuni svantaggi
• Le animazioni di transizione tra una vista e
l'altra vanno simulate con Javascript o CSS3
• Le librerie che solitamente si usano nei portali
possono appesantire le app e rallentarle su
dispositivi di vecchia generazione
• Le librerie di cui sopra spesso sono concepite
per il web ed adattate al mobile. Meglio fare
attenzione
• Ogni ambiente di sviluppo va opportunamente
configurato per PhoneGap