Qual è la quota di mercato dei programmi scritti in .NET al giorno d'oggi? [chiuso]


11

Al momento stiamo migrando il nostro programma Visual Basic 6.0 su .NET . I destinatari sono solo normali utenti desktop a casa. Discutendo di questo, ci siamo resi conto che non possiamo inventare programmi tradizionali che sembrano essere scritti in .NET. Ci sbagliamo? C'è una buona ragione per questo?


6
Penso che Visual Studio e Paint.NET siano due programmi tradizionali scritti in .NET.
Jonas,

1
Puoi aggiungere codice al tuo prodotto attuale che riporta quali librerie .NET hanno gli utenti attuali?

@ ThorbjørnRavnAndersen: sì, puoi - Richard Grimes ha fatto proprio questo quando è uscito Vista, quindi puoi usare le sue tecniche per vedere quali binari sono stati creati con il caricatore CLR per le app che hai installato. grimes.demon.co.uk/dotnet/vistaAndDotnet.htm (scarica in fondo)
gbjbaanb

Risposte:


3

A seconda della definizione di "programmi di flusso principale", non sembrano esserci molti di essi scritti in VB6.

Naturalmente, C # e VB.NET ora hanno preso quasi il posto in cui VB6 era ~ 10 anni fa. Almeno il 98% è costituito da singoli software che non è possibile acquistare nel proprio negozio di software locale. Ma ciò non significa che non ci siano programmi .NET disponibili. Ce ne sono molti, ma dovrai cercarli nei posti giusti.


18

Al tuo cliente non importa se il tuo programma è scritto in .NET o no. Pertanto, se puoi assicurarti che la stragrande maggioranza del tuo pubblico di destinazione possa installare ed eseguire il tuo software senza problemi, sei a posto.

È molto difficile trovare informazioni accurate sulla penetrazione di .NET Framework , quindi non dovresti fare affidamento su nessuno.

Perché non scegliere come target il profilo client .NET e assicurarsi che sia installato insieme ai file binari? È facile, semplice ed efficace.

Il profilo client .NET Framework 4 è un sottoinsieme di .NET Framework 4 ottimizzato per le applicazioni client. Fornisce funzionalità per la maggior parte delle applicazioni client, tra cui Windows Presentation Foundation (WPF), Windows Form, Windows Communication Foundation (WCF) e ClickOnce. Ciò consente una distribuzione più rapida e un pacchetto di installazione più piccolo per le applicazioni destinate al profilo client .NET Framework 4.

Vedo un altro grande vantaggio del porting del tuo codice VB6 su .NET: la possibilità di creare una versione del tuo software che gira su Linux e OSX usando Mono . Notevoli esempi di applicazioni desktop scritte in .NET e multipiattaforma sono disponibili qui .


11
proprio sul punto importante: i clienti non si preoccupano della piattaforma finché funziona sui propri sistemi. ma non è così giusto nel paragrafo finale: il mono funziona ed è un risultato impressionante; ma è un incubo averlo installato sugli utenti finali. la promessa "multipiattaforma" di .NET è morta sull'acqua.
Javier,

@Javier: Beh, tranne Windows, Windows Phone e XBox 360. Ma il fascino di un linguaggio bytecode che domina Windows non è mai stato, per me, un codice multipiattaforma; piuttosto, è che Windows non è più legato a una particolare architettura (x86 è un casino). La prossima versione di Windows funzionerà anche su ARM . Inoltre, è bello che il software possa ora sfruttare le funzionalità specifiche della configurazione; fondamentalmente, sono tutti i vantaggi dell'approccio Linux (compilazione di software su ogni nuovo sistema), senza alcuna seccatura.
BlueRaja - Danny Pflughoeft l'

@ BlueRaja-DannyPflughoeft: giusto, .net (CLR, in realtà) offre una piattaforma "cross-windows-platform". Niente di cui starnutire, in effetti
Javier,

@BlueRaja: dimentichi che il materiale mostrato in esecuzione su ARM era ... codice C ++ di Microsoft. Cose come i driver della stampante e Office. Non sono applicazioni .NET, quindi l'argomento che .NET è necessario è completamente falso.
gbjbaanb,

@Javier: Mono è così male durante l'installazione? Ho installato un'app mono (Banshee) sul mio Mac OSx e non ho riscontrato alcun problema. Per Windows, non è necessario installare mono. Come sviluppatore che sta pianificando di realizzare un'app mono, sarei davvero felice se potessi fornirmi articoli o riferimenti che dimostrino ciò che dici.

8

