Mobile Development: una introduzione per Web Developerssparkfabrik
?
Dal native coding agli attuali framework per lo sviluppo mobile: Ionic e React Native la fanno da padroni. Quali sono le caratteristiche peculiari e perch¨¦ utilizzarli?
Il nostro Lead Developer Edoardo Dusi ne parla diffusamente per poi planare in chiusura su una comparativa tra le due soluzioni. Ah, abbiamo dedicato un piccolo spazio anche a Flutter, il framework multipiattaforma di Google (con 110k+ star su Github!) per creare apps e interfacce native composte da widget realizzati ad hoc e renderizzati da un motore interno ad altissime prestazioni.
ºÝºÝߣ delle serate del GDG Milano "App Engine Take Off" del 2015.
In questa serie di incontri vedremo insieme come funziona la piattaforma PaaS di Google App Engine, in particolare con il linguaggio Python. Lo scopo principale sar¨¤ spiegare come funziona la piattaforma e realizzare piccole demo e/o snippets che possano tornare utili per lo sviluppo di tutti i giorni. Le serate saranno focalizzate su un topic specifico, iniziando da situazioni semplici ed adatte a tutti, addentrandosi poi, man mano, in situazioni sempre pi¨´ specifiche.
Parleremo di come configurare e utilizzare Docker in un progetto Laravel per uno sviluppatore che si inserisce in un nuovo Team per la prima volta. Prendedermo come esempio alcuni progetti gi¨¤ pre-costituiti come Laravel Homestead e Laradock fino ad arrivare ad a costruire un ambiente docker pi¨´ strutturato con Laravel, Redis, Memcached, Laravel Echo Server per avere un ambiente facilmente deployable sul cloud.
Crash course on the zope.buildout (italian language). Talk done at Pycon4 (2010).
The code: http://dl.dropbox.com/u/2369909/05_a_project_code_script.tgz
Presentazione per Codemotion Milan 2014
La piattaforma Ubuntu, quali sono le tecnologie utilizzate da Ubuntu per la nuova piattaforma.
Da dove partire a sviluppare nuove app per Ubuntu Touch e Desktop con l'Ubuntu SDK. Piccola introduzione al linguaggio QML.
Come contribuire alle Core Apps e come mettersi in contatto con la community di Ubuntu-it
Da GitHub a Nuget con la nuova build di Visual Studio OnlineDavide Benvegn¨´
?
Visual Studio Online da qualche tempo ha una nuova build modulare in aggiunta al classico motore di build xaml.
I tantissimi moduli gi¨¤ presenti ci forniscono tutti gli strumenti necessari per recuperare il codice sorgente da GitHub, compilarlo, generare un pacchetto NuGet e pubblicarlo.
In questo webcast vedremo, dal vivo e in modo pratico, come fare tutti questi passaggi in modo da poter pubblicare in modo automatico su NuGet il nostro progetto prendendolo da GitHub.
Come i fornitori di tecnologia della Pubblica Amministrazione possono rimanere informati sui progetti, proporre modifiche, chiedere chiarimenti e utilizzare gli strumenti messi a disposizione. Dal Piano Triennale al middleware per CIE. Da ANPR a SPID e dati.gov.it
Android, panoramica sulla storia, la licenza, il modello di sviluppo, perch¨¨ e come Google si ¨¨ buttato nel mondo mobile.
Android programmazione, panoramica veloce sulle particolarit¨¤ della programmazione Android rispetto altre piattaforme.
Flutter: Google alla conquista del mobile multi piattaformaCommit University
?
Nell'ultimo decennio, lo sviluppo software ¨¨ diventato trasversale anche e sopratutto nel campo mobile.
Le piattaforme ed i frameworks utili a tale scopo sono diversi, con i loro pro e contro.
Tra tutti spicca Flutter, un nuovo framework made by Google,
che riesce brillantemente ad unire la versatilit¨¤ della programmazione ad alto livello, senza rinunciare alle performances che solo il codice nativo pu¨° raggiungere.
Il tutto "servito" per iOS ed Android.
Mi accorgo sempre pi¨´ spesso che quando si parla di GIS open source c¡¯¨¨ una certa confusione. Un po¡¯ per inesperienza e un po¡¯ per scopi commerciali, tra le varie professionalit¨¤ attratte dagli sviluppi del GIS per la localizzazione di dati circolando tesi non complete che trascurano alcuni aspetti importanti. Ho selezionato le dieci mezze verit¨¤ che pi¨´ meritavano di essere completate.
ºÝºÝߣ delle serate del GDG Milano "App Engine Take Off" del 2015.
In questa serie di incontri vedremo insieme come funziona la piattaforma PaaS di Google App Engine, in particolare con il linguaggio Python. Lo scopo principale sar¨¤ spiegare come funziona la piattaforma e realizzare piccole demo e/o snippets che possano tornare utili per lo sviluppo di tutti i giorni. Le serate saranno focalizzate su un topic specifico, iniziando da situazioni semplici ed adatte a tutti, addentrandosi poi, man mano, in situazioni sempre pi¨´ specifiche.
Parleremo di come configurare e utilizzare Docker in un progetto Laravel per uno sviluppatore che si inserisce in un nuovo Team per la prima volta. Prendedermo come esempio alcuni progetti gi¨¤ pre-costituiti come Laravel Homestead e Laradock fino ad arrivare ad a costruire un ambiente docker pi¨´ strutturato con Laravel, Redis, Memcached, Laravel Echo Server per avere un ambiente facilmente deployable sul cloud.
Crash course on the zope.buildout (italian language). Talk done at Pycon4 (2010).
The code: http://dl.dropbox.com/u/2369909/05_a_project_code_script.tgz
Presentazione per Codemotion Milan 2014
La piattaforma Ubuntu, quali sono le tecnologie utilizzate da Ubuntu per la nuova piattaforma.
Da dove partire a sviluppare nuove app per Ubuntu Touch e Desktop con l'Ubuntu SDK. Piccola introduzione al linguaggio QML.
Come contribuire alle Core Apps e come mettersi in contatto con la community di Ubuntu-it
Da GitHub a Nuget con la nuova build di Visual Studio OnlineDavide Benvegn¨´
?
Visual Studio Online da qualche tempo ha una nuova build modulare in aggiunta al classico motore di build xaml.
I tantissimi moduli gi¨¤ presenti ci forniscono tutti gli strumenti necessari per recuperare il codice sorgente da GitHub, compilarlo, generare un pacchetto NuGet e pubblicarlo.
In questo webcast vedremo, dal vivo e in modo pratico, come fare tutti questi passaggi in modo da poter pubblicare in modo automatico su NuGet il nostro progetto prendendolo da GitHub.
Come i fornitori di tecnologia della Pubblica Amministrazione possono rimanere informati sui progetti, proporre modifiche, chiedere chiarimenti e utilizzare gli strumenti messi a disposizione. Dal Piano Triennale al middleware per CIE. Da ANPR a SPID e dati.gov.it
Android, panoramica sulla storia, la licenza, il modello di sviluppo, perch¨¨ e come Google si ¨¨ buttato nel mondo mobile.
Android programmazione, panoramica veloce sulle particolarit¨¤ della programmazione Android rispetto altre piattaforme.
Flutter: Google alla conquista del mobile multi piattaformaCommit University
?
Nell'ultimo decennio, lo sviluppo software ¨¨ diventato trasversale anche e sopratutto nel campo mobile.
Le piattaforme ed i frameworks utili a tale scopo sono diversi, con i loro pro e contro.
Tra tutti spicca Flutter, un nuovo framework made by Google,
che riesce brillantemente ad unire la versatilit¨¤ della programmazione ad alto livello, senza rinunciare alle performances che solo il codice nativo pu¨° raggiungere.
Il tutto "servito" per iOS ed Android.
Mi accorgo sempre pi¨´ spesso che quando si parla di GIS open source c¡¯¨¨ una certa confusione. Un po¡¯ per inesperienza e un po¡¯ per scopi commerciali, tra le varie professionalit¨¤ attratte dagli sviluppi del GIS per la localizzazione di dati circolando tesi non complete che trascurano alcuni aspetti importanti. Ho selezionato le dieci mezze verit¨¤ che pi¨´ meritavano di essere completate.
Fastify ¨¨ il web framework del momento e diverse aziende in tutto il mondo lo stanno utilizzando in produzione da anni.
Costruito da zero per essere il pi¨´ veloce possibile, con un overhead minima e una potente architettura a plugin, Fastify fornisce la migliore esperienza di sviluppo, senza sacrificare prestazioni e sicurezza.
? proprio vero che se un prodotto ¨¨ gratuito, la merce venduta sei tu?
Lo scopriremo insieme a Italo Vignoli, uno dei massimi esperti di Open Source, in questo incontro introduttivo sul software libero e open source (FOSS: free open source software), per fare un po'di chiarezza non solo sui termini ma anche sulla storia del FOSS e sulle differenze con il software proprietario sia a pagamento che gratuito.
Incontro presso Auditorium Pavoni presso Istituto Pavoniano Artigianelli
MAR 10 APRILE 2018, 19:00 ¨C 21:00 CEST
Programma della serata:
Software libero e open source: la storia e le caratteristiche
Come funziona un progetto di software libero e open source, e come vengono gestite la qualit¨¤ e la sicurezza dei programmi
Software libero e open source e formati standard dei documenti: alla scoperta dell'interoperabilit¨¤
Carrellata sui software liberi e open source, dai sistemi operativi ai software per la produttivit¨¤ ai software per la creativit¨¤
Domande e Risposte
The document discusses fogOS, an open-source software platform for managing resources across cloud, edge, and IoT devices in a unified way. It describes fogOS's architecture which includes a Fog Orchestration Engine (FOrcE) and Fog Infrastructure Manager (FIM). FOrcE manages applications and services, while FIM virtualizes and abstracts hardware resources. FogOS supports various deployment options and aims to provide a decentralized infrastructure for provisioning and managing distributed resources regardless of location.
2. Cos¡¯¨¨ Golang?
"Go is an open source programming language that makes it easy
to build simple, reliable, and efficient software."
(cit. golang.org)
La prima versione stabile, Go 1 ¨¨ stata rilasciata nel 2012
Rilasciato nel 2009 con licenza open source da Google
3. Perch¨¦ ¨¨ nato Go?
Go ¨¨ stato sviluppato per risolvere i problemi di scalabilit¨¤ di Google
? scalare su un enorme numero di server
? i job giornalieri devono girare su migliaia di macchine
? i job devono coordinarsi tra loro
? un sacco di cose da fare tutte insieme
La soluzione? Un grande supporto per la concorrenza
4. Golang
Per cosa viene usato Go a Google???
Alcuni esempi:
? SPDY proxy for Chrome on mobile devices
? Download server for Chrome, ChromeOS, Android SDK, Earth, etc.
? YouTube Vitess MySQL balancer
Viene usato principalmente per applicativi server, ma ¨¨ un linguaggio general purpose
Ma non solo Google, Go ¨¨ usato anche da:
Apcera, Bitbucket, bitly, Canonical, CloudFlare, Core OS, Digital Ocean, Docker, Dropbox, Facebook,
Getty Images, GitHub, Heroku, Iron.io, Kubernetes, Medium, MongoDB services,
Mozilla services, New York Times, pool.ntp.org, Secret, SmugMug, SoundCloud,
Stripe, Square, Thomson Reuters, Tumblr, ...
golang.org/wiki/GoUsers
5. Golang
Vediamo adesso alcune differenze tra Go e Java
Cosa hanno in comune??? (molto a dire il vero)
? C family (imperative, braces)
? Statically typed
? Garbage collected
? Memory safe (nil references, runtime bounds checks)
? Variables are always initialized (zero/nil/false)
? Methods
? Interfaces
? Type assertions (instanceof)
? Reflection
6. Golang
Vediamo adesso alcune differenze tra Go e Java
E invece in cosa differiscono?(anche qui ci sono molte differenze)
? Programs compile to machine code. There's no VM.
? Statically linked binaries
? Control over memory layout
? Function values and lexical closures
? Built-in strings (UTF-8)
? Built-in generic maps and arrays/slices
? Built-in concurrency
7. Golang
Vediamo adesso alcune differenze tra Go e Java
¡°Stranezze¡± del Go:
? No classes
? No constructors
? No inheritance
? No final
? No exceptions
? No annotations
? No user-defined generics
E un compilatore abbastanza ¡°nevrotico¡±
8. Golang
Perch¨¦ si ¨¨ deciso di tagliare queste caratteristiche?
La parola chiave ¨¨ chiarezza
Quando leggi del codice devi subito capire cosa fa
Quando scrivi del codice devi capire come far fare al programma ci¨° che
vuoi
Link utili sul design di Golang
? Less is exponentially more (Pike, 2012)
? Go at Google: Language Design in the Service of Software Engineering (Pike, 2012)
10. Golang
Abbiamo detto che Go nasce con la concorrenza in mente
Vediamo cosa mette a disposizione:
? goroutines
? channels
? il costrutto select
11. Golang
Goroutines
Thread leggeri che si adattano durante la loro esecuzione
si lanciano con:
La runtime di Go li schedula dentro i thread dell¡¯OS
go f(args)
12. Golang
Channles
Permettono la creazione di un canale di comunicazione tra le
goroutines
c := make(chan string)
// goroutine 1
c <- "hello!¡±
// goroutine 2
s := <-c
fmt.Println(s) // "hello!"
14. Golang
Organizzazione del workspace
Il compilatore Go ¨¨ nato per lavorare su repository e quindi predilige un organizzazione gerarchica
del workspace
in particolare
? src sorgenti Go organizzati per package (ogni package ha la sua directory)
? pkg contiene I file oggetto dei package
? bin contitene gli eseguibili
15. Golang
Il package http
Il package http, fornisce gli strumenti gestire le richieste http
¨¨ intrinsecamente concorrente