cordova - react - redux the mobile application

Documenti analoghi
Sviluppo di un applicazione di front-end per il monitoraggio di un Isola Ecologica

Corso App modulo Android. Antonio Gallo

PhoneGap Build. Adobe s cloud mobile apps packager

Struttura progetto Phonegap/Cordova. Antonio Gallo

How I met your platform PROGETTAZIONE E SVILUPPO DI APP CROSS-PLATFORM CON XAMARIN E MVVMCROSS

Applicazione: GAS - Gestione AcceSsi

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

phonegap cross-platform made easy

LA TUA PRIMA APP CON CORDOVA

SCUOLA POLITECNICA. 1 semestre Facoltativa Voto in trentesimi

Sviluppo su Android. Linux Day Torino 2010

phonegap cross-platform made easy

phonegap cross-platform made easy

FODD 2015 Mobile App

Ingegneria del Software 1: Eclipse

Bojan Vidanovic. Sviluppatore Web & Hybrid Mobile App. Profilo. Istruzione. "Il mio lavoro è la mia passione."

Applicazione: SIPER Servizi In linea per il PERsonale

Analisi e utilizzo di un framework per lo sviluppo di applicazioni web

Area di formazione. Mobile & Technology. Ingolosito dalle nuove tecnologie? Appassionato di sviluppo App e Mobile? Corso ios avanzato Swift

Framework di seconda generazione per la creazione di app ibride: Ionic

CROSS PLATFORM APP CON HTML, CSS E JS

ASP.NET MVC: non solo «tennologgia»

Progetto di Informatica III. Introduzione al corso

Indice generale. Ringraziamenti...xi. Introduzione...xv. Capitolo 1 Tweet di benvenuto in ios Programmazione in ios...23

Fondamenti di sviluppo mobile su Android

DUCKMA SRL BACKEND DEVELOPER

MOBILE iphone. Prerequisiti : conoscenza di base Windows e Internet. Durata : 15 Lezioni ; 1.5 ore ciascuna. RENI dott. Eugenio

Reverse Engineering di Rich Internet Applications basate su AJAX

v App Inventor

CORSO DI PROGRAMMAZIONE ios BASE IN LINGUAGGIO NATIVO OBJECTIVE-C

Solution Integrator 18/06/16.


Smart Cities and Communities and Social Innovation Bando MIUR. D.D. 391/Ric. del 5 luglio Application Store

I MODULI SOFTWARE. Wireless Network. Internet

liceo B. Russell PROGRAMMAZIONE INDIRIZZO: SCIENTIFICO SCIENZE APPLICATE TRIENNIO: TERZA DISCIPLINA: INFORMATICA

Docenti: Patrizia Scandurra (referente princiaple) Angelo Gargantini.

GUIDA ALL ATTIVAZIONE DEL MOBILE TOKEN

App Hotels Applicazione per smartphone

Relazione di Tirocinio presso STMicroelectronics

Dipartimento di Matematica

Linee guida progetto IS. Linee guida progetto IS

Tecniche di progettazione e sviluppo di applicazioni mobile

Esercitazione sul Sistema Android

Università degli Studi Mediterranea di Reggio Calabria. Analisi di approcci per la gestione multipiattaforma di app mobile.

INTRODUZIONE AD OMNET++

26-28 Luglio Angular 2. One framework. Mobile and desktop.

L ambiente di sviluppo Android Studio

Indice generale. Introduzione...xv. Parte I Per iniziare Capitolo 1 Introduzione allo sviluppo ios con tecnologie web...3

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

La Platform as a Service di Google. Vincenzo Gianferrari Pini <vgp@gocloud.it>

Sistema Operativo (Software di base)

APPCELERATION TITANIUM

Guida introduttiva su Eclipse. Ing. Marco Dell'Unto

Sommario. Le App di oggi. Idee e primi prototipi. Un esempio di Hybrid Application: «SmartApp Salerno» per i Beni Culturali

aggiunge del testo nella parte finale del tag, in questo caso la stringa da controllare.

Strumenti per l automazione del testing di applicazioni web Javascript-based

INTRODUZIONE ALLE PIATTAFORME

Ariel David Techiouba

Software utilizzato per le esercitazioni

Events: Track your favorite artists

THE BRAIN BEHIND YOUR BUSINESS

Programmazione in ambiente

Processo di Sviluppo delle Applicazioni

Installazione e Configurazione della strumentazione necessaria. Antonio Gallo info@laboratoriolibero.com

AngularJS: un framework di frontiera per la realizzazione di siti Web

Solution Integrator 28/12/16.

Automatizzazione della procedura di testing di CARDAMON. Massimo Ficco Roberto Pietrantuono

Sviluppo di un applicazione mobile per la gestione degli interventi tecnici tramite geolocalizzazione

Sistemi Mobili e Wireless Android Primi passi

Lezione di Basi di Dati 1 18/11/ TECNOLOGIE PER IL WEB: CGI - AJAX SERVLETS & JSP

Programmazione Java Avanzata

Linux Ubuntu e l'utilizzo di File Multimediali

Configuratore di Prodotto Diapason

D3.2 Documento illustrante l architettura 3D Cloud per la realizzazione di servizi in modalità SaaS

Roma, 19 ottobre 2012 ROMA CAPITALE. OPENDATA Proposta per lo sviluppo di un APP per l offerta di servizi innovativi ai cittadini

MODEL-VIEW-CONTROLLER PROBLEMA

CakePHP Creare un'applicazione con CakePHP. massimoi@impronta48.it

