Gianni Valdambrini. Everywhere

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Gianni Valdambrini. Everywhere"

Transcript

1 Gianni Valdambrini Qt Certified Specialist Everywhere Firenze, 25 settembre 2012

2 Cosa è Qt Qt è un framework cross platform, con cui potete scrivere il codice un'unica volta ed effettuare il deploy su vari sistemi desktop ed embedded. Qt implementa il principio Hollywood ( non chiamarci, ti chiameremo ). Qt è anche una libreria, mettendo a disposizione un ampio set di componenti già pronti all'uso. 2 / 30

3 Cosa è Qt Le applicazioni Qt compilano sulle varie piattaforme supportate senza cambiamenti... e si comportano (ed appaiono) nello stesso modo su di esse... pur rispettando le tradizionali caratteristiche di ogni piattaforma. 3 / 30

4 Qt: i linguaggi Qt è scritto in C++ standard, tuttavia fa uso estensivo di un generatore di codice chiamato moc per implementare alcune funzionalità di alto livello non previste dal linguaggio. E' possibile estendere le applicazioni tramite embedding di linguaggi di scripting (QtScript, PythonQt, ecc..). Inoltre è possibile scrivere l'intera applicazione in Python utilizzando l'apposito binding PyQt. 4 / 30

5 Qt: le piattaforme Embedded Desktop Linux Embedded Windows Mobile Windows Linux Mac Os X Symbian Windows CE In aggiunta alle versioni ufficiali, sono presenti numerosi altri porting effettuati/mantenuti dalla comunità. 5 / 30

6 Qt: chi lo usa

7 Qt: licenze Qt è disponibile con due licenze: Open source (LGPL v. 2.1) permette di sviluppare applicazioni con linking dinamico alle Qt senza dover rilasciare il codice o pagare costi di licenza. Commerciale per sviluppatore e con costo dipendente dal numero di piattaforme target, permette di usare in piena libertà Qt ed è comprensivo di supporto. Per saperne di più: 7 / 30

8 Un veloce sguardo a Qt Qt mette a disposizione un gran quantitativo di funzionalità, realizzate attraverso un alto numero di classi che tuttavia mantengono un'ottima semplicità grazie alla struttura piatta. Ecco alcune delle funzionalità offerte da Qt: Internazionalizzazione e supporto unicode Multi-threading e multi-processing Introspezione e RTTI Implicit Sharing Gestione automatica lifetime oggetti Meccanismi di comunicazione all'interno dell'applicazione anche fra thread diversi (signal slot) 8 / 30

9 Un veloce sguardo a Qt Altre funzionalità chiave offerte da Qt sono: Meccanismi di IPC (shared memory, dbus, tcp/ip,...) Model/view framework Contenitori e strutture dati Supporto alla programmazione concorrente Sistema di painting Unit testing 9 / 30

10 Qt: i moduli Qt è suddiviso in vari moduli, in modo che sia possibile utilizzare ciò di cui abbiamo bisogno senza doversi portare tutto dietro. Declarative Networking Core GUI WebKit Xml Database Scripting OpenGL Unit Testing 10 / 30

11 Qt: i moduli QtCore offre un layer di compatibilità sopra le piattaforme supportate, includendo al suo interno il loop degli eventi e numerose classi di utilità. Per questo motivo è quindi molto indicato per realizzare applicazioni non GUI come demoni o processi di sistema. QtGui si occupa di effettuare il disegno della GUI delegando al sistema operativo unicamente la gestione delle finestre top-level. 11 / 30

12 Qt: i moduli QtWebKit permette alle applicazioni Qt di interfacciarsi con un vero e proprio motore di rendering per pagine web. E' quindi possibile realizzare applicazioni ibride, composte da una parte in linguaggio nativo e una parte realizzata con tecnologie web. QtNetwork offre le principali funzionalità di rete integrate con il loop degli eventi (ma possono essere usate anche senza). 12 / 30

13 Rappresenta l'evoluzione nel modo di progettare GUI: se con QtGui è possibile fare classiche applicazioni desktop Qt Quick nasce dall'esigenza di realizzare GUI fluide e dinamiche. Qt Quick è realizzato sopra Qt in modo da sfruttarne i pregi ed ereditarne le funzionalità (accelerazione hardware, internazionalizzazione, ecc..) 13 / 30

14 Qt Quick Qt Quick è un insieme di tecnologie: Il linguaggio dichiarativo, chiamato Qml ed estensione di JavaScript. Il runtime, che permette l'accesso a funzionalità e strutture dati di Qt/C++. QtCreator, che integra un editor avanzato di Qml, un designer grafico di UI e un debugger/profiler. Qt Quick velocizza la realizzazione di GUI ed è quindi molto indicato per il fast prototyping di applicazioni. 14 / 30

15 Qt per Linux Embedded Qt è particolarmente adatto per lo sviluppo su dispositivi embedded, e gira su ogni Linux con un compilatore C++ decente. 15 / 30

16 Qt per Linux Embedded Per i dispositivi dotati di framebuffer, Qt offre un vero e proprio gestore di finestre (chiamato QWS Qt Windows System). In questo caso Qt scrive direttamente su framebuffer, con un meccanismo di double buffering. Le applicazioni che utilizzano funzionalità specifiche dell'embedded possono comunque girare su desktop grazie a QVFB, un simulatore di framebuffer integrato in Qt. 16 / 30

17 Strumenti di sviluppo QtSDK è l'ambiente di sviluppo completo, ed include: QtCreator IDE, un potente ma leggero IDE per lo sviluppo e design delle applicazioni; le librerie Qt, comprensive di esempi e demo; la documentazione di Qt e dei suoi tools; un update manager, per essere sempre aggiornati con le ultime versioni di Qt. Separatamente dal QtSDK viene fornito anche il Qt Linguist, strumento per traduttori che desiderano localizzare l'applicazione. 17 / 30

18 Qt Creator IDE L'IDE di Qt Creator include: un editor avanzato C++/Qml con autocompletamento e tools di refactoring gestione di progetti e del sistema di build QtDesigner per GUI tradizionali e Qml un sistema di help integrato ed espandibile un debugger visuale ed integrato con le strutture dati di Qt supporto per i principali sistemi di controllo di revisione 18 / 30

