2009-03-09 6 views
8

Sto per avviare una nuova app per Windows. Sarà uno strumento di elaborazione audio scritto in C++. Avrà bisogno di tutte le solite cose della GUI come menu, barre degli strumenti, ecc. Avrà anche un browser web incorporato.E 'OK scrivere ancora nuove app per .NET?

Sto pensando di costruirlo su. NET, ma mi piacerebbe sapere da tutti se .NET è ancora un problema da implementare. Quale percentuale di utenti regolari ha già il runtime .NET? Non voglio causare alcun dolore ai miei utenti come dover scaricare un runtime di 100 MB solo per avviare la mia app.

Cosa credi che i girasoli pensino? Dovrei andare su .NET o dovrei limitarmi alla semplice 'ol API Win32? O forse anche un sistema di terze parti come QT o wxWidgets?

+0

È necessario guardare il pubblico di destinazione e determinare se si tratta di un problema per loro o meno. Nell'ambiente aziendale che attualmente lavoro in .NET 3.5 non è distribuito alle nostre workstation. Attualmente devo scegliere .NET 3.0. – bruceatk

+0

3.5 verrà rilasciato per l'aggiornamento di windows abbastanza presto da quello che sento. – Echostorm

risposta

22

È possibile indirizzare gli utenti allo .Net bootstrapper, È un download da 100 kb che rileverà i bit del framework .Net attualmente disponibili e scaricherà tutto ciò che manca.

C'è anche http://smallestdotnet.com/ un'iniziativa @shanselman

13

Non conosco i numeri esatti, ma Vista ha .NET integrato e altre versioni di Windows possono rimuoverlo facilmente da Microsoft Update. È inoltre possibile ridistribuire il runtime .NET con l'applicazione.

Non mi preoccuperei troppo se i tuoi utenti hanno installato .NET.

+0

Diverse versioni di .Net possono ancora essere un problema. Ad esempio, nessun sistema operativo viene fornito con .Net 3.5. Se vuoi farlo, devi aspettarti che i tuoi utenti lo installino. –

+0

"non preoccuparsi troppo se i tuoi utenti hanno installato .NET" Penso che dovrebbe essere un problema !! –

5

.NET Framework scaricare/installare non è che oneroso. Ma suggerirei di guardare il tuo problema da un'altra angolazione.

Se sapessi che tutti i tuoi utenti hanno installato il Framework, sceglieresti C++ o utilizzeresti .Net? A causa dei tuoi requisiti della GUI, direi che stai usando .Net per tutte le sottigliezze che porta in tavola.

Le altre opzioni elencate possono essere accettabili, ma è difficile battere il .Net Framework sul supporto per quei componenti lato client.

Tutto considerato, il compromesso tra un singolo download e il miglior supporto per le applicazioni che si otterrà sembra buono.

2

.NET è come Java - è necessario assicurarsi che il runtime appropriato sia disponibile. Il d/l non è 100mb! HA! È 196mb. Ma c'è un "profilo cliente" che lo riduce a 26mb, quindi ho sentito.

La distribuzione del runtime .NET è uno svantaggio, ma per me la produttività dello sviluppatore è molto migliorata in C# rispetto a C++. Farò volentieri ai miei utenti sopportare 45 secondi di tempo di download, al fine di ottenere un ordine di grandezza migliore della produttività. Ma sono solo io. (ps: il runtime richiesto può essere scaricato automaticamente dal programma di installazione).

+0

Sarai lieto di infastidire i tuoi utenti! certo, a chi importa dei suoi utenti lo stesso? – hasen

+0

Esattamente! 45 secondi del loro tempo, una volta, vale la pena di salvare 4 settimane di mal di testa per me. – Cheeso

+1

Inoltre risparmia 4 settimane di tempo dal tuo portafoglio –

0

Non consiglio su .Net, ma se decidi, per una ragione o un'altra, di non utilizzare .Net, ti consiglio vivamente di usare QT su API Win32. Trovo l'API Win32 davvero disordinata e molto più difficile da usare rispetto a QT, che, a mio parere, è davvero bella.

11

Microsoft sta spingendo fortemente il framework .NET molto. Credo che non puoi nemmeno installare Microsoft Office 2007 senza avere installato .NET Framework sul tuo computer. Pertanto, se Microsoft richiede .NET per i suoi ultimi programmi di Office, probabilmente si è certi che i clienti basati su Microsoft disporranno delle prerequisiti .NET Foundation Libraries. Di corsi, questo dipenderà molto dal tipo di applicazione che stai creando.Ho anche sentito parlare di alcuni sviluppatori di videogiochi che vendono i loro giochi in bundle con la versione Mono open source di .NET. Che ci crediate o no, esiste in realtà una build molto solida e stabile di Mono per Microsoft Windows.

