Voglio creare un programma grafico che sia portabile sia x win ke x linux. Che linguaggio di programamzione uso? Per fare la portabilità (non so se tecnicametne si kiami così), tra i codici devo fare grandi modifiche?
Voglio creare un programma grafico che sia portabile sia x win ke x linux. Che linguaggio di programamzione uso? Per fare la portabilità (non so se tecnicametne si kiami così), tra i codici devo fare grandi modifiche?
Java!!!!!!
Tieni conto che è interpretato e che la portabilità è ammessa se sulle macchine in esecuzione è presente una jvm. Però non devi cambiare il codice.
Sennò è un pò difficile per es scriverlo in c senza fare grossi cambiamenti tra un sistema e l'altro.
Il fatto è che la gestione grafica il java nn mi è molto kiara...cioè, non ho capito se posso posizionare gli oggetti dove voglio io oppure devo seguire degli skemi...Originariamente inviato da conqueror
Java!!!!!!
Tieni conto che è interpretato e che la portabilità è ammessa se sulle macchine in esecuzione è presente una jvm. Però non devi cambiare il codice.
Sennò è un pò difficile per es scriverlo in c senza fare grossi cambiamenti tra un sistema e l'altro.
Entrambe le possibilità sono a disposizione del programmatore. Il vantaggio di costruire però un Layout con un Layoutmanager non "null" (quello "libero") è che di sicuro ridimensionamenti e simili non introdurranno comportamenti inattesi (leggi, layout spoo!!@nat°)
<´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
"The answer to your question is: welcome to tomorrow"
prendi in considerazione C# che offre non pochi vantaggi rispetto a java non solo rispetto alla performance ma anche alla sintassi del linguaggio
su linux è supportato tramite mono che a breve verrà integrato su tutte le distribuzioni linux ... anche se già comunque ci stanno i pacchetti appositi per le varie distro
inoltre hai la possibilità di usare le GTK, le wxWidgets o le windows forms a tua scelta ... ovviamente ti consiglio quest'ultime
Le windows forms sono ormai completamente sviluppate, manca poco, però sono in fase di testing quindi potresti trovare qualche difficoltà quindi a software ultimato ti consiglio di iniziare a testare l'applicativo su mono
Un'ultima cosa: non utilizzare chiamate native o assembly che lo fanno perché ovviamente se non hai una contro parte che funzioni correttamente anche sugli altri sistemi operativi ... altrimenti il tuo applicativo perde in blocco la portabilità
Di soltio io preferisco fare un'interfaccia standard che mi espone tutta una serie di funzionalità e una volta stabilito una struttura specifica mi carico l'assembly dinamicamente e lo uso tramite interfaccia mantenendo un'estrema semplicità nel codice e nello stesso tempo avendo una velocità superiore rispetto a tutti gli altri sistemi di caricamento dinamico ^^
VM su SSD da 5$! https://www.digitalocean.com/?refcode=f6925c7f0ddb
Ho visual studio .net, posso programamre con questo in c#?
si certoOriginariamente inviato da FinalFantasy
Ho visual studio .net, posso programamre con questo in c#?
VM su SSD da 5$! https://www.digitalocean.com/?refcode=f6925c7f0ddb
Senza creare discussioni inutili e soprattutto "futili" io continuo a sostenere per la tua scelta il java, perchè a) la gestione della grafica secondo me è ottima, gestire il posizionamento tramite layout è secondo me migliore di un normale posizionamento a coordinate. b)Il java è portabilità pura, e tra un pò anch'esso varrà implementato nellle maggiori distribuzioni linux (anzi nella slack il pacchetto del jre c'è già!!). c) le gtk non sono semplicissime. d) C# si appoggia a .net, che come tutti sappiamo è Microzoz e far girare la vm di microzoz su linux secondo me è un sacrilegio!!!
se volevi evitare inutili flame ti potevi risparmiare il punto D
io uso tranquillamente applicativi che ho sviluppato su windows usando il visual studio 2003 su linux senza il benché minimo problema ... e non parlo SOLO di applicativi standalone, ma anche di applicativi che fanno uso del riconoscimento automatico del sistema e avviano il modulo per il so specifico, o di applicativi web o ed altre cose più semplici
gestire le interfacce tramite layout è preferenza prettamente personale ... a te piace definire un layout tabellare (per dire) e mettere i controlli li dentro io invece preferisco definirli sotto tutti gli aspetti a manina ... forse più complesso se si vuole sistemare tutto al dettagglio ma sicuramente da una resa maggiore, soprattutto rispetto ai layout che fanno il posizionamento automatico
inoltre usando java non si ha l'interfaccia nativa del sistema operativo mentre su windows ovviamente con il .net la si ha e su linux il mono fa uso delle gtk o di cocoa per acquisire il thema da andare a usare per disegnare
ho menzionato ANCHE le gtk per una questione di completessa ... ci sono le wxWidgets che a mio parere sono il toolkit per la creazione di applicativi grafici più semplice che esista e comunque si possono usare direttamente i windows form utilizzando direttamente il form designer del rad di microsoft
per finire ... tu definisci java come un linguaggio che ti da la portabilità pura senza conoscere minimamente il .net e consequentemente dicendo che il .net non ti da portabilità agli stessi livelli di java ...
1) non è il linguaggio di per se che ti da la portabilità ma l'implementazione
2) java se non gira su macchine sparc è un ciccia risorse impressionante ... la quantità di memoria che si mangia è impressionante ... con il .net, almeno su windows, questa cosa è molto più lieve dato che è integrato nel sistema ... mentre su linux e gli altri so è quasi indifferente
3) Con il .net puoi fare tutto quello che fai con java su tutti i sistemi operativi avendo dei vantaggi bestiali però su windows perché la piattaforma .net ovviamente ti mette a disposizione una notevole quantità di roba per windows (all'interno dei namespace Microsoft.Win32) ... roba che puoi andare a implementare su linux utilizzando altro già pronto
comunque molto di quello detto qua è soltanto il risultato di esperienze personali ... io mi sono permesso di consigliargli il .NET rispetto a java per tanti motivi che vanno dalla facilità d'utilizzo tramite l'ide gratuito microsoft, tramite la possibilità di disegnare le interfacce direttamente dal rad(microsoft rilascia gratuitamente il visual c# express 2005 per il .net 2.0 e si può usare anche sharp develop 1.1 che è, secondo me, sotto tanti punti di vista, meglio del rad di microsoft). Me lo sono permesso anche perché potrebbe usare il visual basic (come sintassi) col .net trovandosi molto facilitato rispetto al cambio brutale di un linguaggio. E per finire me lo sono permesso anche per un ultimo motivo: con java ho lavorato per circa 6 mesi ... volevo sucidarmi ... col .net ho avuto un milionesimo dei problemi per TANTE cose
VM su SSD da 5$! https://www.digitalocean.com/?refcode=f6925c7f0ddb
Tengo a precisare che il "punto d" non voleva creare assolutamente una diatriba su cosa giri meglio e dove e su quanta memoria si ciuccia (se dobbiamo guardare questo aspetto + in dettaglio W il C++) ma era solo una battuta (mi sono dimnticato la faccina ) e, per come la vedo io, al limite (perchè poi ognuno la pensa come vuole) una questione "filosofica" sull'utilizzo di programmazione targata "microsoft" sotto sistema linux. Questo è quello che penso io.
Spero di aver chiarito cosa intendevo. Poi ogni linguaggio ha i suoi vantaggi, chi in termini di prestazioni, di portabilità, di quello che vuoi.... Ma soprattutto è il diretto interessato (che ha posto la domanda all'inizio) che deve decidere e se magari conosce già uno dei due linguaggi penso si regolerà di conseguenza.
Ciao ciao