19 Qt Project Qt è sviluppato, a partire dal 2011, come progetto open source denominato Qt Project e che include privati e aziende. In precedenza Qt, benchè distribuito anche con licenza open source, era sviluppato unicamente dai proprietari di Qt. Questo cambiamento ha incrementato fortemente il numero di contributori a Qt, che quindi potrà beneficiarne diventando sempre più sviluppato, testato e mantenuto. 19 / 30

20 Qt 5 Qt5 nasce dalla volontà di mettere Qt Quick al centro dell' ecosistema Qt, riscrivendo parte dello stack grafico per ottimizzarne le prestazioni sfruttando appieno l'accelerazione hardware.

21 Qt Quick v. 2 Grazie al lavoro di riscrittura dello stack grafico le prestazioni di applicazioni che usano Qt Quick v. 2 con Qt5 potranno più che raddoppiare in alcuni casi!

22 Qt 5 Altri importanti cambiamenti architetturali della nuova versione di Qt sono: maggiore modularità: i vari moduli di Qt4 sono stati ripensati e suddivisi con una granularità maggiore. Esempio: QtGUI non sarà più dipendenza di Qt Quick porting più facili su altre piattaforme: adesso il codice di Qt è esso stesso cross platform ed utilizza un layer chiamato QPA per interfacciarsi con il sistema operativo. 22 / 30

23 Qt 5 - porting Uno degli obbiettivi nello sviluppo di Qt5 è stato quello di minimizzare i cambiamenti richiesti alle applicazioni. Per questo è stato rimosso o cambiato solo quanto deprecato con Qt4, mantenendo la compatibilità a livello dei sorgenti a circa il 99%. Come conseguenza, alcune applicazioni (es: QtCreator) sono già perfettamente funzionanti sia con Qt4 che con Qt5. 23 / 30

24 Il futuro di Qt 5 Qt5 è attualmente in beta, e la data prevista per la release finale è Novembre Successivamente, alcuni dei più importanti obbiettivi dichiarati dagli sviluppatori di Qt sono: espandere la libreria dei Widget per desktop. portare Qt su piattaforme ios e Android. portare Qt su BlackBerry OS. 24 / 30

25 3 motivi per scegliere Qt 0/3 (embedded version)

26 3 motivi per scegliere Qt 1/3 (embedded version) Lo stesso codice può essere compilato ed eseguito su varie piattaforme embedded e desktop. Come conseguenza, gran parte dello sviluppo può essere svolto su Pc, riducendo la parte del testing e debugging da svolgere sull'hardware. In tal modo, sarà possibile scrivere applicazioni più velocemente, senza perdere tempo nel caricare l'applicazione su embedded. 26 / 30

27 3 motivi per scegliere Qt 2/3 (embedded version) Le classi di Qt, e QtCore in particolare, offrono funzionalità avanzate tipiche di linguaggi di più alto livello, con cui è possibile scrivere applicazioni più velocemente. Es: QString supporto unicode, regexp, split, ecc.. In aggiunta, la loro implementazione è fatta con un occhio di riguardo all'embedded, combinando: ottime prestazioni espansione codice minimale modularità 27 / 30

28 3 motivi per scegliere Qt 3/3 (embedded version) La prima versione di Qt risale al 1992: questo ne fa un framework con un'architettura solida e matura. Altre conseguenze sono: è un framework molto ben testato e funzionante, utilizzato da una larga base di utenti. dispone di una documentazione davvero ben fatta e di una vasta community. è corredato di un gran numero di esempi e demo. 28 / 30

29 Let's Talk office web

30 License Creative Commons Attribution 3.0 Unported

INTRODUZIONE AL FRAMEWORK QT

INTRODUZIONE AL FRAMEWORK QT INTRODUZIONE AL FRAMEWORK QT Luca Ottaviano Software developer, Develer CHI SONO Team leader e sviluppatore embedded presso Develer Sviluppo con Qt da 8 anni, mi occupo principalmente di realizzare interfacce

Dettagli

C++ E QT, BINOMIO PERFETTO

C++ E QT, BINOMIO PERFETTO C++ E QT, BINOMIO PERFETTO Luca Ottaviano Software developer, Develer 1 CHI SONO Team leader e sviluppatore embedded presso Develer Sviluppo con Qt da 8 anni, mi occupo principalmente di realizzare interfacce

Dettagli

Introduzione al mondo Qt Qt Creator, il framework e una prima applicazione

Introduzione al mondo Qt Qt Creator, il framework e una prima applicazione Introduzione al mondo Qt Qt Creator, il framework e una prima applicazione Politecnico Open unix Labs Corso programmazione Qt e KDE Indice Una breve panoramica Strutture dati Tipi di dato semplici Contenitori

Dettagli

Introduzione a Qt. Marco Martin

Introduzione a Qt. Marco Martin Introduzione a Qt Marco Martin Cos'è Qt Insieme modulare di librerie in C++ Framework per la costruzione di UI Cross platform: Linux, Mac, Windows, Symbian, Android... Cross device: desktop e mobile Iniziato

Dettagli

ANDROID. Domenico Talia. Università della Calabria. talia@dimes.unical.it

ANDROID. Domenico Talia. Università della Calabria. talia@dimes.unical.it ANDROID Domenico Talia Università della Calabria talia@dimes.unical.it Sistemi Operativi per Mobile! I sistemi operativi per sistemi mobili seguono i principi dei SO classici ma devono gestire risorse

Dettagli

Sistemi embedded un dispositivo incapsulato progettato per una determinata applicazione

Sistemi embedded un dispositivo incapsulato progettato per una determinata applicazione Sistemi embedded esistono molte definizioni nessuna universalmente riconosciuta. In generale con sistema embedded si intende un dispositivo incapsulato all'interno del sistema da controllare progettato

Dettagli

Mono per sistemi embedded