La mia esperienza personale è che .NET è dominante nello sviluppo interno, a livello aziendale. La maggior parte di queste applicazioni non sono costruite per il consumo pubblico e quindi non fanno parte del nostro vocabolario quotidiano.

Tuttavia, c'è una ragione molto convincente che così tante grandi aziende hanno adottato queste tecnologie: produttività e felicità del programmatore. C # è un linguaggio di programmazione meraviglioso e produttivo e l'ecosistema .NET è ricco di librerie esistenti per impedirci di reinventare le ruote. Inoltre, WCF, sebbene a volte sorprendentemente complicato, è un framework molto potente per costruire comunicazioni tra sistemi diversi.

Per quanto riguarda la tua specifica circostanza, intraprenderei il porting della tua applicazione solo se in futuro farai molti miglioramenti e modifiche. Se è stabile e in modalità manutenzione, rimpiangerai qualsiasi decisione oltre a lasciarla così com'è.


2
+1 per "C # è meraviglioso". È davvero un linguaggio meraviglioso
shashwat,

2

In realtà, secondo TIOBE , C # (un linguaggio .NET) è ora il quarto linguaggio più popolare al mondo.

Inoltre, sono d'accordo con un altro poster che i clienti non si preoccupano della lingua in cui è scritta la tua app, purché funzioni.


3
Penso che il numero di tag su StackOverflow sia più rappresentativo del ranking di ricerca TIOBE.
Jonas,

4
No, questo è solo perché i programmatori C sono programmatori reali e i programmatori reali non chiedono aiuto.
Gustav Bertram,

2
La lettura delle viscere delle capre è probabilmente più accurata di TIOBE. A proposito, non sostengo in alcun modo la denuncia delle viscere di capra per qualcosa di diverso dalla trasformazione delle sostanze mangiate da una capra.
Adam Crossland,

@Gustav: sì, il numero di tag su C # su SO mostra solo che è un linguaggio difficile con cui più persone hanno bisogno di aiuto :)
gbjbaanb

1

Decidi se ci sono funzionalità che il tuo mercato desidera che puoi solo o più facilmente creare in .NET. Considera che assumere nuovi sviluppatori è un altro mercato da considerare. Potresti trovare o meno altri sviluppatori VB.NET adatti alle tue esigenze (livello di esperienza, conoscenza del dominio, ecc.). I tuoi attuali sviluppatori vogliono davvero fare il passaggio?

Non conosco il mercato degli utenti domestici, ma il mercato aziendale è piuttosto pesante nelle app .net.


0

VB6 non è più supportato dagli Stati membri (rif: http://blogs.technet.com/b/lifecycle/archive/2008/04/16/end-of-support-for-visual-basic-6-0. aspx ). Quindi, se hai problemi dal punto di vista dello sviluppo, non otterrai supporto dalla fonte.

VB.NET, d'altra parte, è ancora attivamente sviluppato e supportato.

La somiglianza tra .NET Framework e Java JRE così come le somiglianze tra C # e Java stesso ha fatto crescere rapidamente la comunità di sviluppatori C # /. NET.

La fornitura di sviluppatori VB6 diminuirà mentre è probabile che quelli VB.NET/C# aumentino e possano far progredire il prodotto.


0

non possiamo trovare i principali programmi di streaming che sembrano essere scritti in .Net.

Sono abbastanza sicuro che il pannello di controllo della scheda grafica ATI Catalyst sia scritto in .NET, quindi praticamente tutti i PC che dispongono di una scheda grafica ATI. Grandi numeri di normali utenti desktop ...

Un altro buon esempio è Samsung Kies , che la maggior parte delle persone che hanno telefoni Samsung hanno installato.


Per favore, spiega il downvote?
MattDavey,

-1

Suppongo che non abbia importanza: ciò che potrebbe importare di più è in che cosa verrà scritta la maggior parte dei programmi in futuro. Ora MS si sta concentrando sulle app di Win8, forse ti conviene preoccuparti dell'adozione di HTML5 + js e WinRT piuttosto che di .NET legacy.

L'ultima cosa che vuoi fare è portare tutto su .NET e quindi devi fare molte più rielaborazioni per farlo funzionare bene con Windows 8.


ah! la verità fa male :) WinPhone8 in realtà mostra che questo è il caso, non più XNA, se vuoi una fantastica grafica 3D, hai bisogno dell'SDK nativo.
gbjbaanb,

Non vedo la correlazione tra il supporto XNA su WinPhone 8 e il supporto .NET Framework su Windows 8? (tra l'altro non sono stato io a declassarti, ma chiamare .NET 'legacy' era un po 'chiederlo)
MattDavey,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.