Realizzazione di uno strumento web-based per la simulazione remota di reti di sensori senza filo

Ambienti di Sviluppo

Laboratorio di Elaborazione e Trasmissione Video

Android Material. Toolbar, FAB buttons, Dailogs

Telematica II 5. Esercitazione/Laboratorio 1

Programmare server. Programmazione Web 1

sito web sito Internet

Programmazione: Sommario

Modulo III - Creazione di documenti, presentazioni e report

LA BANDA DEI NOTTURNI CON SCRATCH

Scuola Professionale e Filologica Geom. F.Borgogna Vercelli

Componenti Web: client-side e server-side

Requisiti: Obiettivi: Procedimento:

Gianni Valdambrini. Everywhere

ANDROID. Domenico Talia. Università della Calabria.

Corso Online. We Train Italy

Corsi di Ingegneria del Software / Interazione Uomo - Macchina Paolo Bottoni

Telephony Appliance BNTA 2.0 Guida Rapida per l installazione

Indice. Introduzione PARTE PRIMA IL FRAMEWORK DI JAVASERVER FACES 1

Servizi web. Crazione & restyling di siti professionali DESIGN LA NOSTRA PASSIONE

Parte II. Introduzione ai sistemi operativi e WindowsX. Parte II 1

Manuale per il Software Bluetooth di Aggiornamento Utilizzando un Dispositivo Android IVE-W530BT

PER RINNOVARE IL SITO DEL JUG TRENTO. Riccardo Tasso

Transcript:

cordova - react - redux the mobile application

Cordova Web View Motore di rendering HTML. Web App L applicazione viene implementata utilizzando le tecnologie web come HTML, CSS e JavaScript e viene eseguita in una WebView wrappata da un applicazione nativa. Plugins Forniscono un interfaccia per la comunicazione tra Cordova e i componenti nativi, permettendoti di invocare codice nativo da JavaScript. 2

React React è una libreria JS per creare interfacce utente, creata ed utilizzata da Facebook ed Instagram. Solitamente si pensa a React come la V in MVC. React è stato creato con lo scopo di risolvere un problema: sviluppare applicazioni di grandi dimensioni il cui stato cambia nel tempo. 3

React Gestisce l aggiornamento dell UI appena lo stato dell app cambia (Virtual DOM). Sviluppo di componenti riutilizzabili, favorendo il riutilizzo del codice, il testing ed il debugging. 4

Flux Flux è un pattern architetturale utilizzato da Facebook nello sviluppo client-side delle web-app. Utilizzato in complemento a React, fornisce un data-flow unidirezionale. 5

Redux Redux è una delle implementazioni del pattern Flux. Cerca di rendere i cambiamenti dello stato prevedibili imponendo delle restrizioni su come essi possono verificarsi, seguendo tre principi fondamentali: 6

Single source of truth Lo stato dell intera applicazione è conservato in un singolo oggetto store. 7

State is read-only L unico modo per modificare lo stato è quello di emettere una action, un oggetto che descrive l azione da eseguire. 8

Pure Functions Il modo in cui lo stato viene modificato in risposta ad una action deve essere espresso mediante funzioni pure. 9

Sviluppo Partiamo da uno scheletro di applicazione che abbiamo sviluppato e rilasciato su GitLab. #> npm install g cordova #> git clone https://gitlab.com/wish op/skeleton_react_mobile_application.g it #> cd skeleton_react_mobile_application #> npm install #> cordova platform add android #> npm run prepare #> npm start #> npm run android 10

La struttura 11

Unidirectional Flow 12

Container Componente React connesso allo store 13

Component Componente React che riceve delle props e renderizza l UI 14

Action State is read-only Modifiche dello stato in maniera indiretta tramite le action. 15

Reducer Pure Functions Cambiamento dello stato espresso mediante funzioni pure 16

Store Single source of Truth Store unico modellato dai Reducer ad albero 17

Middleware Potenziare le capacità dello store. Redux Thunk Per gestire le action asincrone. Redux Logger Per loggare tutte le action inviate allo store. 18

Web Service Action Action creator Action creator Action pure Reducer Store Action asincrone Function Thunk Middleware Action Reducer Store 19

TIPS & TRICKS UTF-8 esplicito in d3.js var λ00, φ00, λ0, cosφ0, sinφ0; <script src="myscripts.js" charset="utf-8"></script> 20

TIPS & TRICKS Intel Crosswalk #> cordova plugin add cordova plugin crosswalk webview Output - android-x86-debug.apk & android-armv7-debug.apk - apk combinato #> cd platforms/android #> echo ext.cdvbuildmultipleapks=false >> build extras.gradle PRO compatibilità CSS mantenuta anche con vecchie versioni di webkit CONTRO apk ~40MB in più 21

Diffusione ANDROID IOS Fonte: https://developer.android.com/about/dashboards/in dex.html https://developer.android.com/about/dashboards/index.html https://david-smith.org/iosversionstats/ 22

Link Utili Cordova: https://cordova.apache.org/docs/en/latest/ Node/Npm: https://docs.npmjs.com/ React: https://facebook.github.io/react/docs/getting-started.html Flux: https://facebook.github.io/flux/docs/overview.html#content Redux: http://redux.js.org/ WebPack: https://webpack.github.io/docs/ GitLab Repo: https://gitlab.com/wish-op/skeleton_react_mobile_application.git 23

Industria Italiana del Software Libero 24

WISH-OP Go and spread the free software. HAPPY HACKING! RMS info@wish-op.com 347 76 99 240-0824 33 02 04 25