Domanda

Quando si sviluppa un'applicazione desktop in .NET, è possibile non richiedere .NET Framework?Lo sviluppo di software in .NET è il modo preferito per sviluppare applicazioni desktop?Qual è il linguaggio di programmazione più utilizzato dalle aziende di software per sviluppare applicazioni desktop?

I requisiti di .NET Framework sono semplicemente presupposti in base al sistema operativo Windows installato, quindi perché elencano i requisiti della versione del sistema operativo Windows?

È stato utile?

Soluzione

Puoi comunque sviluppare applicazioni per il desktop Windows utilizzando C/C++, eliminando i requisiti per .NET framework, ma dovrai assicurarti che le librerie necessarie siano già nel sistema o installate.

La cosa bella del framework .NET è che Windows XP SP2 e Vista hanno il runtime del framework 3.0 installato per impostazione predefinita.

In molti sensi, questo è lo "standard di sviluppo" di Microsoft ed è stato così per un po'.Ciò ti consente di non preoccuparti di avere un sacco di librerie aggiunte alla tua applicazione.Se ti attieni a tutte le librerie fornite da .NET, finisci per preoccuparti solo di distribuire il tuo eseguibile, il che è un grande sollievo dal mal di testa.Quando hai un sacco di librerie che devi distribuire, inizi a incontrare problemi quando scrivi gli aggiornamenti, perché devi assicurarti che tali aggiornamenti vengano inviati nel tuo programma di installazione esistente e in tutte le app installate esistenti là fuori .

Per quanto riguarda il "preferito", a volte tende sempre a arruffare le piume, ma ci sono sempre più sviluppatori .NET ricercati per il Web e il desktop nei siti di ricerca di lavoro che tendo a visitare.8^D

MODIFICARE:Mille grazie a Orion per aver sottolineato la mia confusione sui framework.Ottieni 3.0 "fuori dal cancello se sei su XP SP2 o Vista.Tutto il resto richiederà un semplice download o esecuzione di Windows Update.

Altri suggerimenti

Non è possibile eseguire un'app .Net senza il framework .Net.Il framework si occupa di alcune delle attività in background più noiose, quindi non è possibile eseguire l'app senza il framework.

Sulla piattaforma Windows l'utilizzo di .NET è il modo preferito per sviluppare applicazioni desktop.Il modello WinForms di .NET è un modo per sviluppare app client tradizionali o dense, con Windows Presentation Foundation di .NET che rappresenta l'ultima direzione tecnologica di MS.

Immagino che quello che sto cercando di dire sia che quando guardo i requisiti di sistema per determinati software raramente vedo .NET Framework come un requisito.Quindi, mi chiedo sempre come se la cavano senza che questo sia un requisito (se hanno sviluppato il software in .NET).Quindi, suppongo semplicemente che la maggior parte del software commerciale non sia scritto in .NET, ecco perché sto ponendo questa domanda.Spero che questo abbia chiarito alcune cose.

Mono Ha una versione Windows, se devi assolutamente evitare la dipendenza da .NET.

In ogni caso, avrai bisogno di un runtime compatibile con .NET su qualsiasi computer su cui è in esecuzione la tua applicazione.Quindi, se vuoi evitare completamente .NET, probabilmente dovrai distribuire il runtime Mono insieme alla tua applicazione.

La procedura migliore per la distribuzione delle applicazioni .NET è che il programma di installazione venga in qualche modo avviato con il programma di installazione ridistribuibile .NET per il framework richiesto, in modo che se il framework richiesto non è ancora installato (ad esempio, è necessario 3,5 in Windows XP), il programma di installazione lo farà basta inserirlo.

.NET Runtime è un'installazione sufficientemente piccola da renderlo fattibile (sono circa 24 MB per .NET 2.0, non ho verificato quanto sia grande .NET 3.5).

Immagino che quello che sto cercando di dire è che quando guardo i requisiti di sistema per determinati software raramente vedo il framework .NET come un requisito.Quindi, mi chiedo sempre come riescono senza che sia un requisito (se hanno sviluppato il software in .NET).Quindi, presumo solo che la maggior parte del software commerciale non sia scritto in .NET, quindi è per questo che sto facendo questa domanda.Spero che questo abbia chiarito alcune cose.

Non ho numeri, ma immagino che, dal momento che la maggior parte delle persone utilizza XP e Vista sui propri desktop, elencare il framework .NET è discutibile, soprattutto se stanno prendendo di mira il framework 2.0 nel applicazione stessa.In passato, quante applicazioni hai visto che dicevano "richiede vbrun50.dll" o qualcosa del genere dal momento che era stata inserita nelle installazioni di Windows per impostazione predefinita?

Inoltre è un po' meno "spaventoso" per coloro che non sono particolarmente esperti di computer.Tutto quello che vogliono fare è scaricare, installare ed eseguire l'app.Un paio di app che ho in circolazione richiedono il framework 2.0 e alcune persone mi chiedono cos'è e come posso ottenerlo e mi costa qualcosa?La tipica risposta che do loro è "Se utilizzi XP o Vista, non c'è niente di cui preoccuparsi" e sembra che gli piaccia.

