Szevasztok!
A cégnél van egy elég komoly C#-os project Windowsra, amit most szeretnénk portolni Linuxra. Én a dologba, mint linuxhoz értő ember kerültem. Jelen pillanatban (vizsgálati fázis) a Mono elég jónak tűnik a C#-os bájtkód futtatására, de az már pl. tisztán látszik, hogy a WinForms-szal gondok lesznek, noha a Mono weblapja szerint van WinForms támogatás, csak épp nem teljeskörű. De ez nem feltétlenül baj. Sikerült minimális munkával ARM-ra is lefordítanom a legfrissebb Mono-t, igaz, a hello world-öt még nem próbáltam ki rajta.
Most azt (is) vizsgáljuk, hogy mit tegyünk, ha Monoval nem sikerül mégsem életre kelteni a C# projectet, vagy akkora mértékű újraírást igényelne a kód, hogy nem érdemes nekiállni. A kérdésem az lenne tömören, hogy tudtok-e olyan, Monohoz hasonló runtime env-ről Linuxra, ami C# bájtkódot tud futtatni? Első körben x86-on futó linuxra kéne, utána pedig ARM-on.
Előre is kösz!
- 5707 megtekintés
Hozzászólások
Erre imho akkor kellett volna gondolni, amikor elkezdtétek a projekt-et :) Írtátok volna inkább java-ban :) Hogy értelmeset is szóljak, szerintem nincs más alternatíva a mono-ra, és azzal is gondok lesznek. Szerintem.
--
HUPbeszolas FF extension
- A hozzászóláshoz be kell jelentkezni
A projectet nem mi kezdtük el, hanem az amerikai kollegák, évekkel ezelőtt, és akkor egyértelműen Windows volt a választott platform. Most a projectet szeretnénk mi folytatni, és szeretnénk megfelelni az időközben felmerült újabb (céges) követelményeknek is, mint pl. linuxon futtathatóság, portolás ARM-ra stb.
Sajnos a project átírása Javara, C++-ra, akármire túl sok időbe és pénzbe kerülne, így (egyelőre) nem alternatíva. A meglévő kódbázist kell reszelgetni.
--
http://www.open-st.eu
- A hozzászóláshoz be kell jelentkezni
DotGNU.
Másról nem tudok. De a mono tudtommal többet tud. Lesz vele meló, ha pechesek vagytok...
- A hozzászóláshoz be kell jelentkezni
Kösz. Munka mindenképpen lesz vele, a kérdés csak annyi, hogy meg tudjuk-e néhány hónapon belül csinálni, vagy sem ;)
--
http://www.open-st.eu
- A hozzászóláshoz be kell jelentkezni
Ha csak a GUI részével lesz gondotok, akor érdemes lehet csak a GUI részét lecserélni (ehhez persze az alkalmazást úgy kell tervezni, hogy a GUI réteg kellően "vékony" legyen). A GTK# kiválóan működik, ellentétben a WinFormsszal: szerintem a WinForms megvalósítás elég csúnya lett, azt én nem adnám oda a megrendelőnek.
Egyébként a GTK# működik Windowson is, csak egy csomagot kell felinstallálni a .NET keretrendszer mellé, és natív kinézetet ad, ami pedig nem hátrány.
Fuszenecker_Róbert
- A hozzászóláshoz be kell jelentkezni
Ez igy mindenkeppen szivasnak nez ki.
A project jellegetol/meretetol/strukturajatol fuggoen - ha van ertelme - meg a webre portolast is meggondolnam. Akkor csak a megjelenitest kell egy kicsit atturni, es egy tavoli ASP.Net server ki tud szolgalni barmilyen klienst. Persze ha a megjelenites tulsagosan be van drotozva, vagy az eroforras/offline mukodes miatt ez nem jarhato ut, az is elkepzelheto.
--
I have come to the conclusion, that the matrix must have some bad bullet lag.
- A hozzászóláshoz be kell jelentkezni
eleg sokmindentol fugg, hogy mekkora reszt kell atirni. pl mennyire van retegezve, mennyire vannak lazan kapcsolva a komponensek. ha ugy tunik, hogy nagy szivas atrakni a jelenlegi formaban, akkor en megfontolnam, hogy eloszor win-en rakjuk rendbe a kodot, es mikor a tiszta kod mar megy ott, akkor elkezdeni portolni. ezt meg lehet fejelni meg azzal, hogy raszantok idot azoknak a hianyossagoknak az elemzesere, ami a Mono-nal fent all, es ennek tudataban rendberakni a kodot win-en, majd portolni. az szinte biztos, hogy nem lesz egyszeru futam.
- A hozzászóláshoz be kell jelentkezni
(többieknek is kösz a választ)
Egyetértek. Jelen pillanatban még a járható utakat keressük, és az is vizsgálat tárgya, hogy a Mononak mi nem fog tetszeni. (Van is egy tool, amit lefuttatva a C# programon megmondja, mi az ami fájni fog Mono alatt)
Ha jól sejtem, akkor a Mono a legkiforrottab C# környezet Linuxra, igaz?
--
http://www.open-st.eu
- A hozzászóláshoz be kell jelentkezni
A mono-t aktívan fejlesztik (legutóbbi commit 16 órája történt).
a DotGNU és a Portable.NET legutolsó stabil kiadása 2007-es.
Egyébként nekem az a véleményem, hogy a Windowsra a .NET keretrendszert kell használni, fejleszéshez pedig a Visual Studiot vagy a SharpDevelopot. Linuxra pedig a Monot és a Monodevelopot.
Sajnos cross-platform GUI-t nem könnyű gyártani, Windowsra a WPF a legcélszerűbb, Linuxra pedig a Gtk#. Egyik commentben említette valaki, hogy a legegyszerűbb cross-platform GUI a webes alkalmazás.
Ha tényleg arra van szükség, hogy több platformon működjön a szoftver, akkor azt már az elejétől úgy kell tervezni, hogy nagyon lazán kapcsolódjon az üzleti logika és a GUI.
Fuszenecker_Róbert
- A hozzászóláshoz be kell jelentkezni
meg nem dolgoztam Mono-val (egyszer a moonlightot vizsgaltuk hasonlo okokbol), de 99%, hogy az a legjobb linuxra. ha nem, akkor irja meg valaki.
- A hozzászóláshoz be kell jelentkezni
igen, Mono az egyetlen, ami működik is. Persze portolni kell a kódot. Ha a GUI a leggázabb, s mindenképpen dolgozni kell vele, akkor a GTK#-ot érdemes meggondolni, Winen tényleg csak egy plusz csomag telepítése. A többi kódnál meg kiderül, mit kell átírni. A WinForm-ot tuti nem erőltetném.
- A hozzászóláshoz be kell jelentkezni
Mi lett végül az eredmény, sikerült életre kelteni a terméketeket Monoval is?
Fuszenecker_Róbert
- A hozzászóláshoz be kell jelentkezni