Newsgroup: it.comp.programmare.win32
Titolo: Tutorial per WinCE

Buongiorno ai partecipanti,
qualcuno di voi ha una lista di tutorial / link / articoli per
orientarsi nel grande mare delle risorse disponibili sull'argomento
della programmazione per WinCE.
A partire da consigli su quale sia il piu' produttivo tool di sviluppo e
quello con la curva di apprendimento piu' rapida (non ripida) per una
persona abituata ad usare un framework piuttosto completo (VCL) ma non
completamente ignorante dell'uso delle Win32 API.
Per il resto, newbie completo sull'argomento.
Grazie in anticipo e
Saluti
Paolo Arosio

 API. 
Purtroppo non credo esista un porting di VCL per CE e quindi dovrai 
"rispolverare" le API (se decidi di programmare in C/C++) oppure 
passare a C# (se decidi di utilizzare .NET compact framework).
La scelta del linguaggio e dell'ambiente di sviluppo non dipende solo 
dalla curva di apprendimento (più rapida, credo, per C#, anche se tu 
parti già da una base Win32), ma anche dal tipo di sviluppo che dovrai 
effettuare.
Se devi sviluppare applicazioni interattive senza particolari esigenze 
in termini di tempi di risposta, puoi considerare l'ambiente .NET 
oppure librerie di classi C++ (MFC o altro, a seconda dei gusti).
Se devi realizzare applicazioni real-time, driver, versioni 
"customizzate" del S.O. per device particolari, dovrai utilizzare il 
C/C++ (e magari un po' di assembler) e, probabilmente, prendere 
confidenza con platform builder.
-- 
Valter Minute
vmi...@inwind.it
 (the reply address of this message is invalid)

 oppure librerie di classi C++ (MFC o altro, a seconda dei gusti).
A questo proposito, mi chiedo quanto possano essere pesantemente
compromesse le caratteristiche real-time di WinCE dall'adozione del
.net: ad una prima analisi del problema, esistono delle aree che
richiedono sicurezza di tempo di risposta, ma con intervalli di tempo
piuttosto abbondanti (decine di secondi).
E' possibile far convivere piu' tipi di applicazioni? ed in questo caso,
quelle Win32 risentono comunque delle peculiarita' dovute al framework
.net?
Saluti
Paolo Arosio

 
Non ho ben chiaro il senso della tua domanda o meglio il senso del 
"convivere".
Se intendi che applicazioni .NET e applicazioni win32 possano essere 
installate sullo stesso device, non ci sono grossi problemi. Tieni 
presente che il framework occupa qualche mega di memoria sia RAM che di 
massa (l'occupazione dipende dall'architettura ed è maggiore per i 
RISC) e l'esecuzione delle applicazioni carica abbastanza il processore 
(anche perchè non esiste la possibilità di generare codice nativo in 
fase di installazione, come su win32). Windows CE ha una gestione delle 
priorità molto più fine di quella di windows 9X/ME o NT/2K/XP e quindi 
potrai sempre avere tempi di risposta accettabili per le applicazioni 
critiche (C/C++), penalizzando eventualmente quelle .NET.
Se per "convivere" intendi far comunicare moduli realizzati con i 
diversi strumenti (un po' come avviene tra ActiveX sviluppati in C e 
applicazioni Visual Basic), l'integrazione è un po' più macchinosa che 
in ambiente win32, visto che non esiste supporto per COM interop (la 
possibilità di usare oggetti COM più o meno come se fossero oggetti 
"nativi" .net), ma solo la possibilità di richiamare funzioni dentro 
una DLL.


 quelle .NET.
Se capisco correttamente, quindi, la seconda che ho detto.
Grazie ancora
Saluti
Paolo Arosio

 
Diciamo che la seconda che hai detto è _teoricamente_ giusta :)
Se l'applicazione .NET non genera (magari richiamando un driver) 
attività a priorità più elevata di quella del programma "critico", i 
tempi di risposta di quest'ultimo dipendono solo dalle performance 
dell'hardware e dall'overhead (che puoi verificare ed è garantito in 
certi tempi) del sistema operativo.
Con platform builder (di cui puoi farti spedire una copia di 
evaluation gratuita) è fornito un programmino (iltiming) che permette 
di controllare i tempi di latenza in risposta a un interrupt 
(generato via software a intervalli regolari). Puoi utilizzarlo per 
verificare che questi tempi non cambino se è in esecuzione la tua 
applicazione .NET.
Tieni presente che con windows CE (soprattutto su device con risorse 
molto limitate) alcuni aspetti che per applicazioni win32 possono 
essere trascurabili (vista la potenza e la capacità di memoria dei PC 
attuali) diventano critici per la scelta di un'architettura e/o di un 
ambiente di sviluppo (managed piuttosto che nativo e quindi C# 
piuttosto che C/C++ o assembler).
Se utilizzi platform builder ti accorgerai che puoi controllare (e 
modificare) in modo pesante parecchi aspetti del sistema operativo a 
un livello molto più basso di quello possibile quando si sviluppa su 
windows 32.