Penso che se fossi in grado di fare qualcosa come collegare staticamente il framework .NET in modo da non doverlo sviluppare, violeresti l'EULA fornito da Microsoft!

È il prezzo che dobbiamo pagare per avere un'esperienza di sviluppo così ricca!Ne vale la pena se si considera la difficoltà di tornare alla programmazione MFC!

Remotesoft offre un linker: $ 1250 per una singola licenza per sviluppatore: http://www.remotesoft.com/linker/index.html

Se la tua applicazione verrà eseguita su Mono (e il supporto desktop Winform di Mono è abbastanza buono ora), puoi impacchettare la tua app come bundle Mono, che è un singolo eseguibile.Sono disponibili due opzioni: l'impostazione predefinita include il runtime ma non si collega staticamente ad esso, l'altra ti collega staticamente al runtime Mono.Il motivo per cui potresti non voler effettuare un collegamento statico è che metterebbe la tua applicazione sotto LGPL;i bundle che non sono collegati staticamente (ancora solo un singolo exe) non hanno tale requisito.http://www.mono-project.com/Mono:Runtime#Bundles

Potresti prendere in considerazione l'utilizzo "Distribuzione ClickOnce", che semplifica l'aggiunta del bootstrap dei programmi di installazione ridistribuibili .Net 2.0, 3.0 e/o 3.5 nell'applicazione.Basta fare clic su una casella di controllo nelle proprietà del tuo progetto e il tuo programma di installazione rileverà automaticamente se il framework prerequisito è stato installato e lo installerà in caso contrario.

Non è adatto a tutte le situazioni, ma se riesci a trarne vantaggio può essere piuttosto fluido.

Ho programmato in .NET (utilizzando C#) e mi sono reso conto che spesso desideravo un maggiore controllo su un numero di controlli.Ciò richiedeva conoscenze che andavano oltre il framework .NET.

Ad esempio, quando stavo lavorando con il controllo WebBrowser per produrre uno strumento di test automatizzato per le applicazioni web, mi sono reso conto che ci sono alcune situazioni che richiedevano gestori di eventi dal controllo ActiveX axWebBrowser di livello inferiore e la documentazione era scarsa/gli esempi di codice incorporavano molti di Concetti di interoperabilità COM.Quindi forse avere qualche conoscenza su COM potrebbe tornare utile?

Immagino che quello che sto cercando di dire è che quando guardo i requisiti di sistema per determinati software raramente vedo il framework .NET come un requisito.Quindi, mi chiedo sempre come riescono senza che sia un requisito (se hanno sviluppato il software in .NET).Quindi, presumo solo che la maggior parte del software commerciale non sia scritto in .NET, quindi è per questo che sto facendo questa domanda.Spero che questo abbia chiarito alcune cose.

Molte applicazioni sviluppate con C++/MFC per desktop Windows richiedono una versione specifica delle DLL di runtime MFC anche se potrebbe non essere elencata esplicitamente come requisito.Credo che lo stesso stia diventando vero con le applicazioni che richiedono .NET.

Ad esempio, l'applicazione su cui lavoro viene fornita con file ridistribuibili sia per .NET che per la particolare versione di MFC di cui abbiamo bisogno, nonché una serie di altri componenti richiesti.Il nostro programma di installazione installerà tutti i componenti non attualmente installati sul sistema dell'utente.Ogni versione degli ultimi anni ha utilizzato più codice .NET rispetto alla versione precedente.

Non penso sia accurato presumere che la maggior parte del software commerciale non utilizzi .NET solo perché non è elencato come requisito.Non penso che tu possa presumere con precisione nulla da ciò.

La cosa bella del framework .NET è che Windows XP ha la libreria runtime del framework 2.0 installata per impostazione predefinita

Da quando?Ho dovuto dire a molti dei nostri utenti Windows XP di installarlo.Sì, puoi rimuoverlo tramite Windows Update, ma sono abbastanza sicuro che sia un'installazione opzionale e non qualcosa che avviene automaticamente.

e Vista ha 3.5 installato

No, ha la 3.0 installata.Ottieni WPF, ma tu non ottieni linq

Sì, puoi costruire un'applicazione creata in dot NET senza utilizzare il framework.È possibile utilizzare un programma come ESS dotNET FuZe per incorporare qualsiasi DLL, comprese le DLL del framework nell'applicazione.L'EXE risultante non necessita più di un framework.

Per favore vai a questo link: http://essaver.net/fuze.html per dare un'occhiata a FuZe.

E' possibile non richiedere il .NET Framework;ci sono alcune aziende che vendono (per migliaia di dollari, intendiamoci) soluzioni che ti permetteranno di farlo.Si tratta tuttavia di hack completi e non supportati da Microsoft.

Il modo in cui sviluppi applicazioni desktop (ad esempio, utilizzando .NET o meno) dipende dalle tue esigenze.Non esiste un modo preferito.

Il linguaggio più utilizzato è probabilmente C#.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top