Mono per sistemi embedded MonoDay 2010 Mono per sistemi embedded Ing. Torello Querci Resp. Architetture SW - Negens S.r.l. querci@negens.com 29 Aprile 2010, Salerno Agenda Cosa si intende per sistemi embedded Come si programmano

Dettagli

Come valutare e scegliere un Sistema Operativo Embedded

Come valutare e scegliere un Sistema Operativo Embedded Come valutare e scegliere un Sistema Operativo Embedded Valter Minute Adeneo Embedded vminute@adeneo-embedded.com ARM e sistemi operativi Milioni di dispositivi contengono processori ARM Per sfruttare

Dettagli

Introduzione a API e game engine per la programmazione grafica

Introduzione a API e game engine per la programmazione grafica Introduzione a API e game engine per la programmazione grafica OpenGL e WebGL Davide Gadia Corso di Programmazione Grafica per il Tempo Reale Laurea Magistrale in Informatica per la Comunicazione a.a.

Dettagli

Luca Ottaviano. Ottimizzare applicazioni Qt Gui. Firenze, 8 luglio 2013

Luca Ottaviano. Ottimizzare applicazioni Qt Gui. Firenze, 8 luglio 2013 Luca Ottaviano Ottimizzare applicazioni Qt Gui Firenze, 8 luglio 2013 Chi sono Luca Ottaviano lottaviano@develer.com @lucaotta Sviluppatore su sistemi embedded presso Develer Qt certified developer Sviluppatore

Dettagli

Prof. Pagani Corrado INGEGNERIA DEL SOFTWARE

Prof. Pagani Corrado INGEGNERIA DEL SOFTWARE Prof. Pagani Corrado INGEGNERIA DEL SOFTWARE INTRODUZIONE L ingegneria del software è la disciplina tecnologica e gestionalerelativa alla realizzazione sistematica e alla manutenzione di un software rispettando

Dettagli

www.italiancpp.org Conoscete Windows Bridge?

www.italiancpp.org Conoscete Windows Bridge? Conoscete Windows Bridge? Con Windows 8, Microsoft ha introdotto Windows Runtime (WinRT), un'evoluzione dell app model di Windows, che doveva essere un'architettura applicativa comune, ma non lo è stato

Dettagli

Capitolo 1 Introduzione a Gambas

Capitolo 1 Introduzione a Gambas Capitolo 1 Introduzione a Gambas Gambas è stato creato inizialmente da Benoit Minisini, un residente della periferia di Parigi. Secondo Benoit, Gambas è un linguaggio Basic con estensioni per la programmazione

Dettagli

SOMMARIO. Programmazione orientata agli eventi. Programmazione orientata agli eventi. Programmazione orientata agli eventi

SOMMARIO. Programmazione orientata agli eventi. Programmazione orientata agli eventi. Programmazione orientata agli eventi SOMMARIO Programmazione orientata agli eventi Graphical User Interface (GUI) Programmazione in Windows MFC GUI multipiattaforma Qt Applicazione di esempio (Qt) Programmazione orientata agli eventi Un evento

Dettagli

Novità di Visual Studio 2008

Novità di Visual Studio 2008 Guida al prodotto Novità di Visual Studio 2008 Introduzione al sistema di sviluppo di Visual Studio Visual Studio Team System 2008 Visual Studio Team System 2008 Team Foundation Server Visual Studio Team

Dettagli

Strumenti per lo sviluppo del software

Strumenti per lo sviluppo del software Lo sviluppo del software Strumenti per lo sviluppo del software Lo sviluppo del software è l attività centrale del progetto e ha lo scopo di produrre il codice sorgente che, una volta compilato e messo

Dettagli

Sviluppo di applicazioni mobili su piattaforma Maemo

Sviluppo di applicazioni mobili su piattaforma Maemo tesi di laurea Anno Accademico 2009/2010 relatore Ch.mo prof. Marcello Cinque candidato Giovanni Fortini Matr. 534/2169 Contesto e contributo Sistemi operativi per dispositivi mobili Sviluppo di un applicazione

Dettagli

Virtualizzazione. Di tutti. Per tutti.

Virtualizzazione. Di tutti. Per tutti. Virtualizzazione. Di tutti. Per tutti. Autore: Claudio Cardinali Email: claudio@csolution.it 1 Agenda L.T.S.P. Linux Terminal Server Project Virtualizzazione K.V.M. Kernel Based Virtual Machine Deploy

Dettagli

Corso Linux ARCES. Lezione 2: Lavorare in ambiente grafico

Corso Linux ARCES. Lezione 2: Lavorare in ambiente grafico Corso Linux ARCES Lezione 2: Lavorare in ambiente grafico Un pò di storia... Il Graphical User Interface fu inventato dai ricercatori dello Standford Research institute; Il progetto fu poi ampliato da

Dettagli

Software. Definizione, tipologie, progettazione

Software. Definizione, tipologie, progettazione Software Definizione, tipologie, progettazione Definizione di software Dopo l hardware analizziamo l altra componente fondamentale di un sistema di elaborazione. La macchina come insieme di componenti

Dettagli

Linux in ambito smartphone e introduzione

Linux in ambito smartphone e introduzione Linux in ambito smartphone e introduzione a SailfishOS Gianguido Sorà gianguidorama@gmail.com 24 ottobre 2014 Perché Linux? Il kernel Linux è famoso per scalabilità ed affidabilità, oltre che per il suo

Dettagli

L i n u x @ B e s t a 2 0 0 7. Mario Di Raimondo

L i n u x @ B e s t a 2 0 0 7. Mario Di Raimondo L i n u x @ B e s t a 2 0 0 7 Evoluzione delle architetture grafiche sui sistemi Open Source Mario Di Raimondo I S i s t e m i U N I X d i i e r i X W i n d o w S y s t e m X Window System (X11) è il sistema

Dettagli

Introduzione Il programma di formazione base di Movicon prevede la disponibilità di nr. 10 moduli, così suddivisibili:

Introduzione Il programma di formazione base di Movicon prevede la disponibilità di nr. 10 moduli, così suddivisibili: Introduzione Il programma di formazione base di Movicon prevede la disponibilità di nr. 10 moduli, così suddivisibili: Corso base 1 = nr. 5 moduli, 1 gg. presso sede Progea o centro autorizzato Corso base

