Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Il futuro con .Net
Forum - C# / VB.NET - Il futuro con .Net - Pagina 3

Pagine: [ 1 2 3 4 ] Precedente | Prossimo
Avatar
netarrow (Admin)
Guru^2


Messaggi: 2502
Iscritto: 12/05/2004

Segnala al moderatore
Postato alle 22:23
Sabato, 29/01/2011
Mi è sorto un dubbio Linkinf22... lo sai che inclusa in .NET c'è una tecnologia apposita di interoperabilità tra il modello COM-Win32/.NET e viceversa per garantire retrocompatibilità con vecchio codice?

Un pò di risorse:
http://msdn.microsoft.com/en-us/library/ms172270.aspx
http://pinvoke.net/

Ultima modifica effettuata da netarrow il 29/01/2011 alle 22:24
PM Quote
Avatar
Linkinf22 (Normal User)
Rookie


Messaggi: 59
Iscritto: 28/06/2009

Segnala al moderatore
Postato alle 23:19
Sabato, 29/01/2011
Si si che lo so, io stesso ho fatto un programma in C# che utilizza una COM di windows media player.

Ma i miei pensieri sorgono se la microsoft toglie veramente le win32 API dal sistema operativo windows, lasciando solo il .net.

Tu stesso hai detto che microsoft sta lavorando a singularity (ne ero già informato), per cercare di fare un sistema operativo completamente basato su .net e nient' altro.

A parte che se non erro lo avevo letto su wikipedia che la microsoft vuole abbandonare le win32 e ciò che ci gira attorno, perciò non so se è veramente una cosa ufficiale o se lo ha scritto il primo nondicocosa a cui è girato di scriverlo senza alcuna fonte autorevole.
Comunque spero che la microsoft non faccia questa scelta, non dico mai perchè se trova qualcosa di veramente migliore che possa rimpiazzare le win32 sarebbe meglio, ma che faccia la scelta quando sarà il momento opportuno e non abbia fretta. Non so, se magari un giorno riuscirà a far diventare il codice compilato del .net framework una cosa nativa, allora credo sarà venuto il momento giusto, ma ora come ora la vedo come una scelta azzardata :-|

Ultima modifica effettuata da Linkinf22 il 29/01/2011 alle 23:21
PM Quote
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2765
Iscritto: 21/09/2007

Segnala al moderatore
Postato alle 12:10
Domenica, 30/01/2011

credo che il punto che ti sfugga di più, Linkinf22, è che se un'azienda deve sviluppare un software e la microsoft gli fornisce uno strumento che gli permette di metterci 1/10 del tempo con 1/10 dei bug grazie al codice gestito, l'azienda non ci penserà DUE VOLTE prima di utilizzare questo strumento.

Il motivo per cui ancora oggi ci sono programmi grossi non scritti in .NET è che non è possibile fare il porting in tempi brevi di una considerevole quantità di codice. Inoltre bisogna anche considerare il know-how interno all'azienda del team di programmatori di quel software: se sono tutti esperti C/C++/Delphi ha poco senso istruirli su una tecnologia nuova e imporgli di portare il tutto su quest'ultima.
Senza considerare il fatto che un antivirus, tanto per citarne uno, è un tipo di software che poco si presta ad essere scritto in .NET, a causa dell'interazione a basso livello con il sistema operativo, la velocità al primo posto e la resistenza agli attacchi dei virus.

La tecnologia COM invece è un modello ad oggetti (Component Object Model) che permette di interagire con blocchi di codice funzionale già pronto SENZA passare per le API... ma se ci pensi .NET è un'evoluzione di tutto questo :)

Ad ogni modo microsoft non abbandonerà mai completamente il layer nativo, non gli converrebbe mai proprio a causa di quei software basati su di esso che altrimenti resterebbero tagliati fuori dal sistema.

Poi, un'ultima cosa su le tue affermazioni dei "sapientini", personalmente credo che tu, giustamente, sollevi certe questioni proprio perchè NON ci hai mai lavorato con .NET. Ma per "lavorato" io intendo "farci soldi" e "mangiarci", non "usato".

Se veramente mi stai venendo a dire che "[con] le [API] win32 ho notato vantaggi, più libertà" ti posso solo dire che non hai capito nulla.
Ti voglio vedere sviluppare un gestionale con MFC o direttamente con le API, ti voglio vedere sviluppare una piattaforma web in CGI nativo, ti voglio vedere sviluppare un'utility idiota nativamente (1000+ righe di codice) al posto che in .NET (max un centinaio).