+0

No - questo è nuovo su di me. Non è possibile installare Office 2007 senza installare .NET? Non ne ho mai sentito parlare. Ci sono alcuni pezzi di Office che usano .NET ... Credo che il BCM per Outlook 2007 sia uno. Ma MSWord e MSExcel non lo richiedono. – Cheeso

1

Che tipo di applicazione stai costruendo? Questo è veramente importante Se siete preoccupati per i vostri utenti quindi:

  • se controlli gli utenti quindi non c'è nessun problema - è possibile controllare le loro macchine e si può fare in modo che .NET è già installato
  • se si parla di utenti che sono esterni (alla tua organizzazione) quindi consiglierei l'applicazione ASP.NET o Silverlight

Decidi tu. Probabilmente andrei con Silverlight poiché questo è il più vicino alle applicazioni desktop (che penso tu ti stia riferendo a) e comunque il download è molto piccolo (immagino qualcosa come 2MB). Dai uno sguardo allo http://silverlight.net.

+0

Dubito fortemente che l'editing audio sia qualcosa che vorresti fare in un'applicazione online. –

+0

* modifica = elaborazione –

0

.Net renderà la vostra vita più facile confrontando con nativo C++ e Windows API o anche QT. Ma se l'interfaccia grafica non è complesso, è meglio usare QT come la dimensione NET Framework è relativamente grande

2

L'.NET Framework 2.0 Runtime è soltanto 22MB, ed è un buon quadro di destinazione, soprattutto se non hai bisogno di WPF o WCF. Gli utenti di Vista avranno almeno 3.0 installati, quindi non hanno bisogno di fare nulla, e molte altre applicazioni hanno già il target 2.0, quindi lo installeranno già.

Inoltre, l'applicazione in .NET sarà significativamente più piccola di quella che scrivere in C++. Gli eseguibili sono molto più piccoli a loro modo di vedere e il file MSI risultante dalla costruzione di un progetto di installazione in VS è più piccolo di qualsiasi altra cosa abbia visto.

+0

Non quando si aggiunge il runtime. Prendendo un sistema da n. A 3.5 è un download significativo e ho avuto il fallimento dell'installazione su diversi sistemi la prima volta che è stato fatto. – bruceatk

+0

Ciò non rende la mia risposta meno valida. Oggi non hai bisogno di 3.5, a meno che tu non abbia bisogno di alcune delle tecnologie più recenti. E che l'installazione non riesca * il tuo * sistema potrebbe essere a causa di prerequisiti mancanti. –

+0

Sto commentando "I file eseguibili sono molto più piccoli ...". Devo sempre considerare il carico utile completo di ciò che sto offrendo e delle sue dipendenze. – bruceatk

2

Distribuiamo diverse applicazioni per clienti in diversi settori e attualmente .NET Framework 2.0 non è affatto un problema. (Ed è comunque solo un download di 22 MB.) È ancora possibile utilizzare Visual Studio 2008 e C#, ma devi scegliere .NET 2.0 come framework di destinazione e devi utilizzare Windows Form invece di WPF per la GUI (che potrebbe essere a seconda delle esperienze,

.NET Framework 3.0 e 3.5 (e 3.5 SP1 ecc.) non sembra essere mainstream almeno nelle reti aziendali, è significativamente più grande, presenta maggiori potenziali insidie ​​durante l'installazione e non supporto di Windows 2000 e Windows 98 (ancora .NET 2.0)

1

Per quello che ho letto Mono (l'implementazione del software libre di .NET) viene fornito con un linker - è possibile compilare l'applicazione utilizzando Mono, collegamento a tutti i componenti necessari

La parte migliore è che si otterrà un pacchetto autonomo: non è necessario che l'utente finale installi uno specifico framework .NET se non lo ha già fatto. Il rovescio della medaglia è: a seconda di quante librerie .NET stai usando, il tuo eseguibile potrebbe finire per essere enorme, annullando i benefici.

0

Anche l'API ClickOnce è degna di essere esaminata. È possibile utilizzarlo per distribuire l'applicazione su Internet e l'applicazione può chiamare a casa per ottenere automaticamente gli aggiornamenti (se lo si desidera).

Uso al lavoro ora e semplifica la distribuzione e l'aggiornamento del software desktop.

+0

Questa risposta non risolve il problema se sia una buona idea scrivere per .NET in base alle dimensioni del runtime. –

Problemi correlati