Dettagli

Sistemi Mobili e Wireless Android Introduzione alla piattaforma

Sistemi Mobili e Wireless Android Introduzione alla piattaforma Sistemi Mobili e Wireless Android Introduzione alla piattaforma Stefano Burigat Dipartimento di Matematica e Informatica Università di Udine www.dimi.uniud.it/burigat stefano.burigat@uniud.it Cos'è Android?

Dettagli

KASPERSKY SECURITY FOR BUSINESS

KASPERSKY SECURITY FOR BUSINESS SECURITY FOR BUSINESS Le nostre tecnologie perfettamente interoperabili Core Select Advanced Total Gestita tramite Security Center Disponibile in una soluzione mirata Firewall Controllo Controllo Dispositivi

Dettagli

Novità della. versione 12?

Novità della. versione 12? NETSUPPO RT R MANAGE 12 Novità della versione 12? NetSupport Manager continua a proporre le ultimissime funzionalità per il supporto dei PC e la gestione dei desktop da remoto. Permette di monitorare più

Dettagli

Applicazioni mobile Perchè investire e quali tecnologie usare

Applicazioni mobile Perchè investire e quali tecnologie usare GIANLUCA VAGLIO Applicazioni mobile Perchè investire e quali tecnologie usare 2010 Gianluca Vaglio www.gianlucavaglio.net Avvertenze legali AVVERTENZE LEGALI Copyright 2010 Gianluca Vaglio. La presente

Dettagli

Il CMS Moka. Giovanni Ciardi Regione Emilia Romagna

Il CMS Moka. Giovanni Ciardi Regione Emilia Romagna Il CMS Moka Giovanni Ciardi Regione Emilia Romagna Moka è uno strumento per creare applicazioni GIS utilizzando oggetti (cartografie, temi, legende, database, funzioni) organizzati in un catalogo condiviso.

Dettagli

Corso di Laurea in Matematica. Seminario C/C++ Lorenzo Dusty Costa. Università degli Studi di Milano Dipartimento di Matematica

Corso di Laurea in Matematica. Seminario C/C++ Lorenzo Dusty Costa. Università degli Studi di Milano Dipartimento di Matematica Corso di Laurea in Matematica Seminario C/C++ Costa Università degli Studi di Milano Dipartimento di Matematica 19 Ottobre 2011 Cos'é un'ide IDE = Integrated Development Environment Consiste in: Editor

Dettagli

Streaming Tool per CoFFEE

Streaming Tool per CoFFEE Streaming Tool per CoFFEE a cura di Gerardo Lombardo CoFFEE Cooperative Face-to-Face Educational Environment Groupware Suite di applicazioni distribuite (in LAN) per il problem solving collaborativo in

Dettagli

Processo di Sviluppo delle Applicazioni

Processo di Sviluppo delle Applicazioni Processo di Sviluppo delle Applicazioni La realizzazione di un applicazione come Vivere Ateneo App Domenico Zarcone Ognuno ha il suo ambiente Quali sono gli ambienti integrati di sviluppo più utilizzati?

Dettagli

Gianluigi Magnasco easitec S.r.l. Parma, 16 Settembre 2010

Gianluigi Magnasco easitec S.r.l. Parma, 16 Settembre 2010 Soft Control facile con RTX e Windows Embedded Standard 7 RTX 2009: funzionalità ed uso pratico Gianluigi Magnasco easitec S.r.l. Parma, 16 Settembre 2010 Definizione di Sistema Tempo Reale: Definizione

Dettagli

Ottimizzazione dello sviluppo software con Microsoft Visual Studio 2008

Ottimizzazione dello sviluppo software con Microsoft Visual Studio 2008 Ottimizzazione dello sviluppo software con Microsoft Visual Studio 2008 White paper Novembre 2007 Per informazioni aggiornate, visitare l indirizzo www.microsoft.com/italy/vstudio È possibile che a questo

Dettagli

INTRODUZIONE ALLE PIATTAFORME

INTRODUZIONE ALLE PIATTAFORME INTRODUZIONE ALLE PIATTAFORME Android ios Windows Phone 8 Android 2 Cos è Android? Un moderno open-source sistema operativo Componenti: Linux kernel Java Core applications 3 Perché è stato un successo

Dettagli

LA TUA PRIMA APP CON CORDOVA

LA TUA PRIMA APP CON CORDOVA LA TUA PRIMA APP CON CORDOVA Dedicato a. Gianluca ed Enza, due persone speciali Autore: Gianpiero Fasulo www.gfasulo.it - Pag. 2 COPYRIGHT La tua prima APP con CORDOVA Tutti i diritti riservati. Nessuna

Dettagli

Capitolo 2 -- Silberschatz

Capitolo 2 -- Silberschatz Struttura dei Sistemi Operativi Capitolo 2 -- Silberschatz Struttura di un sistema operativo Servizi di un sistema operativo Interfaccia Utente Chiamate di sistema Tipi di chiamate Programma di sistema

Dettagli

Sistemi Operativi. Funzioni e strategie di progettazione: dai kernel monolitici alle macchine virtuali

Sistemi Operativi. Funzioni e strategie di progettazione: dai kernel monolitici alle macchine virtuali Modulo di Sistemi Operativi per il corso di Master RISS: Ricerca e Innovazione nelle Scienze della Salute Unisa, 17-26 Luglio 2012 Sistemi Operativi Funzioni e strategie di progettazione: dai kernel monolitici

Dettagli

Struttura di un sistema operativo. Struttura dei Sistemi Operativi. Servizi per l utente generico. Servizi per l utente generico

Struttura di un sistema operativo. Struttura dei Sistemi Operativi. Servizi per l utente generico. Servizi per l utente generico Impossibile visualizzare l'immagine. Struttura di un sistema operativo Struttura dei Sistemi Operativi Servizi di un sistema operativo Interfaccia Utente Capitolo 2 -- Silberschatz Chiamate di sistema

