SlideShare ist ein Scribd-Unternehmen logo
1 von 23
Downloaden Sie, um offline zu lesen
Mobile senza Frontiere
        DRUPAL E TITANIUM
  UN MATRIMONIO SENZA FRONTIERE
Alessio Ricco
Software Engineer
Titanium Certified App Developer
Ti.Roma - Roma Titanium Mobile Meetup
Etnatraining Titanium Mobile Trainer
WHYMCA Speaker


@alessioricco
http://alessioricco.com
http://www.linkedin.com/in/alessioricco
http://www.slideshare.net/alessioricco
Titanium Mobile

•   Single codebase to multiple platforms

•   Platform specific “look and feel”

•   Open Source and extensible (via Modules)

•   Javascript: you can reuse your skills

•   Quick development

•   Integrated IDE

•   Increasing speed

•   Native code (You need the specific platform SDK)
Titanium Mobile
Titanium Mobile
•   Native UI components

•   Location API

•   SQLite

•   Value persistence API

•   XHR

•   Facebook, Twitter, YQL

•   audio video streaming, media recording

•   CommonJS, Native code modules

•   Analytics

•   Cloud services

•   Integrated IDE
Windows,Views,Widgets
Windows are typically top-level visual constructs that are
the main part of your interface.

An application will always have at least one window and
windows can take different shapes and sizes, can have
display and interaction properties such as fullscreen or
modal and can be customized, such as changing their
opacity or background color.

Views can have their properties customized, such as their
border color and radius, can fire events such as swipe
events or touches, and can optionally contain a hierarchy or
other views as children.

Controls, or sometimes referred as widgets, are visual
elements such as sliders, buttons and switches.
Webview                                               Apps
<html>
    <head>
        <script>
            Ti.App.addEventListener("app:fromTitanium", function(e) {
                 alert(e.message);
            });
        </script>
    </head>
    <body>
        <button onclick="Ti.App.fireEvent('app:fromWebView', { message: 'event fired from WebView,
handled in Titanium' });">fromWebView</button>
    </body>
</html>


var win = Ti.UI.createWindow();
var webview = Ti.UI.createWebView({
    url: 'logging.html'
});
var button = Ti.UI.createButton({
    title: 'fromTitanium',
    height: '50dp',
    width: '130dp'
});
button.addEventListener('click', function(e) {
    Ti.App.fireEvent('app:fromTitanium', { message: 'event fired from Titanium, handled in WebView' });
});
Ti.App.addEventListener('app:fromWebView', function(e) {
    alert(e.message);
});

win.add(webview);
win.add(button);
win.open();
Apps                  Webview
var webview = Ti.UI.createWebView({
    url: 'http://www.google.com'
});
win.add(webview);

webview.addEventListener('load',function(e) {
    var cookies =
webview.evalJS("document.cookie").split(";");
    Ti.API.info( "# of cookies -> " +
cookies.length );
    for (i = 0; i <= cookies.length - 1; i++) {
            Ti.API.info( "cookie -> " + cookies[i] );
    }
});
Carlo Frinolli
Creative director @nois3lab
Docente tecnologie open web @IED
Hacker
Ti.Roma - Roma Titanium Mobile Meetup



@carl0s_
http://www.nois3lab.it
http://carlo.nois3lab.it
http://www.linkedin.com/in/carlofrinolli
Mobile senza Frontiere
Dal talk dello scorso anno su MobileD!
a Medici Senza Frontiere.
                                                           Programmi di intervento
                                                                             Americas
                                                   10.8%
                                                                             Asia

   NEUTRALE                                25.9%                62.2%
                                                                             Europe

   INDIPENDENTE                                                              Africa


   IMPARZIALE                            1.1%




   STAFF SUL POSTO

                     HAITI (3872)

                     REPUBBLICA DEMOCRATICA DEL CONGO (2919)

                     SUD SUDAN (2169)

                     SOMALIA (1729)
                     NIGER (1705)
L’esigenza
• informare i propri sostenitori di iniziative
  umanitarie e interventi sul territorio

• permettergli donazioni mobili
  indipendentemente dalla piattaforma (iOS,
  Android, Blackberry, etc.)

