Grafici con HTML5 – SVG – Canvas

by Andrea Dottor 11 February 2013 11:27

chartPer un’applicazione HTML5 che stò realizzando mi sono trovato a dovermi appoggiare ad una libreria esterna che si occupasse di renderizzare dei grafici.
Librerie ne esistono moltissime, con differenti modalità di utilizzo ed effetti grafici
(ecco un post che ne elenca parecchie:
http://my.opera.com/tagawa/blog/list-of-javascript-charting-libraries).

Nel mio caso ho utilizzato Kendo UI della Telerik.
La libreria in questione è veramente di facile utilizzo, poche righe di codice e l’effetto è veramente ottimo.

Problema: alcuni dispositivi non renderizzano questi grafici.

Indago sulla cosa e mi accorgo che la libreria in questione (come molte altre) utilizza SVG per la renderizzazione dei grafici e non tutti i browser supportano tale oggetto.
Per risolvere la cosa ho trovato in rete un convertitore da SVG a Canvas, che mi ha permesso di risolvere la cosa.
Ecco qui la soluzione, che potrà tornar utile anche ad alcuni di voi:
http://www.kendoui.com/blogs/teamblog/posts/12-02-17/using_svg_on_android_2_x_and_kendo_ui_dataviz.aspx
La libreria è canvg: http://code.google.com/p/canvg/

Per rilevare se un browser supporta SVG, questa è la funzione che ho utilizzato.
(ritorna True se il browser supporta SVG)

function testSvg() {
  return !!document.createElementNS && 
              !!document.createElementNS('http://www.w3.org/2000/svg', 'svg').createSVGRect;
}

In alternativa potete utilizzare librerie come Modernizr http://modernizr.com/

Tags:

ASP .NET | Android | JavaScript

Corso sviluppo mobile multipiattaforma

by Andrea Dottor 07 February 2013 12:25

Vorreste scrivere un’app mobile ma non sapete da dove cominciare?

Non avete mai approfondito lo sviluppo di app multipiattaforma?

Non sapete come esporre i dati per le vostre app?

Volete sapere se scrivere un’app con codice nativo o con tool simili a PhoneGap?

beh, allora non potete mancare al “Corso sviluppo mobile multipiattaforma” che verrà tenuto da me e Davide Senatore a fine Marzo (le date verranno confermate al raggiungimento minimo dei posti che ci siamo prefissati).

E’ un corso fatto da sviluppatori e rivolto a sviluppatori!
Per partecipare sarà sufficiente avere delle basi di C#, HTML e JavaScript…ed il resto lo apprenderete da noi Winking smile

Il corso verterà sullo sviluppo di applicazioni mobile, dal come esporre i dati (lato server) al come realizzare le varie applicazioni per i diversi marketplace, confronteremo le varie piattaforme  e tecnologie, analizzando tutti i pro e contro possibili. Questo permetterà di capire già da subito quali siano i problemi comuni di questa tipologia di sviluppo, ed il come noi li abbiamo risolti/affrontati.

Ecco qui una scaletta dei macro-argomenti che verranno trattati:

    • Piattaforme a confronto:
      • Web
      • Windows Phone
      • Windows 8
      • Android
      • iPhone
    • Esporre i dati per il mobile
      • ASP.NET Web API
      • Servizi REST
    • Sviluppo:
      • Web Mobile
      • Sviluppo Nativo
      • Multipiattaforma con PhoneGap
      • Windows Azure mobile services
    • Distribuire le applicazioni
      • Modalità di deploy
      • I vari marketplace
    • Q & A

La registrazione è aperta, quindi non aspettate l’ultimo momento perchè i posti disponibili non sono moltissimi.

Per tutte le info e per registrarvi la pagina è http://training.ingeniumsoft.com/

Tags:

+1 | ASP .NET | .NET | Windows Phone | jQuery | Android

Prima esperienza di sviluppo per Android - Speaker Timer

by Andrea 16 May 2011 03:57

Speaker TimerEbbene si, avete letto bene. La scorsa settimana ho sviluppato una piccola applicazione per Android dal nome Speaker Timer. Altro non è che un timer da poter utilizzare durante le mie sessioni, in grado, grazie alla vibrazione ed al cambio di colore dello schermo, di segnalare l'avvicinarsi del termine della sessione, e la conclusione del tempo a disposizione.
SpeakerTimer homeSpeakerTimer settingsNel market sono presenti applicazioni simili, ma la mia si differenzia per non avere "fronzoli", ma bensì visualizzare le sole informazioni utili (sopratutto per ridurre il consumo di batteria, visto che rimarrebbe acceso per più di un'ora): il display visualizza solo ore e minuti, ed un puntino lampeggia segnalando i secondi che passano, mentre lo schermo è mantenuto di colore nero, che per un display OLED (come quello del mio galaxy S) vuol dire un notevole risparmio di batteria. La vibrazione poi, permette di tenere il cellulare in tasca, e di ricevere comunque le notifiche impostate.
Diciamo che mi serviva un'applicazione che mi fosse utile anche per studiare il nuovo ambiente, e quindi ho preferito realizzare qualcosa che potesse servirmi, e che fosse esattamente come la volevo. L'averla pubblicata nel market è stata solo una pura curiosità per capire la diffusione che una 'pur semplice applicazione' può avere.

Ed ecco le mie prime impressioni:

La programmazione

La programmazione non è stata molto complessa sebbene mi sia dovuto scontrare con un mondo per me nuovo, quello di Java. Le somiglianze a c# sono molte, e tutto sommato, ho riutilizzato totalmente le mie conoscenze, e sono state poche le cose che mi hanno rallentato.
La grave mancanza che si sente è quella di un IDE per creare le interfacce grafiche di Android, che attualmente si devono fare a mano scrivendo XML, e spero prima o poi qualcuni pensi seriamente di realizzarlo. Un blend per Android sarebbe veramente un sogno.
Visual Studio e il .NET Framework ci hanno abituati davvero bene, e questo sicuramente non è dire poco. La produttività di Visual Studio è imbattibile, anche se IntelliJ IDEA della JetBrain è davvero in un'ottima direzione, e i suoi tools di refactoring sono davvero ottimi (e chi conosce ReSharper, questo lo sa bene).

Da dove cominciare

Un ottimo punto di partenza è stato il libro "Android. Guida per lo sviluppatore" di Massimo Carli, che spiega davvero bene le funzionalità che Android mette a disposizione, e con esempi chiari ed esplicativi permette un rapido utilizzo del codice presentato. Una manna dal cielo per chi come me muove i primi passi in questo mondo. Amazon: Android. Guida per lo sviluppatore

Il market

Pubblicare l'applicazione nel market di Android, è stato facile, ma "macchinoso" per il numero di immagini/loghi che vengono richiesti, addirittura un logo ad alta risoluzione da 512x512px...ma tutto sommato la procedura è stata veloce, ed una volta cliccato il tasto publish, l'applicazione era subito presente nel market, pronta per essere installata.
Per quanto concerne la "velocità" di pubblicazione, questo può essere un aspetto non del tutto positivo, in quanto non esiste un controllo sulla qualità di ciò che viene pubblicato. Ma pazienza, vorrà dire che saranno gli utenti a far capire/notare la differenza tra un'applicazione di qualità ed una scadente.
Una nota davvero positiva stà nei 25$ che si pagano per poter pubblicare, che sono ben inferiori ad altri store, e che mi hanno permesso di pubblicare la mia applicazione sapendo di aver buttato via solo ~18€.

Gli utenti

L'elevato numero di persone che utilizzano Android, ha poi fatto la differenza: dopo 24 ore dalla pubblicazione, mi sono ritrovato con 62 installazioni attive (di cui 6 in Italia)...numeri ben superiori alle mie aspettative, e che mi hanno dato molta soddisfazione. E pensare che me l'ero sviluppata solo per me, e non pensavo inizialmente di inserirla nel market.

Ora non mi resta che migliorare l'applicazione realizzata dando al possibilità di scelta del colore delle notifiche, e poco altro. Visto che ha riscosso un minimo di interesse, trovo corretto portarla avanti, permettendo ad ogni utente di customizzarla a piacimento.
Il prossimo passo invece, sarà il trovare l'idea giusta per sperimentare un'applicazione a pagamento, e stare a vedere quale sarà il riscontro finale.
Rientrare di quei 25$ potrebbe essere la prossima sfida. La platea che Android raggiunge è davvero ampia, e una buona idea può davvero tramutarsi in profitti.

Tags: ,

+1 | Android