Dettagli

Strutture dei Sistemi Operativi

Strutture dei Sistemi Operativi Strutture dei Sistemi Operativi Componenti di sistema Servizi del sistema operativo Chiamate di sistema Programmi di sistema Struttura del sistema Macchine virtuali Progetto e implementazione di sistemi

Dettagli

Programmazione in ambiente

Programmazione in ambiente Università Politecnica delle Marche Dipartimento di Ingegneria dell Informazione Programmazione in ambiente Android Laura Montanini - laura.montanini@univpm.it Corso di Tecnologie per le TLC 2013-2014

Dettagli

Corso di Sistemi Operativi DEE - Politecnico di Bari. Windows vs LINUX. G. Piscitelli - M. Ruta. 1 di 20 Windows vs LINUX

Corso di Sistemi Operativi DEE - Politecnico di Bari. Windows vs LINUX. G. Piscitelli - M. Ruta. 1 di 20 Windows vs LINUX Windows vs LINUX 1 di 20 Windows vs LINUX In che termini ha senso un confronto? Un O.S. è condizionato dall architettura su cui gira Un O.S. è condizionato dalle applicazioni Difficile effettuare un rapporto

Dettagli

Progetto: JNSIL LEAF. Presentazione: nuova procedura Java based e cross Platform per la gestione di LEAsing e Finanziamenti

Progetto: JNSIL LEAF. Presentazione: nuova procedura Java based e cross Platform per la gestione di LEAsing e Finanziamenti Progetto: JNSIL LEAF Presentazione: nuova procedura Java based e cross Platform per la gestione di LEAsing e Finanziamenti Negli ultimi anni si è diffuso il trend di trasformare applicazioni pensate per

Dettagli

Corso App modulo Android. Antonio Gallo info@laboratoriolibero.com

Corso App modulo Android. Antonio Gallo info@laboratoriolibero.com Corso App modulo Android Antonio Gallo info@laboratoriolibero.com Strumentazione: PC + smartphone Android + cavo micro USB per connessione Framework Phonegap SDK di Android JDK (Java) Eclipse (opzionale)

Dettagli

Oracle Solaris Studio 12.4: Guida per la sicurezza

Oracle Solaris Studio 12.4: Guida per la sicurezza Oracle Solaris Studio 12.4: Guida per la sicurezza N. di parte: E60509 Ottobre 2014 Copyright 2013, 2014, Oracle e/o relative consociate. Tutti i diritti riservati. Il software e la relativa documentazione

Dettagli

Progettazione e realizzazione di una GUI multi-piattaforma per applicazioni mediche in 2D

Progettazione e realizzazione di una GUI multi-piattaforma per applicazioni mediche in 2D UNIVERSITÀ DEGLI STUDI DI BOLOGNA FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea in Scienze dell Informazione Progettazione e realizzazione di una GUI multi-piattaforma per applicazioni

Dettagli

2. Strutture dei Sistemi Operativi

2. Strutture dei Sistemi Operativi 1 2. Strutture dei Sistemi Operativi Quali servizi un generico sistema operativo mette a disposizione degli utenti, e dei programmi che gli utenti vogliono eseguire? interfaccia col sistema operativo stesso

Dettagli

Le soluzioni per lo sviluppo di applicazioni Web e Mobile in ambiente Power i.

Le soluzioni per lo sviluppo di applicazioni Web e Mobile in ambiente Power i. Le soluzioni per lo sviluppo di applicazioni Web e Mobile in ambiente Power i. Elena M. Brambilla Technical Account Manager - Zend Technologies Chi sono io. Elena M. Brambilla Technical Account & Training

Dettagli

Approccio stratificato

Approccio stratificato Approccio stratificato Il sistema operativo è suddiviso in strati (livelli), ciascuno costruito sopra quelli inferiori. Il livello più basso (strato 0) è l hardware, il più alto (strato N) è l interfaccia

Dettagli

NozionidiBase di Informatica

NozionidiBase di Informatica Università degli Studi di Parma Facoltà di Scienze MM.FF.NN. Corso di Laurea in Informatica NozionidiBase di Informatica Roberto Alfieri Giulio Destri Nozioni Base di Informatica - 1 R. Alfieri e G. Destri

Dettagli

Indice degli argomenti del s.o. Software. Software. Buona lezione a tutti!! SISTEMI OPERATIVI

Indice degli argomenti del s.o. Software. Software. Buona lezione a tutti!! SISTEMI OPERATIVI Buona lezione a tutti!! SISTEMI OPERATIVI Gli appunti sono disponibili per tutti gratis sul sito personale del Prof M. Simone al link: www.ascuoladi.135.it nella pagina web programmazione, sezione classi

Dettagli

Suite OpenOffice. Introduzione a

Suite OpenOffice. Introduzione a Suite OpenOffice Introduzione a Cosa è OpenOffice.org? OpenOffice.org è una suite per ufficio composta da: elaboratore di testi foglio di calcolo creatore di presentazioni gestore di basi di dati Writer

Dettagli

Scuola Professionale e Filologica Geom. F.Borgogna Vercelli

Scuola Professionale e Filologica Geom. F.Borgogna Vercelli Scuola Professionale e Filologica Geom. F.Borgogna Vercelli Corsi ANDROID 2013/2014 Benvenuti nel mondo dinamico dello sviluppo di applicazioni per smartphone e tablet Android Corsi ANDROID 2013/2014 L

Dettagli

Programmare con Qt4. Ing. Giovanni Venturi Roma, 27 ottobre 2007 - Linux Day

Programmare con Qt4. Ing. Giovanni Venturi Roma, 27 ottobre 2007 - Linux Day Immagine Ing. Giovanni Venturi - http://www.kde-it.org/ - Roma - Linux Day 2007 1/ Ing. Giovanni Venturi Roma, 27 ottobre 2007 - Linux Day rilasciato con Creative Commons Attribuzione-Non commerciale-condividi

Dettagli

Porting (o cambio strategico) da un embedded proprietario a un Linux Embedded. problemi, soluzioni... ed esperienze in evoluzione