Se veramente il tempo è denaro, appunto perchè ci devi mangiare sopra, NON te ne usciresti mai con certe boiate.

Sul fatto che sia interessante utilizzare le api non ti do torto, è giusto capire come il sistema, alla fine, gestisca le cose. Inoltre, come ho già detto, esistono software e software, alcuni si prestano ottimamente allo sviluppo .NET altri decisamente meno. La regola è che se un'applicazione deve interagire a basso livello con il sistema operativo o ha bisogno di altissime prestazioni in ambiti time-critical è NECESSARIO utilizzare codice nativo, sono il primo a dirlo.
Però dove sta l'intelligenza di un programmatore, sta nel realizzare le funzionalità CORE native dell'applicazione in C/C++ ma l'interfaccia grafica, l'accesso a servizi web come SOAP o WCF, interazione con database IL TUTTO in .NET . In questo modo prendi il meglio di entrambi i mondi: prestazioni al 100% sfruttate dell'hardware, interazione con il sistema a basso livello ma anche velocità di sviluppo e testability delle parti meno critiche come la GUI, accesso a servizi e quant'altro.


PM Quote
Avatar
Linkinf22 (Normal User)
Rookie


Messaggi: 59
Iscritto: 28/06/2009

Segnala al moderatore
Postato alle 14:00
Domenica, 30/01/2011
HeDo, non ti do torto.
Le ultime risposte mi sono piaciute, molto complete e convincenti.

Chiedo un consiglio però, a me piacerebbe sviluppare un videogioco 3D, di cui ho già l' idea.
Ovviamente prima, non avendo conoscenze di API ma solo di C#, ho cercato di cimentarmi nella programmazione con XNA.
Con XNA però ho notato molte limitazioni, come il formato dei file 3D, probabile poca moddabilità del gioco da parte degli utenti e cose simili.
Sono passato così alle managed directx, ma non essendo più supportate da microsoft non mi hanno convinto molto. Inoltre mi sembravano piene di bug e con prestazioni scarse.

Mi piacerebbe quindi passare alle directx, ma ovviamente per farlo ho dovuto prima cominciare ad imparare almeno le basi delle win32.
Per il videogioco punto soprattutto sulla moddabilità.

Per voi qual'è la scelta migliore che dovrei fare?
Scegliere il .net (quindi XNA) o passare un lungo periodo di apprendimento delle win32 e delle directx, allungando inoltre il tempo di sviluppo, per avere prestazioni migliori e le potenzialità delle directx? (preferibilmente le directx 10).

Se esce bene mi piacerebbe guadagnarci qualcosa, non dico vendendolo, ma magari tramite le pubblicità del sito internet.

Aggiungo una cosa: l' editor del gioco ero già intenzionato a farlo con .net, per velocizzare il lavoro.

Ultima modifica effettuata da Linkinf22 il 30/01/2011 alle 14:02
PM Quote
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2765
Iscritto: 21/09/2007

Segnala al moderatore
Postato alle 14:11
Domenica, 30/01/2011
Testo quotato

Postato originariamente da Linkinf22:

HeDo, non ti do torto.
Le ultime risposte mi sono piaciute, molto complete e convincenti.




grazie :)

Testo quotato


Chiedo un consiglio però, a me piacerebbe sviluppare un videogioco 3D, di cui ho già l' idea.
Ovviamente prima, non avendo conoscenze di API ma solo di C#, ho cercato di cimentarmi nella programmazione con XNA.
Con XNA però ho notato molte limitazioni, come il formato dei file 3D, probabile poca moddabilità del gioco da parte degli utenti e cose simili.
Sono passato così alle managed directx, ma non essendo più supportate da microsoft non mi hanno convinto molto. Inoltre mi sembravano piene di bug e con prestazioni scarse.

Mi piacerebbe quindi passare alle directx, ma ovviamente per farlo ho dovuto prima cominciare ad imparare almeno le basi delle win32.
Per il videogioco punto soprattutto sulla moddabilità.




allora, premettendo che non ho mai avuto esperienze dirette con XNA ma solo a livello di studio, ti posso dire che per i giochi "semplici" tipo platformers e simili sono imbattibili in fatto di semplicità e facilità di sviluppo.

se ovviamente il tuo target è un gioco più complesso ed articolato è inevitabile passare alla programmazione nativa.

considera anche che Piero, con le managed directx, ci ha sviluppato 3d black jack trainer, che è tutt'altro che un gioco "semplice" :)
prova a parlare con lui dei dettagli tecnici di un possibile approcio "managed" al tuo progetto e vedi che ti dice :)

