[Linux-Biella] Java e flame
Emanuele Aina
em a nerd.ocracy.org
Mar 2 Ott 2007 18:35:45 CEST
Paul TT argomentò:
>> Continuo a non capire perché Java sia multipiattaforma e C# no.
>
> come ho gia' fatto intendere sotto, io ti do un programma in java, vai
> su java.sun.com, ti scarichi il runtime e funziona. :)
Fatta eccezione per mal di pancia di PATH e cose simili. :P
Non so, io ho visto piangere tanta gente che provava a far girare Tomcat
sotto Windows...
> in piu', sotto osx e' gia installato, e m$ ha la sua (seppur merdosa) vm
> integrata, per cui se l'applicazione non e' complessa devi fare davvero
> poco.
Direi che sotto Windows .NET è decisamente avvantaggiato. :)
Penso che prima o poi anche MacOSX includerà un CLR (Common Language
Runtime): Java è più vecchio, è solo una questione di tempo.
> come ho gia' chiesto, se faccio un programma in do diesis, poi cosa devo
> installare per farlo andare? o meglio, sotto M$ (spero che) funzioni,
> senza fare alcunche', ma sotto i sistemi operativi veri?
Sotto Windows Vista il CLR dovrebbe essere già installato. Sotto XP
forse nel SP2.
Sotto MacOSX non so, dovrebbe esserci comunque il runtime di Microsoft.
Sotto Linux/*BSD/ecc. c'è Mono. Io l'ho installato per Tomboy e Banshee.
Non uso F-spot, ma anche quello usa GTK#. Quindi ce l'ho già.
Oddio, Mono c'è anche per MacOSX e Windows, quindi a te la scelta. :)
Io uso Debian e incredibilmente .NET (Mono) ha un indubbio vantaggio: è
opensource (DFSG-compliant).
Java ancora non è totalmente aperto (vedi progetto IcedTea) e ci vorrà
ancora un po' di tempo prima che IcedTea sia usabile ed entri in main.
>> Poi scarichi Paint.NET e dovrebbe funzionare (non provato).
>>
>> Oppure:
>>
>> apt-get install banshee
>>
>> Se preferisci vedere una applicazione GTK# funzionante.
>
> mh, ed e' uguale a come gira in winzoz o osx? e li' cosa devo installare?
> come si adatta il llok and feel al sistema?
Banshee usa le GTK#, i binding .NET di GTK+. Non so come siano sotto
Windows.
Paint.NET dovrebbe usare WinForms, quindi gira ugualmente sia sotto
Linux che Windows.
L'idea comune è che non esistano UI portabili che si adattino al L&F di
piattaforme diverse.
Da SWT a wxWidgets, da WinForms sotto Linux a GTK in Windows, per non
parlare di Swing e AWT, tutte risultano avere imperfezioni più o meno
fastidiose lontano dalla piattaforma nativa.
È quindi sempre consigliabile scrivere una UI diversa per ogni
piattaforma. Per questo è importante separare la UI dalla logica.
>> Aspetto estetico, comportamento del focus, combinazioni di tasti, eccetera.
>>
>> Quando usi una applicazione QT ti accorgi facilmente di non avere
>> davanti una applicazione GTK. Con Swing è anche peggio.
>>
> ...
> io non trovo, ad essere sincero. dipende molto da come scrivi il codice.
> e anche da come implementa la vm, e se gestisci il laf correttamente.
> sotto osx e' decisamente ben integrato, e sotto linux, integra parte
> delle gtk, per cui non trovo tutto sto problema che dici tu.
Un esempio: Swing usa modelli di layout diversi da quelli delle GTK+
(vbox, hbox, quelle cose lì).
Questi determinano anche l'ordine del focus.
Quindi talvolta una applicazione Swing può avere un ordine che stupisce
l'utente GTK+.
Per lo stesso motivo anche il ridimensionamento delle finestre può
comportarsi in modo molto differente.
--
Buongiorno.
Complimenti per l'ottima scelta.
Maggiori informazioni sulla lista
Linux