Porting (o cambio strategico) da un embedded proprietario a un Linux Embedded. problemi, soluzioni... ed esperienze in evoluzione Porting (o cambio strategico) da un embedded proprietario a un Linux Embedded problemi, soluzioni... ed esperienze in evoluzione commitsoftware consulting, engineering, project delivery rich-client & web

Dettagli

Software. Algoritmo. Algoritmo INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042)

Software. Algoritmo. Algoritmo INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042) INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042) Gli elaboratori utilizzano memoria per Dati da elaborare Istruzioni eseguite dall elaboratore software differenti risoluzione problemi differenti Algoritmo

Dettagli

Software Open Source per sistemi embedded

Software Open Source per sistemi embedded Software Open Source per sistemi embedded Alberto Ferrante OSLab ALaRI, Facoltà di Informatica Università della Svizzera italiana ferrante@alari.ch Outline Introduzione Perché usare il software OS in ambito

Dettagli

Informatica. Prof. A. Longheu. Introduzione a Java

Informatica. Prof. A. Longheu. Introduzione a Java Informatica Prof. A. Longheu Introduzione a Java 1 Code-Name Green Nome del progetto Sun con l obiettivo di fornire intelligent consumer-electronic devices. Il risultato fu Oak Un linguaggio basato su

Dettagli

Open Core Engineering Libertà ed efficienza nelle vostre mani

Open Core Engineering Libertà ed efficienza nelle vostre mani Open Core Engineering Libertà ed efficienza nelle vostre mani Nuove opportunità per affrontare le attuali sfide nella progettazione di software Cicli di vita dei prodotti sempre più brevi stanno alimentando

Dettagli

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software di sistema e software applicativo I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software soft ware soffice componente è la parte logica

Dettagli

MagiCum S.r.l. Progetto Inno-School

MagiCum S.r.l. Progetto Inno-School MagiCum S.r.l. Progetto Inno-School Area Web Autore: Davide Revisione: 1.2 Data: 23/5/2013 Titolo: Innopedia File: Documentazione_tecnica Sito: http://inno-school.netsons.org/ Indice: 1. Presentazione

Dettagli

Introduzione ad Android

Introduzione ad Android Introduzione ad Android Android Day 15 dicembre 2014 Oggi parleremo di Il mondo mobile oggi Perché scegliere la piattaforma Android Possibilità di lavoro Creare un App Come iniziare lo sviluppo Consigli

Dettagli

Corso: Informatica+ Andrea Cremonini. Lezione del 09/02/2015

Corso: Informatica+ Andrea Cremonini. Lezione del 09/02/2015 Corso: Informatica+ Andrea Cremonini Lezione del 09/02/2015 1 Office Automation 1/2 Con la definizione di Office Automation ci riferiamo a computer e software usati per creare digitalmente, raccogliere,

Dettagli

I Server. Andrea Sommaruga: I server e le OSC (12:15-13:00) I Sistemi Operativi alternativi: Distribuzioni Linux,

I Server. Andrea Sommaruga: I server e le OSC (12:15-13:00) I Sistemi Operativi alternativi: Distribuzioni Linux, I Server Andrea Sommaruga: I server e le OSC (12:15-13:00) I Sistemi Operativi alternativi: Distribuzioni Linux, FreeBSD, ecc. Apache / Tomcat / Jakarta / Samba e l'accesso a Windows Antivirus, firewall,

Dettagli

PROGRAMMA FORMAZIONE SCADA/HMI MOVICON

PROGRAMMA FORMAZIONE SCADA/HMI MOVICON PROGRAMMA FORMAZIONE SCADA/HMI MOVICON Il programma di formazione Movicon prevede la disponibilità dei seguenti corsi: Corso base : Nr. 1 gg. Presso sede Progea o centro autorizzato. Su accordo, presso

Dettagli

Giuseppe Capizzi. Ambienti di sviluppo Open Source

Giuseppe Capizzi. Ambienti di sviluppo Open Source Giuseppe Capizzi Ambienti di sviluppo Open Source Stanchi del solito editor? IDE (Integrated Development Environment, Ambiente di Sviluppo Integrato) Editor Sistema di build Debugger Test Controllo di

Dettagli

Automazione di Test di Sistemi Embedded. Sintesi

Automazione di Test di Sistemi Embedded. Sintesi UNIVERSITÀ DEGLI STUDI DI MILANO - BICOCCA Facoltà di Scienze Matematiche, Fisiche e Naturali Dipartimento di Informatica Sistemistica e Comunicazione Corso di Laurea Magistrale in Informatica Automazione

Dettagli

Java & Linux. Stefano Sanna Gruppo Utenti Linux Cagliari

Java & Linux. Stefano Sanna Gruppo Utenti Linux Cagliari Java & Linux Perché Java e Linux? Linux è un ottimo sistema operativo, disponibile per piattaforme desktop, server e su sistemi embedded. Java è un ottimo linguaggio di programmazione, con una libreria

Dettagli

1.2.1.1 DEFINIZIONE DI SOFTWARE

1.2.1.1 DEFINIZIONE DI SOFTWARE Software 1.2 1.2.1.1 DEFINIZIONE DI SOFTWARE Il computer non è in grado di svolgere alcun compito autonomamente Esso può eseguire svariati compiti soltanto se viene opportunamente istruito Ciò avviene

Dettagli

BREVE GUIDA ALL UTILIZZO DI BFTC

BREVE GUIDA ALL UTILIZZO DI BFTC BREVE GUIDA ALL UTILIZZO DI BFTC Rev. 1.0.0 11 Ottobre 2014 Digital Technology Art srl Digital Technology Art srl BFTC Introduzione 1 INDICE INTRODUZIONE INSTALLAZIONE IMPOSTARE IL PLUG IN CREARE UN NUOVO

Dettagli

Accesso ai dati in C++ moderno

Accesso ai dati in C++ moderno Accesso ai dati in C++ moderno Correttezza, sicurezza e altre cose da nulla Nicola Gigante C++ User Group Udine Italian C++ Meetup - Pordenone - 7 febbraio 2015 Chi siamo C++ User Group Udine Nato alla

