Il prossimo workshop sarà di due giorni e se fossi uno dei partecipanti non saprei proprio cosa scegliere.
Le date sono state tiranne anche con noi che prepariamo le sessioni. Prima la PDC, poi il Summit di Redmond e a ruota, appunto, il workshop. È per questo che non sono ancora in linea gli abstract.
Allora, ora che sono in treno, ho pensato di scrivere una sorta di bozza dell'abstract che verrà presto pubblicato.
Per la sessione di C++/CLI (orientato all'interop ovviamente) ci sarebbe da parlare per una giornata intera ... ok, cercherò di non sforare, altrimenti Andrea questa volta mi gambizza sul serio .
Devo dire un grosso grazie a tuti i ragazzi del team di VC++ che mi hanno dato degli ottimi spunti, in particolare Brandon Bray.
Il bello di C++/CLI è la semplicità e la pulizia del codice. Se quindi non avete preclusioni aprioristiche su C++, avete odiato PInvoke usando C# / VB.NET, siete diventati pazzi per dialogare con il mondo unmanaged, questa sessione è quella giusta. La scaletta comprenderà questi argomenti:
- panoramica delle novià del linguaggio
- linkare due in un unico assembly codice C++ managed e unmanaged, C# (o vb.net)
e questo interessa anche chi non usa C++
- i problemi del double thunking scrivendo assembly mixed managed/unmanaged
- memoria e puntatori nel mondo 'mixed'
Il fatto è che di informazioni su C++/CLI se ne torvano proprio poche in giro, e quindi è anche difficile indovinare l'approccio giusto. Nel weekend ho buttato giù qualche esempio e la traccia delle slides. L'idea è di non andare troppo a fondo visto che l'argomento è troppo nuovo e di cose da dire e da scoprire ce ne sono ancora veramente tante.
Passiamo quindi alla sessione sull'Interop più orientata al framework 1.1. Non voglio dare nulla per scontato e quindi voglio mostrare PInvoke e COM interop in tutto il loro splendore . Dovrò trattenermi da entrare nei particolari perchè l'argomento è vasto, specie parlando di custom marshalling.
Se quindi avete odiato PInvoke (ma volete vincere a tutti i costi), se volete mettere le mani addosso a COM (ma senza sporcarvele troppo ), se proprio C++ non lo mandate giù (e perché mai?), allora questa sessione è quella giusta.
La scaletta è intuibile:
- PInvoke e il marshalling dei parametri
- COM ==> dotnet
- dotnet ==> COM
- deploy di componenti COM senza registrazione nel registry
- e ... (non voglio rovinare la sorpresa perché un pizzico di IL non guasta mai )
Se poi, nonostante tutto, non sapete proprio che cosa scegliere, la soluzione giusta è ... venire tutti e due i giorni . E se poi i dubbi e domande fossero tanti, ci sarà il tempo di parlare nei break e a fine giornata con le solite nostre Q&A.
Ah dimenticavo ... vanno bene le slides, ma ovviamente il tutto sarà condito con esempi ...