Έχε στο μυαλό ότι γράφεις κώδικα .ΝΕΤ 3.5 (περίπου) σε 486 με 8 mb RAM και είσαι μέσα :)
Hardware:
Μακράν τα γρηγορότερα PDA είναι αυτά που ΔΕΝ είναι smartphones! Το iPAQ της HP είναι πολύ γρήγορο, έχει καλή ανάλυση (640χ480) και πάει σφαίρα.
Κατά τα άλλα η επιλογή της συσκευής θέλει προσοχή γιατί ΔΕΝ είναι όλα τα WM ίδια μεταξύ τους! Τα τροποποιούν οι κατασκευαστές κατά βούληση.
Αυτά που έχω δουλέψει και μπορώ να πω με ασφάλεια ότι παίζουν καλά με .NET CF είναι τα AIRIS, BlackJet, HP iPAQ, και κάνα δυο άλλα που δεν τα θυμάμαι τώρα.
Development:
Τα προβλήματά σου είναι κυρίως: κατανάλωση μνήμης / ταχύτητα. Είναι οι δύο πλευρές του ίδιου νομίσματος και πρέπει να βρεις την χρυσή τομή.
πχ
οι φόρμες δεν φορτώνουν γρήγορα. Μία καλή πρακτική είναι να φορτώνουν την πρώτη φορά και μετά να τις κρατάς στην μνήμη σε κάποιο static ίσως
Επίσης ένα άλλο σημαντικό θέμα είναι και το πόσο φορτωμένη είναι η εκάστοτε φόρμα με controls. Ειδικά εάν έχεις και τίποτα custom controls που έχουν από καμιά 20αριά μικρότερα controls το καθένα... Και σε μία εφαρμογή PDA είναι πολύ πιο πιθανό να χρειαστείς custon controls, δεδομένου ότι το interface δεν ενδείκνυται για τη χρήση των συνηθισμένων controls (βλέπε touch screen). Οπότε καλό είναι να προσπαθήσεις να τα κάνεις μινιμαλιστικά.
πχ έχεις έναν πίνακα με 13 εγγραφές. Η κάθε εγγραφή φορτώνεται σε ένα custom control.
Είναι καλό να ζωγραφίσεις τόσα controls όσα χωράνε και στην σελίδα σου (πχ 5) και απλά να φορτώνεις τις εγγραφές στα ίδια controls κατά βούληση. Στην τελευταία σελίδα που θα έχει 3 εγγραφές απλά τα δύο τελευταία controls θα πρέπει να είναι visible = false.
Γενικότερα, στις desktop εφαρμογές δεν δίνουμε σημασία σε κάτι τέτοια. Φορτώνει μία φόρμα, όταν την κλείνουμε την κάνουμε dispose, μετά την ξαναφορτώνουμε... στα PDA αυτό είναι μεγάλο πρόβλημα, λόγω ταχύτητας. Οπότε καλό είναι αφού φορτώσουν να τα έχουμε στην μνήμη.
Ένα άλλο θέμα είναι και το μέγεθος του εκτελέσιμου. Αν είναι 2mb, όσο γρήγορο και να είναι το PDA θα αργήσει. Οπότε καλύτερα να έχεις κάποιο/κάποια dll και να γράφεις εκεί κώδικα. Και φυσικά εννοείται ότι μπορείς να βάλεις και τις φόρμες σου μέσα στα dll και να τα φορτώνεις από εκεί.
Επίσης μην περιμένεις να κάνεις τίποτα υπολογισμούς στο PDA. Αν έχεις τέτοιες ανάγκες, καλύτερα να παίξεις server side (server app? web service? οτιδήποτε) παρά να βάλεις το PDA να κάνει δουλειά.
Υπάρχουν επίσης μερικά θέματα portability από Windows Mobile <=> Windows CE, αλλά όχι τίποτα τραγικό (μέγεθος εικόνων, autoscroll φορμών)
Επίσης προσοχή στα δεδομένα που θα τραβάς. Αν φορτώσεις κάναν πίνακα τεράστιο, θα έχεις πρόβλημα. Πρέπει να προσαρμόσεις και το business logic της εφαρμογής (μέχρι ένα σημείο) στο PDA.
Α, και εννοείται ότι μπορείς να έχεις multi-threading

Όσον αφορά για την επιλογή ή μη της web πλατφόρμας, το σημείο κλειδί είναι το interface. Εάν θέλεις να αξιοποιήσεις την οθονούλα του PDA χρειάζεσαι custom FORM controls.
Αν μου έρθει και κάτι άλλο θα σου πω. Σε προηγούμενη εταιρία είχα ασχοληθεί με την κατασκευή ενός PDA client που συνδεόταν real time με διάφορα ERP.
"When the darkness rises up from inside - that is normal.
It's when you reach down to pull it up - that the noxious warnings sound."
Tuzak, Farscape