Dettagli

Stampa di dati variabili (VDP)

Stampa di dati variabili (VDP) 2014 Electronics For Imaging. Per questo prodotto, il trattamento delle informazioni contenute nella presente pubblicazione è regolato da quanto previsto in Avvisi legali. 9 giugno 2014 Indice 3 Indice

Dettagli

LPIC-1 Junior Level Linux Certification

LPIC-1 Junior Level Linux Certification Corso 2012/2013 Introduzione a GNU/Linux Obiettivi Il percorso formativo ha l obiettivo di fornire ai partecipanti le competenze basilari necessarie per installare, configurare e gestire un server/workstation

Dettagli

La prossima ondata di innovazione aziendale introdotta da Open Network Environment

La prossima ondata di innovazione aziendale introdotta da Open Network Environment Panoramica della soluzione La prossima ondata di innovazione aziendale introdotta da Open Network Environment Panoramica La crescente importanza dei ruoli assunti da tecnologie come cloud, mobilità, social

Dettagli

Appunti della lezione del 8/10/2008 del corso di Basi di dati I - Università del Salento

Appunti della lezione del 8/10/2008 del corso di Basi di dati I - Università del Salento Appunti della lezione del 8/10/2008 del corso di Basi di dati I - Università del Salento Tecnologie per lo sviluppo di applicazioni La tendenza attuale dell'ingegneria è quella dell'integrazione di componenti

Dettagli

Fare software nel 2008: l Open Source e il ruolo delle imprese

Fare software nel 2008: l Open Source e il ruolo delle imprese Dipartimento di Elettronica e Informazione Fare software nel 2008: l Open Source e il ruolo delle imprese Eugenio Capra eugenio.capra@polimi.it IBM Softwareland, Monza, 18 settembre 2008 Cos è l Open Source?

Dettagli

PHP ), con l'introduzione di un middleware quale Zend Framework a

PHP ), con l'introduzione di un middleware quale Zend Framework a Quella che segue è la rappresentazione ad alto livello dell'architettura proposta per il sistema in corso di realizzazione. In questa fase non vengono ancora affrontate le tematiche di sicurezza, load

Dettagli

Pieces of Technology at your service. Jtest

Pieces of Technology at your service. Jtest Pieces of Technology at your service Jtest JAVA ANALISI STATICHE, REVISIONE CODICE, UNITÀ DI TEST, RILEVAMENTO ERRORI RUNTIME Jtest è la soluzione di sviluppo e test per applicazioni Java che automatizza

Dettagli

Pubblicare Estensioni per LibreOffice

Pubblicare Estensioni per LibreOffice Copyright Il presente documento è rilasciato sotto Copyright 2011 dei collaboratori di seguito elencati. È possibile distribuire e/o modificare il documento rispettando i termini della GNU General Public

Dettagli

FASE DEBUGGING: Compiler Linker. controllando che la voce Genera le informazioni per il debug cioè. "Generate debugging information"

FASE DEBUGGING: Compiler Linker. controllando che la voce Genera le informazioni per il debug cioè. Generate debugging information FASE DEBUGGING: Prima della compilazione, si devono inserire 1 nel progetto informazioni per il debug cioè si devono visualizzare le opzioni di progetto seguendo il percorso: controllando che la voce Genera

Dettagli

Il.NET Framework. By Dario Maggiari. L architettura del.net Framework è riassunta, nel complesso, nella figura seguente:

Il.NET Framework. By Dario Maggiari. L architettura del.net Framework è riassunta, nel complesso, nella figura seguente: Il.NET Framework By Dario Maggiari L architettura del.net Framework è riassunta, nel complesso, nella figura seguente: Il cuore del.net Framework è costituito dal CLR (Common Language Runtime) che, secondo

Dettagli

Comunità Open Source e PMI. Il caso: Java Open Business

Comunità Open Source e PMI. Il caso: Java Open Business Comunità Open Source e PMI Il caso Java Open Business 5 ottobre 2007 Alessandro De Rossi Centro TeDIS Venice International University Indice I modelli di Business Il caso: Java Open Business 1 Modelli

Dettagli

Installazione Qt/Qt Quick per target Android

Installazione Qt/Qt Quick per target Android Tutorial Qt-Italia.org Installazione Qt/Qt Quick per target Android Prima edizione, Giugno 2015 P. S e r e n o ( h t t p : / / w w w. q t - i t a l i a. o r g ) P a g. 1 19 Questo tutorial è rilasciato

Dettagli

Hydrica 2011, Salone Internazionale Tecnologie Acqua e Ambiente

Hydrica 2011, Salone Internazionale Tecnologie Acqua e Ambiente Applicazioni GIS per il ciclo integrato delle acque: implementazione usando JGrassTools, udig, BeeGIS e EPANET Introduzione Andrea Bosoni, Silvia Franceschi, Davide Righetti andrea.bosoni@gmail.com, silvia.franceschi@hydrologis.eu,

Dettagli

Mobile & Technology. Area di formazione. Corso ios base. Corso ios avanzato. Il mondo delle App: idee, creatività, business.

Mobile & Technology. Area di formazione. Corso ios base. Corso ios avanzato. Il mondo delle App: idee, creatività, business. Area di formazione Mobile & Technology 01 02 03 04 05 Corso ios base Corso ios avanzato Il mondo delle App: idee, creatività, business Progetto App AngularJS - Up and running 01 Corso ios base Ore: 24

Dettagli

Progettazione di Sistemi Interattivi. Gli strati e la rete. Struttura e supporti all implementazione di applicazioni in rete (cenni)

Progettazione di Sistemi Interattivi. Gli strati e la rete. Struttura e supporti all implementazione di applicazioni in rete (cenni) Progettazione di Sistemi Interattivi Struttura e supporti all implementazione di applicazioni in rete (cenni) Docente: Daniela Fogli Gli strati e la rete Stratificazione da un altro punto di vista: i calcolatori

Dettagli

Progetti F.O.S.S. Ieri e Oggi

