Migliora il tuo codice con Knockout.js

by Andrea 30 March 2013 11:52

Venerdì 5 Aprile 2013 terrò un meeting dal titolo "Migliora il tuo codice con Knockout.js"

Abstract:
In questa sessione vedremo come Knockout.js permetta di scrivere codice JavaScript in modo pulito e organizzato, semplificando la scrittura del codice e la sua manutenzione. Come lo si utilizza KO? Quali vantaggi ci offre? Quali librerie ci vengono in aiuto? Quali sarebbe meglio evitare?

Ci troviamo a scrivere sempre più codice client-side, e utilizzare strumenti/librerie che ci permettano di aiutarci in questo compito è sicuramente un valore aggiunto, sia per i tempi di sviluppo, ma anche per la manutenzione del codice. Rendere il codice più leggibile, strutturare meglio l'applicazione, utilizzare strumenti validi sono solo alcune delle cose di cui vi parlerò.

Se non conoscete Knockout (http://knockoutjs.com/), questo meeting fa proprio al caso vostro. Vedrete le potenzialità di questa libreria, e scoprirete un paio di framework che combinati con KO vi aiuteranno davvero molto nello sviluppo JavaScript.

Per registrarvi: http://www.xedotnet.org/Home/Meeting/20130405

Tags: , , ,

.NET | JavaScript | jQuery | XeDotNet

Spostare i file temporanei di ASP.NET

by Andrea 30 March 2013 11:19

Quando eseguite una qualsiasi applicazione ASP.NET, il runtime genera alcuni file temporanei all'interno della cartella %FrameworkInstallLocation%\Temporary ASP.NET Files\ , e la dimensione che questa cartella può raggiungere non è da sottovalutare quando l'applicazione fa un forte uso di codice compilato a runtime oppure è composta da un'enormità di controlli e pagine.

Mi è capitato più volte di dover procere alla cancellazione manuale di questi file, ma in alcuni hosting non si ha accesso alla cartella Windows e suo sottocartelle per restrizioni date all'utente con cui ci si collega al server.

In queste casistiche si può risolvere la cosa spostando la cartella dei file temporanei dell'applicazione agendo direttamente nel web.config, andando a settare nel parametro compilation -> tempDirectory il percorso della cartella da utilizzare, rendendola così raggiungibile.
Prestate attenzione, in quanto dovete assegnare alla nuova cartella i permessi di scrittura e lettura all'utente con cui viene eseguita l'applicazione (solitamente specificato nell'application pool).

Esempio:

<compilation ... tempDirectory="C:\temp\mia_app_temp\"> ... </compilation>

Link documentazione MSDN:http://msdn.microsoft.com/en-us/library/s10awwz0(v=vs.85).aspx

Tags:

.NET | ASP .NET

La mia prima esperienza da DEV con Windows Phone

by Andrea 18 April 2012 00:49

Tempo fa vi ho scritto della mia prima esperienza di sviluppo con Android (link), ed all'epoca ne ero anche entusiasta....ma perchè ancora non avevo provato a sviluppare per Windows Phone.
In termini di diffusione dei dispositivi purtroppo non si può dire lo stesso...ma in questo post voglio concentrarmi solo in quel che riguarda la parte di sviluppo.

Emulatore

La cosa che adoro in assoluto è la velocità e la leggerezza dell'emulatore Windows Phone, e chi ha provato a sviluppare per android sa bene la differenza abissale che c'è rispetto all'emulatore di android (lento e molto molto pesante). Già solo questo aspetto permette di velocizzare e non di poco la fase di sviluppo di un'applicazione.

Metro Style

Per chi mi conosce sa che con xaml non sono espertissimo, ma ad aiutarmi nello sviluppo per Windows Phone è stato proprio lo stile metro del telefono. Ebbene si, l'utilizzo dei controlli panorama e pivot, uniti alla semplicità dello stile metro fanno si che un'applicazione possa essere accativante ed usabile, senza necessariamente dover essere dei guru di xaml. 

Ovvio che conoscere xaml come si deve permette di fare la differenza, non solo in termini di tempo, ma anche nel feedback che l'app può dare. Animazioni, effetti grafici, ... sono aspetti che sicuramente catturano l'attenzione dell'utente finale.

Le mie app

Ed ecco qui il risultato delle prime notti spese per imparare questa piattaforma:

- Date Calculator

http://windowsphone.com/s?appid=3aee2367-41d5-448e-b21b-1f9ed5e7de79

Si tratta di un'app per eseguire calcoli con le date. Poter aggiungere e sottrarre giorni, mesi e anni da una precisa data, oppure calcolare la differenza tra due date inserite.
Un'applicazione semplice che mi ha dato modo di conoscere il controllo panorama, ed iniziare a conoscere il toolkit (controlli aggiuntivi per Windows Phone) che ho utilizzato nel selettore delle date.

- Baby Calculator

http://windowsphone.com/s?appid=707ef9e0-6fe0-44cf-92b2-4e8b66a86a9b

In questo caso la calcolatrice è solo una "scusa" per far usare l'app. Nella realtà è nata per aiutare l'associazione tra numero scritto e la relativa pronuncia per i bambini...infatti alla pressione dei tasti numerici, il numero premuto viene anche "letto" da una voce.
Nell'ultima versione ho aggiunto la possibilità di far registrare l'audio che verrà riprodotto alla pressione dei tasti numerici, in modo di dare la possibilità ai genitori di utilizzare la loro voce oppure per far divertire i bambini registrandoci dei suoni e rumori.
Con quest'app ho approfondito così tutto l'aspetto che riguarda la registrazione e riproduzione audio, per non parlare anche dell'IsolatedStorage utilizzato per il salvataggio dell'audio registrato.

Se avete modo di provarle (specialmente Baby Calculator) ogni feedback è sempre ben accolto ;-)

Conclusioni

Sviluppare per Windows Phone è proprio piacevole. I tool di sviluppo fanno poi l'enorme differenza (rispetto le altre piaforme tipo android e iphone) e permettono di realizzare applicazioni con (quasi) estrema facilità. Microsoft, con Visual Studio ci stà proprio viziando per bene.

Ed ora una nota da utente finale: da quando stò utilizzando il nokia lumia 800 come telefono principale, ammetto di non aver sentito proprio la mancanza di android (se non per un paio di funzionalità devvero minori). 

Speriamo veramente che Windows Phone prenda piede il più possibile!

 

Start Something! Tour – Windows 8 e WP7.5 

Per chi voglia provare questa esperienza, ricordo che ci sarà un lab  a Mestre (Start Something! Tour – Windows 8 e WP7.5 ) il 3 maggio 2012 ed è sufficiente registrarsi qui http://www.xedotnet.org/Home/Meeting/201205031

Buon sviluppo a tutti

Tags:

.NET | Generale | Tempo libero

Non sono sparito

by Andrea 11 April 2012 02:52

E' da parecchio che non scrivo in questo blog, o meglio, è da parecchio che non scrivo post che non riguardino solo le mie sessioni.
Da parecchio tempo mi ripeto di ricominciare a scrivere, perchè di cose da scrivere ce ne sarebbero molte...ma twitter e facebook sono molto più rapidi, e spesso prediligo una frase li piuttosto che un post in questo blog...ma vediamo di cambiare queste cose.

Iniziamo

Sono passati parecchi mesi da quando ho lasciato definitivamente il lavoro da dipendente, e le cose sono cambiate davvero parecchio.

Lavorare come un mulo

Continuo a lavorare come un mulo, forse addirittura più di prima....ma ora lo faccio per me e non per gli altri. So che portare la pagnotta a casa dipende solo da me, quindi spetta a me compiere le scelte giuste, e portarle avanti nel modo che ritengo giusto. Almeno so che pagherò per errori miei, e non (come successo in passato) per errori di altri.

Nuove tecnologie

Ho iniziato ad affrontare/utilizzare tecnologie di cui avevo solo letto articoli o seguito sessioni, ed è qui che le community sono state di primaria importanza...aver seguito meeting su ogni tecnologia, o aver letto articoli a riguardo, mi stà tornando proprio utile, e mi ha permesso di accettare lavori che hanno portato a molte altre opportunità.
Ero sempre riuscito a mantenermi al passo per quello che riguardava ASP.NET (che è sempre la mia tecnologia principale), ma ora finalmente affronto anche progetti WPF, Windows Phone, ed altri...con maggiore sicurezza.

A volte son soddisfazioni

Parlare direttamente con i clienti e vedere in loro la soddisfazione per ciò che gli hai consegnato, è impagabile...era difficile da dipendete avere un responsabile/capo che ti facesse capire quanto il tuo lavoro fosse importante (o che si complimentasse per il risultato raggiunto). Ora invece i complimenti arrivano a me, come anche le eventuali rogne...ma questo è il nostro mestiere. Non sono sempre soddisfazioni, ma quando arrivano ti fanno (quasi) dimenticare i momenti bui.

Prof

Ho anche iniziato a fare il docente per alcuni moduli web per http://www.tecnicosuperiorekennedy.it/ e devo ammettere che anche dopo parecchi mesi ancora non mi sono abituato a sentirmi chiamare "prof". Ma che soddisfazione vederli crescere...

Tirando le somme

Sono ancora pienamente convinto della scelta che ho fatto, e se tornassi indietro, la rifarei con ancora maggiore sicurezza.
Non ho smesso di lavorare le sere o i fine settimana....ma sono certo (e datemi pure dell'illuso) che prima o poi ci riuscirò :-P

Tags:

+1 | Generale

Inizia un nuovo anno per XeDotNet

by Andrea 11 January 2012 00:10

E' stato pubblicato il calendario degli eventi XeDotNet per il primo semestre del 2012.

10/02/2012 - HTML5 e lo sviluppo mobile

  • Andrea Dottor - ASP.NET e lo sviluppo mobile
  • Davide Senatore - Packaging HTML5 application with PhoneGap

09/03/2012 - Sviluppo client side

  • Andrea Boschin - What's new in Silverlight 5.0
  • Andrea Dottor - Il mondo è sempre più client. ASP.NET e lo sviluppo Client Side

06/04/2012 - Real world experience

  • Cristiano Simionato - Ma quanto costa Windows Azure?
  • Mirco Vanini - REST & .NET Micro FW - A Real Case

04/05/2012 - Uno sguardo a futuro

  • Davide Vernole - Visual Studio vNext - Application Lifecycle Management
  • Andrea Boschin - Sviluppare applicazioni Metro con Windows 8 e WinRT.

01/06/2012 - Playing with gadgets

  • Mirco Vanini - Are you a Gadgeteer?
  • Davide Vernole - Playing with Team Foundation Server
Per quanto mi riguarda, avrò il piacere di tenere due sessioni, basate su alcune esperienze lavorative che ho affrontato in quest'ultimo periodo.
Le sessioni si completano a vicenda, la prima basata sullo sviluppo verso il mondo mobile grazie all'utilizzo di HTML5, jquery mobile, ASP.NET MVC e WCF...mentre la seconda si propone di presentare alcune interessanti librerie javascript e la loro integrazione con ASP.NET, e alcuni suggerimenti di come sviluppare al meglio client-side.

Quindi non vi rimane che registrarvi ;-)

Tags: , , , ,

.NET | ASP .NET | ASP.NET AJAX | XeDotNet

Codice e slide della sessione ASP.NET MVC in a real world

by Andrea 28 September 2011 13:04

Sono disponibili al download le slide ed il codice della sessione ASP.NET MVC in a real world che ho tenuto al XeDotNet Community Meeting Web & Natural Interfaces del 13 settembre 2011.

Abstract: ASP.NET MVC stà prendendo sempre più piede, e le ultime release hanno portato importanti nuove funzionalità. Sempre più applicazioni vengono realizzate utilizzando questa tecnologia, e lo sviluppatore si trova ad affrontare nuove problematiche, che spesso differiscono da quelle di ASP.NET WebForm. Questa sessione non sarà una carellata sulle nuove funzionalità, ma bensì affronteremo problematiche reali in cui spesso lo sviluppatore incappa durante lo sviluppo di un'applicazione web, dimostrando quanto questa tecnologia sia flessibile e al tempo stesso potente e performante.

Un ringraziamento particolare ad Andrea Agnoletto per aver contribuito con la sua presentazione.

Tags: , , ,

ASP .NET | XeDotNet

Libero professionista a tempo pieno

by Andrea 10 September 2011 04:05

logoEbbene si, da quasi un mese, sono libero professionista a tempo pieno. Una nuova sfida da affrontare.

Sono più di 3 anni che ho la partita iva, ma fino al mese scorso ho sempre lavorato come dipendete. Questo mi ha permesso di aver le spalle sempre coperte e riuscire al tempo stesso a confrontarmi con sempre nuove prove.
L’essere dipendete ha sicurametne molti vantaggi, ma al tempo stesso può essere (a volte) limitante. (per poter tenere un corso (come speaker) dovevo prendermi ferie…per clienti che mi richiedevano la presenza da loro, avevo principalmente solo il sabato…)

Ho scelto di fare un passo importante, di lanciarmi in una nuova sfida, e mettermi totalmente in gioco decidendo di intraprendere questa nuova strada.
Alcune persone mi hanno spinto in questa decisione, altre mi hanno fatto riflettere, specialmente a riguardo del periodo non proprio positivo, e ho tirato le somme.
Per me (e per mia moglie) questo era il momento giusto, ed ora non mi rimane altro che impegnarmi a pieno in questo nuovo obbiettivo e continuare a crederci fino in fondo.

Il tutto sembra esser iniziato proprio nel migliore dei modi Open-mouthed smile

Tags:

+1 | ASP .NET | Pensieri | Generale

Codice e slide della sessione Sviluppare con DotNetNuke. Un framework sul framework

by Andrea 01 June 2011 05:56
Ecco pronti al download le slide ed il codice della sessione Sviluppare con DotNetNuke. Un framework sul framework che ho tenuto al XeDotNet community meeting del 20 Maggio 2011.

Abstract: Sviluppare applicazioni, occupandosi delle sole funzionalità che vuole il cliente, senza doversi occupare anche del codice di infrastruttura può sembrare un'utopia, ma non è così. In questa sessione vedremo come DotNetNuke, che è un CMS (content management system) open source, permetta allo sviluppatore tutto ciò. DotNetNuke può essere visto come un framework sul framework, in grado di fornire allo sviluppatore funzionalità avanzate che permettono di aumentare la produttiva e al contempo di ridurne i tempi di sviluppo.

PS: Nello zip contenente il codice non è presente DotNetNuke. Per il suo donwload rimando al sito di riferimento www.dotnetnuke.com.

PPS: E aggiungo che Speaker Timer ha funzionato alla perfezione! Testato sia con la mia sessione, che con quella di Davide… Android rulez!

Tags: , , ,

ASP .NET | .NET | XeDotNet

XeDotNet community meeting: Programming DotNetNuke

by Andrea 18 May 2011 01:37

Venerdì 20/05/2011 si terrà presso il Novotel di Mestre un community meeting che parlerà totalmente di DotNetNuke. In compagnia di Davide Senatore, terremo 2 sessioni che non si limiteranno a introdurre questo CMS Open-Source, ma bensì faremo vedere le potenzialità che offre, ed i vantaggi che noi sviluppatori possiamo trarre dall'utilizzo di questa piattaforma.

La mia sessione: Sviluppare con DotNetNuke. Un framework sul framework

Sviluppare applicazioni, occupandosi delle sole funzionalità che vuole il cliente, senza doversi occupare anche del codice di infrastruttura può sembrare un'utopia, ma non è così. In questa sessione vedremo come DotNetNuke, che è un CMS (content management system) open source, permetta allo sviluppatore tutto ciò. DotNetNuke può essere visto come un framework sul framework, in grado di fornire allo sviluppatore funzionalità avanzate che permettono di aumentare la produttiva e al contempo di ridurne i tempi di sviluppo.

La sessione di Davide: Fast and Furious DotNetNuke: Web App Development at the speed of light.

DotNetNuke: semplicemente il CMS più diffuso al mondo con più di 6.000.000 di download totali e 600.000 siti in produzione. In questa sessione vedremo come si possa affrontare la sfida di creare web applications utilizzando DNN come piattaforma di sviluppo. Valuteremo come creare moduli, come integrarli all'interno del CMS e come sfuttare le caratteristiche native della piattaforma a nostro vantaggio. Analizzeremo le nuove caratteristiche, l'integrazione con JQuery e Google Analytics, la personalizzabilità estrema e la produttività straordinaria che questa piattaforma mette a disposizione.

Vi aspettiamo numerosi!

Per registrarsi: http://www.xedotnet.org/Home/Meeting/20110520

Tags: , ,

ASP .NET | XeDotNet

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