• trasparenza dell’utente e integrità dei
  contenuti al cambiamento
Il contesto
• Un software CMS semplice e potente: il nostro
  amico Drupal.

• Limiti, il solito problema di Drupal database
  contiene configurazione e dati       Features

• Drupal come web service e
  contemporaneamente frontend.
Deploy?

Profili di installazione, resi semplici.
Features e l’approccio code driven, ma
anche installazioni pronte. Come?
Profiler builder può darci una mano.


http://drupal.org/project/profiler_builder
La scelta tecnologica

Titanium e sito mobile per venire incontro
all’approccio mobile first ed essere compatibile
con tutti i tipi di dispositivi.
Consistenza e ottimizzazione
Il team redazionale è ristretto e ha bisogno di
ottimizzare gli sforzi.
Le informazioni e le notizie sono potenzialmente le
stesse per tutte le piattaforme.
Quindi una sola code base, molti front-end: la
scelta è caduta su Domain Access e Domain
Theme.

http://drupal.org/project/domain
domain_theme uno sguardo
      agli ingredienti: msf_app
I contenuti sono linkati tra loro, ma noi vogliamo
sfruttare le transizioni native di Ti.
Dobbiamo alterare gli <a href=””>.
Scriviamo un hook_link nel template.php

Ti.App.fireEvent('openPage ', { url:
check_plain(url(' <?php echo $vars['path'] )) . "?
device=mobileapp"; ?>
', section: 'single' , title: 'Back'});
domain_theme: msf_app
domain_theme uno sguardo
    agli ingredienti: msf_mobile


Tema separato con un menu ad hoc, senza l’alter
dei link e template potenzialmente diversi
domain_theme: msf_mobile
Funzionalità dell’app

•   import di playlist da YouTube

•   donazioni con webform

•   gateway pagamento Banca Sella

•   gestione dati personali



      app.msf.it
To Do
• base theme e subthemes
• gestione del json di descrizione menu
  con hook_menu

• gestione del path di sorgente del web
  service Drupal

• Drupal e backbone.js?
tiConf
Cross-Platform Titanium Apps & Drupal Web Services
                    by Bob Sims

            Valencia, feb 23-24th, 2013

                   for more info:
               http://2013.ticonf.eu/
DICE GRAZIE A SPONSOR




       MEDIA PARTNER




  IN COLLABORAZIONE CON




FIRMATO: GLI ORGANIZZATORI ;)

Weitere ähnliche Inhalte

Andere mochten auch

Responsive Design: dall'identità al web
Responsive Design: dall'identità al webResponsive Design: dall'identità al web
Responsive Design: dall'identità al webCarlo Frinolli Puzzilli
 
we are nois3 | digital design thinking | case studies
we are nois3 | digital design thinking | case studieswe are nois3 | digital design thinking | case studies
we are nois3 | digital design thinking | case studiesCarlo Frinolli Puzzilli
 
Data Driven UX - Un caso di studio - TIM IS UX? Mobile Tea #Unconference @Cod...
Data Driven UX - Un caso di studio - TIM IS UX? Mobile Tea #Unconference @Cod...Data Driven UX - Un caso di studio - TIM IS UX? Mobile Tea #Unconference @Cod...
Data Driven UX - Un caso di studio - TIM IS UX? Mobile Tea #Unconference @Cod...Carlo Frinolli Puzzilli
 
[#CaseStudy] Quel giorno in cui sono diventato @ilWinnerTaco su Twitter
[#CaseStudy] Quel giorno in cui sono diventato @ilWinnerTaco su Twitter[#CaseStudy] Quel giorno in cui sono diventato @ilWinnerTaco su Twitter
[#CaseStudy] Quel giorno in cui sono diventato @ilWinnerTaco su TwitterGiuliano Ambrosio
 
Instagram Assets Presentation
Instagram Assets PresentationInstagram Assets Presentation
Instagram Assets PresentationGiuliano Ambrosio
 
ABC: Come rendere un Post Blog su WordPress ottimizzato per i Social Media
ABC: Come rendere un Post Blog su WordPress ottimizzato per i Social MediaABC: Come rendere un Post Blog su WordPress ottimizzato per i Social Media
ABC: Come rendere un Post Blog su WordPress ottimizzato per i Social MediaGiuliano Ambrosio
 
Ideas on how to create powerful presentations
Ideas on how to create powerful presentationsIdeas on how to create powerful presentations
Ideas on how to create powerful presentationsCiprian Rusen
 
Lezione 1 del corso Web Design from Ground to Top
Lezione 1 del corso Web Design from Ground to TopLezione 1 del corso Web Design from Ground to Top
Lezione 1 del corso Web Design from Ground to TopSkillsAndMore
 
Come si promuove uno sviluppatore web
Come si promuove uno sviluppatore webCome si promuove uno sviluppatore web
Come si promuove uno sviluppatore webSkillsAndMore
 
Social Media e Audio (Casi di Studio e Piattaforme)
Social Media e Audio (Casi di Studio e Piattaforme)Social Media e Audio (Casi di Studio e Piattaforme)
Social Media e Audio (Casi di Studio e Piattaforme)Giuliano Ambrosio
 
Sfruttare il Potenziale Nativo di WordPress - WordCamp Bologna 2013
Sfruttare il Potenziale Nativo di WordPress - WordCamp Bologna 2013Sfruttare il Potenziale Nativo di WordPress - WordCamp Bologna 2013
Sfruttare il Potenziale Nativo di WordPress - WordCamp Bologna 2013Giuliano Ambrosio
 
Mobile Streaming Live + Brand Case Study #Periscope #Meerkat #FacebookMention
Mobile Streaming Live + Brand Case Study #Periscope #Meerkat #FacebookMentionMobile Streaming Live + Brand Case Study #Periscope #Meerkat #FacebookMention
Mobile Streaming Live + Brand Case Study #Periscope #Meerkat #FacebookMentionGiuliano Ambrosio
 
Snapchat - Funzionalità e utilizzo per le Aziende Case Study & Best Practice
Snapchat - Funzionalità e utilizzo per le Aziende Case Study & Best PracticeSnapchat - Funzionalità e utilizzo per le Aziende Case Study & Best Practice
Snapchat - Funzionalità e utilizzo per le Aziende Case Study & Best PracticeGiuliano Ambrosio
 
La presentazione efficace con le slide
La presentazione efficace con le slideLa presentazione efficace con le slide
La presentazione efficace con le slideGiacomo Mason
 
Comunicare con le slides
Comunicare con le slidesComunicare con le slides
Comunicare con le slidesluisamarini
 

Andere mochten auch (17)

Responsive Design: dall'identità al web
Responsive Design: dall'identità al webResponsive Design: dall'identità al web
Responsive Design: dall'identità al web
 
we are nois3 | digital design thinking | case studies
we are nois3 | digital design thinking | case studieswe are nois3 | digital design thinking | case studies
we are nois3 | digital design thinking | case studies
 
Design for User Stories
Design for User StoriesDesign for User Stories
Design for User Stories
 
Data Driven UX - Un caso di studio - TIM IS UX? Mobile Tea #Unconference @Cod...
Data Driven UX - Un caso di studio - TIM IS UX? Mobile Tea #Unconference @Cod...Data Driven UX - Un caso di studio - TIM IS UX? Mobile Tea #Unconference @Cod...
Data Driven UX - Un caso di studio - TIM IS UX? Mobile Tea #Unconference @Cod...
 
[#CaseStudy] Quel giorno in cui sono diventato @ilWinnerTaco su Twitter
[#CaseStudy] Quel giorno in cui sono diventato @ilWinnerTaco su Twitter[#CaseStudy] Quel giorno in cui sono diventato @ilWinnerTaco su Twitter
[#CaseStudy] Quel giorno in cui sono diventato @ilWinnerTaco su Twitter
 
Instagram Assets Presentation
Instagram Assets PresentationInstagram Assets Presentation
Instagram Assets Presentation
 
ABC: Come rendere un Post Blog su WordPress ottimizzato per i Social Media
ABC: Come rendere un Post Blog su WordPress ottimizzato per i Social MediaABC: Come rendere un Post Blog su WordPress ottimizzato per i Social Media
ABC: Come rendere un Post Blog su WordPress ottimizzato per i Social Media
 
Ideas on how to create powerful presentations
Ideas on how to create powerful presentationsIdeas on how to create powerful presentations
Ideas on how to create powerful presentations
 
Lezione 1 del corso Web Design from Ground to Top
Lezione 1 del corso Web Design from Ground to TopLezione 1 del corso Web Design from Ground to Top
Lezione 1 del corso Web Design from Ground to Top
 
Come si promuove uno sviluppatore web
Come si promuove uno sviluppatore webCome si promuove uno sviluppatore web
Come si promuove uno sviluppatore web
 
Social Media e Audio (Casi di Studio e Piattaforme)
Social Media e Audio (Casi di Studio e Piattaforme)Social Media e Audio (Casi di Studio e Piattaforme)
Social Media e Audio (Casi di Studio e Piattaforme)
 
Sfruttare il Potenziale Nativo di WordPress - WordCamp Bologna 2013
Sfruttare il Potenziale Nativo di WordPress - WordCamp Bologna 2013Sfruttare il Potenziale Nativo di WordPress - WordCamp Bologna 2013
Sfruttare il Potenziale Nativo di WordPress - WordCamp Bologna 2013
 
Mobile Streaming Live + Brand Case Study #Periscope #Meerkat #FacebookMention
Mobile Streaming Live + Brand Case Study #Periscope #Meerkat #FacebookMentionMobile Streaming Live + Brand Case Study #Periscope #Meerkat #FacebookMention
Mobile Streaming Live + Brand Case Study #Periscope #Meerkat #FacebookMention
 
Snapchat - Funzionalità e utilizzo per le Aziende Case Study & Best Practice
Snapchat - Funzionalità e utilizzo per le Aziende Case Study & Best PracticeSnapchat - Funzionalità e utilizzo per le Aziende Case Study & Best Practice
Snapchat - Funzionalità e utilizzo per le Aziende Case Study & Best Practice
 
La presentazione efficace con le slide
La presentazione efficace con le slideLa presentazione efficace con le slide
La presentazione efficace con le slide
 
Sample Website Proposal Presentation
Sample Website Proposal PresentationSample Website Proposal Presentation
Sample Website Proposal Presentation
 
Comunicare con le slides
Comunicare con le slidesComunicare con le slides
Comunicare con le slides
 

Ähnlich wie Mobile senza frontiere

Drupal Day 2012 - Applicazioni mobile multipiattaforma integrate con Drupal 7...
Drupal Day 2012 - Applicazioni mobile multipiattaforma integrate con Drupal 7...Drupal Day 2012 - Applicazioni mobile multipiattaforma integrate con Drupal 7...
Drupal Day 2012 - Applicazioni mobile multipiattaforma integrate con Drupal 7...DrupalDay
 
Meetup Progressive Web App
Meetup Progressive Web AppMeetup Progressive Web App
Meetup Progressive Web Appdotnetcode
 
Meetup Fluent Design e Progressive Web App
Meetup Fluent Design e Progressive Web AppMeetup Fluent Design e Progressive Web App
Meetup Fluent Design e Progressive Web Appdotnetcode
 
follow-ap DAY 4: HTML5 e jQuery
follow-ap DAY 4: HTML5 e jQueryfollow-ap DAY 4: HTML5 e jQuery
follow-ap DAY 4: HTML5 e jQueryQIRIS
 
Lezione 11 del 13 marzo 2012 - L'ECOSISTEMA DELLE APPS
Lezione 11 del 13 marzo 2012 - L'ECOSISTEMA DELLE APPSLezione 11 del 13 marzo 2012 - L'ECOSISTEMA DELLE APPS
Lezione 11 del 13 marzo 2012 - L'ECOSISTEMA DELLE APPSGianluigi Cogo
 
Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto
 Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto
Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progettoMicrosoft Mobile Developer
 
Applicazioni mobili: strumenti, costi soluzioni e peformance
Applicazioni mobili: strumenti, costi soluzioni e peformanceApplicazioni mobili: strumenti, costi soluzioni e peformance
Applicazioni mobili: strumenti, costi soluzioni e peformanceDiego La Monica
 
Csp@scuola smarttv corso1
Csp@scuola smarttv corso1Csp@scuola smarttv corso1
Csp@scuola smarttv corso1CSP Scarl
 
SkyMedia: La tecnologia al servizio dell'intrattenimento
SkyMedia: La tecnologia al servizio dell'intrattenimentoSkyMedia: La tecnologia al servizio dell'intrattenimento
SkyMedia: La tecnologia al servizio dell'intrattenimentoMavigex srl
 
Meetup ASP.NET Core Angular
Meetup ASP.NET Core AngularMeetup ASP.NET Core Angular
Meetup ASP.NET Core Angulardotnetcode
 
Presentazione Web Site
Presentazione Web SitePresentazione Web Site
Presentazione Web SiteWeb Site srl
 
Android - Programmazione Avanzata
Android -  Programmazione AvanzataAndroid -  Programmazione Avanzata
Android - Programmazione AvanzataStefano Sanna
 
Cert04 70-484 - essentials of developing windows store apps
Cert04   70-484 - essentials of developing windows store appsCert04   70-484 - essentials of developing windows store apps
Cert04 70-484 - essentials of developing windows store appsDotNetCampus
 
Ionic: Hybrid Mobile Apps... made simple
Ionic: Hybrid Mobile Apps... made simpleIonic: Hybrid Mobile Apps... made simple
Ionic: Hybrid Mobile Apps... made simpleCommit University
 
Slide Mulesoft Meetup Milano #10.pdf
Slide Mulesoft Meetup Milano #10.pdfSlide Mulesoft Meetup Milano #10.pdf
Slide Mulesoft Meetup Milano #10.pdfFlorence Consulting
 
follow-app BOOTCAMP 3: Android
follow-app BOOTCAMP 3: Androidfollow-app BOOTCAMP 3: Android
follow-app BOOTCAMP 3: AndroidQIRIS
 

Ähnlich wie Mobile senza frontiere (20)

Drupal Day 2012 - Applicazioni mobile multipiattaforma integrate con Drupal 7...
Drupal Day 2012 - Applicazioni mobile multipiattaforma integrate con Drupal 7...Drupal Day 2012 - Applicazioni mobile multipiattaforma integrate con Drupal 7...
Drupal Day 2012 - Applicazioni mobile multipiattaforma integrate con Drupal 7...
 
Meetup Progressive Web App
Meetup Progressive Web AppMeetup Progressive Web App
Meetup Progressive Web App
 
Meetup Fluent Design e Progressive Web App
Meetup Fluent Design e Progressive Web AppMeetup Fluent Design e Progressive Web App
Meetup Fluent Design e Progressive Web App
 
follow-ap DAY 4: HTML5 e jQuery
follow-ap DAY 4: HTML5 e jQueryfollow-ap DAY 4: HTML5 e jQuery
follow-ap DAY 4: HTML5 e jQuery
 
Lezione 11 del 13 marzo 2012 - L'ECOSISTEMA DELLE APPS
Lezione 11 del 13 marzo 2012 - L'ECOSISTEMA DELLE APPSLezione 11 del 13 marzo 2012 - L'ECOSISTEMA DELLE APPS
Lezione 11 del 13 marzo 2012 - L'ECOSISTEMA DELLE APPS
 
Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto
 Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto
Le basi per lo sviluppo su Windows Phone tool, SDK, il primo progetto
 
Applicazioni mobili: strumenti, costi soluzioni e peformance
Applicazioni mobili: strumenti, costi soluzioni e peformanceApplicazioni mobili: strumenti, costi soluzioni e peformance
Applicazioni mobili: strumenti, costi soluzioni e peformance
 
Csp@scuola smarttv corso1
Csp@scuola smarttv corso1Csp@scuola smarttv corso1
Csp@scuola smarttv corso1
 
SAL 2018 - Ditech-News
SAL 2018 - Ditech-NewsSAL 2018 - Ditech-News
SAL 2018 - Ditech-News
 
@Web co tilde app
@Web co tilde app@Web co tilde app
@Web co tilde app
 
SkyMedia: La tecnologia al servizio dell'intrattenimento
SkyMedia: La tecnologia al servizio dell'intrattenimentoSkyMedia: La tecnologia al servizio dell'intrattenimento
SkyMedia: La tecnologia al servizio dell'intrattenimento
 
Mobile UI Design
Mobile UI DesignMobile UI Design
Mobile UI Design
 
Meetup ASP.NET Core Angular
Meetup ASP.NET Core AngularMeetup ASP.NET Core Angular
Meetup ASP.NET Core Angular
 
Presentazione Web Site
Presentazione Web SitePresentazione Web Site
Presentazione Web Site
 
Android - Programmazione Avanzata
Android -  Programmazione AvanzataAndroid -  Programmazione Avanzata
Android - Programmazione Avanzata
 
Cert04 70-484 - essentials of developing windows store apps
Cert04   70-484 - essentials of developing windows store appsCert04   70-484 - essentials of developing windows store apps
Cert04 70-484 - essentials of developing windows store apps
 
Ionic: Hybrid Mobile Apps... made simple
Ionic: Hybrid Mobile Apps... made simpleIonic: Hybrid Mobile Apps... made simple
Ionic: Hybrid Mobile Apps... made simple
 
Slide Mulesoft Meetup Milano #10.pdf
Slide Mulesoft Meetup Milano #10.pdfSlide Mulesoft Meetup Milano #10.pdf
Slide Mulesoft Meetup Milano #10.pdf
 
follow-app BOOTCAMP 3: Android
follow-app BOOTCAMP 3: Androidfollow-app BOOTCAMP 3: Android
follow-app BOOTCAMP 3: Android
 
cv Armando Maglio
cv Armando Magliocv Armando Maglio
cv Armando Maglio
 

Kürzlich hochgeladen

Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...Associazione Digital Days
 
Programma Biennale Tecnologia 2024 Torino
Programma Biennale Tecnologia 2024 TorinoProgramma Biennale Tecnologia 2024 Torino
Programma Biennale Tecnologia 2024 TorinoQuotidiano Piemontese
 
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Associazione Digital Days
 
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...Associazione Digital Days
 
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Associazione Digital Days
 
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Associazione Digital Days
 
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Associazione Digital Days
 
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...Associazione Digital Days
 
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Associazione Digital Days
 

Kürzlich hochgeladen (9)

Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
 
Programma Biennale Tecnologia 2024 Torino
Programma Biennale Tecnologia 2024 TorinoProgramma Biennale Tecnologia 2024 Torino
Programma Biennale Tecnologia 2024 Torino
 
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
 
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
 
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
 
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
 
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
 
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
 
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
 

Mobile senza frontiere

  • 1. Mobile senza Frontiere DRUPAL E TITANIUM UN MATRIMONIO SENZA FRONTIERE
  • 2. Alessio Ricco Software Engineer Titanium Certified App Developer Ti.Roma - Roma Titanium Mobile Meetup Etnatraining Titanium Mobile Trainer WHYMCA Speaker @alessioricco http://alessioricco.com http://www.linkedin.com/in/alessioricco http://www.slideshare.net/alessioricco
  • 3. Titanium Mobile • Single codebase to multiple platforms • Platform specific “look and feel” • Open Source and extensible (via Modules) • Javascript: you can reuse your skills • Quick development • Integrated IDE • Increasing speed • Native code (You need the specific platform SDK)
  • 5. Titanium Mobile • Native UI components • Location API • SQLite • Value persistence API • XHR • Facebook, Twitter, YQL • audio video streaming, media recording • CommonJS, Native code modules • Analytics • Cloud services • Integrated IDE
  • 6. Windows,Views,Widgets Windows are typically top-level visual constructs that are the main part of your interface. An application will always have at least one window and windows can take different shapes and sizes, can have display and interaction properties such as fullscreen or modal and can be customized, such as changing their opacity or background color. Views can have their properties customized, such as their border color and radius, can fire events such as swipe events or touches, and can optionally contain a hierarchy or other views as children. Controls, or sometimes referred as widgets, are visual elements such as sliders, buttons and switches.
  • 7. Webview Apps <html> <head> <script> Ti.App.addEventListener("app:fromTitanium", function(e) { alert(e.message); }); </script> </head> <body> <button onclick="Ti.App.fireEvent('app:fromWebView', { message: 'event fired from WebView, handled in Titanium' });">fromWebView</button> </body> </html> var win = Ti.UI.createWindow(); var webview = Ti.UI.createWebView({ url: 'logging.html' }); var button = Ti.UI.createButton({ title: 'fromTitanium', height: '50dp', width: '130dp' }); button.addEventListener('click', function(e) { Ti.App.fireEvent('app:fromTitanium', { message: 'event fired from Titanium, handled in WebView' }); }); Ti.App.addEventListener('app:fromWebView', function(e) { alert(e.message); }); win.add(webview); win.add(button); win.open();
  • 8. Apps Webview var webview = Ti.UI.createWebView({ url: 'http://www.google.com' }); win.add(webview); webview.addEventListener('load',function(e) { var cookies = webview.evalJS("document.cookie").split(";"); Ti.API.info( "# of cookies -> " + cookies.length ); for (i = 0; i <= cookies.length - 1; i++) { Ti.API.info( "cookie -> " + cookies[i] ); } });
  • 9. Carlo Frinolli Creative director @nois3lab Docente tecnologie open web @IED Hacker Ti.Roma - Roma Titanium Mobile Meetup @carl0s_ http://www.nois3lab.it http://carlo.nois3lab.it http://www.linkedin.com/in/carlofrinolli
  • 10. Mobile senza Frontiere Dal talk dello scorso anno su MobileD! a Medici Senza Frontiere. Programmi di intervento Americas 10.8% Asia NEUTRALE 25.9% 62.2% Europe INDIPENDENTE Africa IMPARZIALE 1.1% STAFF SUL POSTO HAITI (3872) REPUBBLICA DEMOCRATICA DEL CONGO (2919) SUD SUDAN (2169) SOMALIA (1729) NIGER (1705)
  • 11. L’esigenza • informare i propri sostenitori di iniziative umanitarie e interventi sul territorio • permettergli donazioni mobili indipendentemente dalla piattaforma (iOS, Android, Blackberry, etc.) • trasparenza dell’utente e integrità dei contenuti al cambiamento
  • 12. Il contesto • Un software CMS semplice e potente: il nostro amico Drupal. • Limiti, il solito problema di Drupal database contiene configurazione e dati Features • Drupal come web service e contemporaneamente frontend.
  • 13. Deploy? Profili di installazione, resi semplici. Features e l’approccio code driven, ma anche installazioni pronte. Come? Profiler builder può darci una mano. http://drupal.org/project/profiler_builder
  • 14. La scelta tecnologica Titanium e sito mobile per venire incontro all’approccio mobile first ed essere compatibile con tutti i tipi di dispositivi.
  • 15. Consistenza e ottimizzazione Il team redazionale è ristretto e ha bisogno di ottimizzare gli sforzi. Le informazioni e le notizie sono potenzialmente le stesse per tutte le piattaforme. Quindi una sola code base, molti front-end: la scelta è caduta su Domain Access e Domain Theme. http://drupal.org/project/domain
  • 16. domain_theme uno sguardo agli ingredienti: msf_app I contenuti sono linkati tra loro, ma noi vogliamo sfruttare le transizioni native di Ti. Dobbiamo alterare gli <a href=””>. Scriviamo un hook_link nel template.php Ti.App.fireEvent('openPage ', { url: check_plain(url(' <?php echo $vars['path'] )) . "? device=mobileapp"; ?> ', section: 'single' , title: 'Back'});
  • 18. domain_theme uno sguardo agli ingredienti: msf_mobile Tema separato con un menu ad hoc, senza l’alter dei link e template potenzialmente diversi
  • 20. Funzionalità dell’app • import di playlist da YouTube • donazioni con webform • gateway pagamento Banca Sella • gestione dati personali app.msf.it
  • 21. To Do • base theme e subthemes • gestione del json di descrizione menu con hook_menu • gestione del path di sorgente del web service Drupal • Drupal e backbone.js?
  • 22. tiConf Cross-Platform Titanium Apps & Drupal Web Services by Bob Sims Valencia, feb 23-24th, 2013 for more info: http://2013.ticonf.eu/
  • 23. DICE GRAZIE A SPONSOR MEDIA PARTNER IN COLLABORAZIONE CON FIRMATO: GLI ORGANIZZATORI ;)