Progetti F.O.S.S. Ieri e Oggi Progetti F.O.S.S. Ieri e Oggi Progetti F.O.S.S. più famosi Linux NetBSD Gnome KDE MySQL Inkscape blender Gimp Wine Python Java Eclipse OpenOffice emule PostgreSQL VLC Firefox Thunderbird Cos'è Python Python

Dettagli

Corso di Sistemi Operativi DEE - Politecnico di Bari. LINUX - Introduzione. G. Piscitelli - M. Ruta. 1 di 26 LINUX - Introduzione

Corso di Sistemi Operativi DEE - Politecnico di Bari. LINUX - Introduzione. G. Piscitelli - M. Ruta. 1 di 26 LINUX - Introduzione LINUX - Introduzione 1 di 26 LINUX - Introduzione Cos è LINUX? Si tratta di un clone di UNIX Più precisamente è il kernel del S.O. Funzionalità di base Scheduling dei processi Gestione della memoria virtuale

Dettagli

Open Source. Sommaruga Andrea Guido. Collegio dei Geometri e Geometri Laureati della Provincia di Monza e Brianza. Nov 2009

Open Source. Sommaruga Andrea Guido. Collegio dei Geometri e Geometri Laureati della Provincia di Monza e Brianza. Nov 2009 http://sommaruga.stnet.net 1 Open Source Sommaruga Andrea Guido Collegio dei Geometri e Geometri Laureati della Provincia di Monza e Brianza http://sommaruga.stnet.net 2 3 http://sommaruga.stnet.net 3

Dettagli

Strutture dei sistemi operativi

Strutture dei sistemi operativi Contenuti della lezione di oggi Strutture dei sistemi operativi Descrizione dei servizi messi a disposizione dell utente dal SO Utente generico Programmatore Esame delle possibili strutture di un SO Monolitica

Dettagli

Progetto e sviluppo di una Applicazione Android per l accesso a reti di sensori senza filo

Progetto e sviluppo di una Applicazione Android per l accesso a reti di sensori senza filo tesi di laurea Progetto e sviluppo di una Applicazione Android per l accesso a reti di sensori Anno Accademico 2009 2010 relatore Ch.mo prof. Marcello Cinque candidato Nicola Lubrano Matr. 534/1397 Contesto

Dettagli

MonoDay 2010 FSGateway Ing. Torello Querci

MonoDay 2010 FSGateway Ing. Torello Querci MonoDay 2010 FSGateway Ing. Torello Querci Resp. Architetture SW - Negens S.r.l. querci@negens.com 29 Aprile 2010, Salerno Agenda Introduzione FUSE e mono-fuse Come funziona Cosa supporta Esempi d'uso

Dettagli

Un Sistema Location-based per la mappatura degli Access Point

Un Sistema Location-based per la mappatura degli Access Point 1 Un Sistema Location-based per la mappatura degli Access Point Pasquale Cautela pasquale.cautela@studio.unibo.it Marco Peca marco.peca@studio.unibo.it Rosario Salpietro rosario.salpietro@studio.unibo.it

Dettagli

Sistemi Operativi. Introduzione. C.d.L. in Informatica (laurea triennale) Anno Accademico 2009-2010. Dipartimento di Matematica e Informatica Catania

Sistemi Operativi. Introduzione. C.d.L. in Informatica (laurea triennale) Anno Accademico 2009-2010. Dipartimento di Matematica e Informatica Catania Sistemi Operativi C.d.L. in Informatica (laurea triennale) Anno Accademico 2009-2010 Dipartimento di Matematica e Informatica Catania Introduzione Prof. Mario Di Raimondo Sistemi Operativi 9 CFU (72 ore)

Dettagli

Sistemi Operativi per Sistemi di Elaborazione Ubiqui

Sistemi Operativi per Sistemi di Elaborazione Ubiqui Griglie e Sistemi di Elaborazione Ubiqui Sistemi Operativi per Sistemi di Elaborazione Ubiqui Griglie e Sistemi Ubiqui - D. Talia - UNICAL 1 Sistemi Operativi per Ubiquitous Computing Palm OS Symbian OS

Dettagli

OpenVAS - Open Source Vulnerability Scanner

OpenVAS - Open Source Vulnerability Scanner OpenVAS - Open Source Vulnerability Scanner di Maurizio Pagani Introduzione OpenVAS è un framework che include servizi e tool per la scansione e la gestione completa delle vulnerabilità. Un vulnerability

Dettagli

Parte VI SISTEMI OPERATIVI

Parte VI SISTEMI OPERATIVI Parte VI SISTEMI OPERATIVI Sistema Operativo Ogni computer ha un sistema operativo necessario per eseguire gli altri programmi Il sistema operativo, fra l altro, è responsabile di riconoscere i comandi

Dettagli

SERVER E VIRTUALIZZAZIONE. Windows Server 2012. Guida alle edizioni

SERVER E VIRTUALIZZAZIONE. Windows Server 2012. Guida alle edizioni SERVER E VIRTUALIZZAZIONE Windows Server 2012 Guida alle edizioni 1 1 Informazioni sul copyright 2012 Microsoft Corporation. Tutti i diritti sono riservati. Il presente documento viene fornito così come

Dettagli

Evoluzione dei sistemi operativi (5) Evoluzione dei sistemi operativi (4) Classificazione dei sistemi operativi

Evoluzione dei sistemi operativi (5) Evoluzione dei sistemi operativi (4) Classificazione dei sistemi operativi Evoluzione dei sistemi operativi (4) Sistemi multiprogrammati! più programmi sono caricati in contemporaneamente, e l elaborazione passa periodicamente dall uno all altro Evoluzione dei sistemi operativi

Dettagli

Confronto tra VMware Zimbra e le principali piattaforme di posta elettronica e collaborazione

Confronto tra VMware Zimbra e le principali piattaforme di posta elettronica e collaborazione Confronto tra VMware Zimbra e le principali piattaforme di posta elettronica e collaborazione W H I T E PA P E R : Z I M B R A E L A C O N C O R R E N Z A Introduzione La posta elettronica è un'applicazione

Dettagli