Testo quotato



Per voi qual'è la scelta migliore che dovrei fare?
Scegliere il .net (quindi XNA) o passare un lungo periodo di apprendimento delle win32 e delle directx, allungando inoltre il tempo di sviluppo, per avere prestazioni migliori e le potenzialità delle directx? (preferibilmente le directx 10).




è sempre questo il dilemma, dipende quali sono i tuoi obbiettivi a corto, medio e lungo termine, se in questo campo ci vorrai rimanere a lungo, se un giorno vorrai lavorarci a tempo pieno, etc... nel caso propendi per il lungo termine è inevitabile considerare un investimento di apprendimento considerevole all'inizio, per poi farlo fruttare in futuro.

Testo quotato


Se esce bene mi piacerebbe guadagnarci qualcosa, non dico vendendolo, ma magari tramite le pubblicità del sito internet.



spero di tutto cuore che tu ci riesca, non è facile, ma la determinazione e la costanza portano inevitabilmente ai $$ :D

Testo quotato


Aggiungo una cosa: l' editor del gioco ero già intenzionato a farlo con .net, per velocizzare il lavoro.



questo è usare la testa, ogni cosa si fa con lo strumento più adatto.


PM Quote
Avatar
Linkinf22 (Normal User)
Rookie


Messaggi: 59
Iscritto: 28/06/2009

Segnala al moderatore
Postato alle 15:09
Domenica, 30/01/2011
il gioco è un progetto un po' complesso e che prevedo mi prenderà anni per completarlo (senza contare il tempo che mi toglie la scuola).

Testo quotato

Postato originariamente da HeDo:
dipende quali sono i tuoi obbiettivi a corto, medio e lungo termine, se in questo campo ci vorrai rimanere a lungo, se un giorno vorrai lavorarci a tempo pieno, etc... nel caso propendi per il lungo termine è inevitabile considerare un investimento di apprendimento considerevole all'inizio, per poi farlo fruttare in futuro.



Si, un giorno mi piacerebbe lavorare nel campo dei videogiochi a tempo pieno, da quando ho iniziato con XNA, per poi passare alle managed directx ormai è passato più di un anno, ed il campo dei videogiochi mi sono accorto che mi prende più dello sviluppare applicazioni non videoludiche.
Perciò vorrei cominciare al meglio, decidendo se usare XNA o le directx, in modo da riuscire a non commettere errori per il futuro.

Ormai ho capito che mi conviene usare le directx per il gioco (ed ovviamente .net per l' editor), ma la mia preoccupazione ora è più per il futuro.
Se veramente la microsoft baserà tutto su .net (anche se non ho ancora capito se lo farà veramente o se sono solo voci che girano per internet) non vorrei che tutta la mia esperienza con le directx poi non serva più a nulla, dovendo ricominciare a fare esperienza con XNA; Che penso sarà lo strumento che le software house di videogiochi utilizzerà in assenza delle win32 e delle directx.

Ultima modifica effettuata da Linkinf22 il 30/01/2011 alle 15:18
PM Quote
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2765
Iscritto: 21/09/2007

Segnala al moderatore
Postato alle 17:04
Domenica, 30/01/2011
Testo quotato

Postato originariamente da Linkinf22:
Se veramente la microsoft baserà tutto su .net (anche se non ho ancora capito se lo farà veramente o se sono solo voci che girano per internet) non vorrei che tutta la mia esperienza con le directx poi non serva più a nulla, dovendo ricominciare a fare esperienza con XNA; Che penso sarà lo strumento che le software house di videogiochi utilizzerà in assenza delle win32 e delle directx.



imo non succederà mai, impara l'arte e mettila da parte. L'esperienza che ti fai su una tecnologia, per quanto poi in futuro possa cambiare e/o evolversi ti rimarrà sempre.

inoltre XNA non va evitato come la peste, ho visto giochini molto interessanti :)

PM Quote
Avatar
Linkinf22 (Normal User)
Rookie


Messaggi: 59
Iscritto: 28/06/2009

Segnala al moderatore
Postato alle 18:24
Domenica, 30/01/2011
Testo quotato

Postato originariamente da HeDo:
inoltre XNA non va evitato come la peste, ho visto giochini molto interessanti :)



Come hai detto tu: giochini, per ora non credo si possa far di più con XNA, poi non si sa mai che in futuro arriverà a permettere di fare giochi come quelli di oggi con supergrafica.

PM Quote
Pagine: [ 1 2 3 4 ] Precedente | Prossimo