Newsgroup: it.comp.lang.visual-basic
Titolo: [ot] Mono ...ma funziona?

Problema dei problemi:
il vecchio programma in vb6 il cliente si sarebbe deciso a migrarlo (ed a rivedere le specifiche...era ora! dopo 4 anni di continue richieste alla pene di canide era diventato un mega spaghetti code).
Solo che ha messo come vincolo linux (fedora per la precisione)!
A parte il C# che non sarebbe un problema....ma MONO funziona?
E sopratutto...posso io sviluppare da windows...e poi avere la certezza che funzioni anche in linux?
Si tratta di un programma abbastanza semplice una volta riscritte le specifiche depurate delle cose inutili raccolte negli anni!
p.s.
Esiste un mono anche per mac osx?

 ha scritto:

Esiste anche per MacOSX.
Mono in se non dovrebbe essere malaccio.
Essendo un prodotto abbastanza maturo non dovresti aver problemi di sorta.
Attendiamo chi ne sa di più ^_^


Ciao Wodka,
io lo uso per il mio FreeTranslator e funziona abbastanza bene.
Interfaccia grafica Windows Forms, WebBrowser control, DB SQLite (ma
anche SQL Server o Access dovrebbero andar bene).
Se sviluppi referenziando direttamente Mono, sei sicuro che poi non hai
problemi sotto linux.
Nicola



Io l'ho provato per un programma sviluppato in .NET su Windows (complesso
dal punto di vista dell'interfaccia utente) e brutalmente eseguito su
Ubuntu...nisba.
Però con qualche modifica sono riuscito a farlo diventare veramente cross
platform (compilo su Visual Studio e eseguo ovunque), ti elenco i miei
interventi:
Su Linux il separatore dei percorsi da file è diverso, quindi tutti le
stringhe di creazione percorso file te le devi gestire con una variabile in
cui mettere il separatore.
Per riconoscere se il tuo programma è in esecuzione su Linux o Windows io
uso
Dim RunningUnix as Boolean
RunningUnix =
System.Environment.OSVersion.ToString.ToLower.Contains("unix")
Slash = IIf(RunningUnix, "/", "\")
Il percorso Dati Applicazioni richiede permessi diversi, su Windows (anche
Seven) su ProgramData ci puoi scrivere anche senza privilegi
amministrativi, nella equivalente cartella Linux no, quindi
Public Function GetDataFolder() As String
If Not RunningUnix Then
GetDataFolder =
Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData).ToString
& "\mioprogramma"
Else
GetDataFolder =
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData).ToString
& "/mioprogramma"
End If
End Function
Ho avuto qualche problemino con i font, che ho risolto forzando un font
particolare per il form
If RunningUnix Then Me.Font = New Font("Arial", 8.25, FontStyle.Regular)
Inoltre se usi la classe SerialPort devi gestirti in autonomia il polling
verso la periferica. 
Tutto questo testato su Ubuntu Desktop 10.10 (comodo perché include già
Mono preinstallato).
Ricordati che devi scaricarti dal repository 
badgerports.org
 
la libreria di VisualBasic, di default non presente, per poter utilizzare
Windows Form.
Inoltre ti consiglio di non aspettare l'ultimo momento per i test su Linux
ma di farti una virtual machine dove periodicamente fare controlli.
Con poco lavoro - con queste note ti faccio risparmiare ore di sbattimenti
:-) - dovresti ottenere una versione usabile praticamente subito !
PaF

 cui mettere il separatore.
Per questo tipo di cose ci sono già delle costanti e metodi nativi del framework (IO.Path.VolumeSeparatorChar, System.IO.Path.DirectorySeparatorChar, Io.Path.Combine(x,y) ecc.. ) che dovrebbero essere trasparenti nei due ambienti.

 ma MONO funziona?
Attenzione che dopo l'acquisizione di Novell da parte di Attachmate il 
futuro di Mono sembra fortemente compromesso. La nuovo societą ha chiuso 
da subito tutto il loro gruppo di sviluppo che si occupava del progetto.
-- 
Saluti
VITRIOL

 Per questo tipo di cose ci sono già delle costanti e metodi nativi del framework (IO.Path.VolumeSeparatorChar, System.IO.Path.DirectorySeparatorChar, Io.Path.Combine(x,y) ecc.. ) che dovrebbero essere trasparenti nei due ambienti.
Wow grazie della dritta !
PaF



Vacca ho letto, che brutta cosa :-(
Mono č open source, ma senza gente stipendiata che ci lavora non so come
procederą...
PaF

...ringrazio tutti !
E' un casino lo sapevo ma non credevo così! Nel senso....se funziona ma chiudono lo sviluppo in pratica è una strada chiusa!
Che mi rimane allora di ambiente di sviluppo cross platform? Java e basta
oppure php + apache
...cmq vada l'esperienza del mondo net la uso solo come aiuto concettuale per le classi!(ossia butto parecchio alle ortiche)
Ma Gambas va poi tanto male? o è fermo anche quello?

da subito tutto il loro gruppo di sviluppo che si occupava del progetto.
Gią, č di ieri la notizia di Skype, poi OpenOffice, VirtualBox, MySQL, e magari
qualcos'altro che non so.
Insomma non č proprio un buon periodo per le applicazioni multipiattaforma e
gratuite.
--
ciao
  Stefano

 :-) - dovresti ottenere una versione usabile praticamente subito !
Quoto.
Nicola