XobotOS - de Icaza és csapata portolta az Android-ot C#-ra

 ( trey | 2012. május 5., szombat - 5:50 )

Miguel de Icaza és csapata fejében megfogalmazódott a gondolat: lehetne-e olyan Android telefont készíteni, ami teljes mértékben Java-mentes, illetve mentes a Dalvik VM korlátaitól. Az ötletet elég őrültnek tartották ahhoz, hogy elindítsanak egy kutatási projektet a Xamarin-nál, amelynek a célja az, hogy portolja az Android-ot Java-ról C#-ra. A projektet XobotOS-nek nevezték el. A munka során az Android 4.0 forrását portolták fél-automatikus módon Java-ról C#-ra. A munka eredményét feltolták a github-ra. Részletek a munkáról itt.

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

Érdekes kezdeményezés.

Úgy néz ki hogy a Dalvik-hoz képest jóval gyorsabb. Gyengébb vasakon is jól teljesít. Jó lenne ha elterjedne. Az akkuidőre jótékony hatása lenne.

Az is jó kérdés, hogy az Oracle (Sun) JVM és a Dalvik JVM között mekkora lenne a különbség és kinek a javára...

A Dalvik nem JVM, ossze sem hasonlithato a HotSpottal. Az egyik peldaul stack machine, a masik meg register machine.

Jó nem JVM a Dalvik VM, de attól még teljesítményben miért ne lehetne összehasonlítani a JVM-mel? Van aki már meg is tette: http://en.wikipedia.org/wiki/Dalvik_(software)#Performance

Mindenesetre a Mono VM-je is stack machine, ez mégsem akadályozta meg őket a cikkben hivatkozott összehasonlításra...

"However, tests performed on ARM devices by Oracle with standard non-graphical Java benchmarks"
a Dalvik célja kimerül az Android támogatásában. aki pedig Dalvikon akar publikus szerverszolgáltatást nyújtani vessen magára:)
a Strings tesztekben jól teljesített a Dalvik, ami egyébkét sosem volt a Java erőssége, az Android UInél pedig ez sem hátrány.
továbbá az Android mobilokban alacsonyan kell tartani a fogyasztást, mert még egy smartphone akkujának is ki kell bírnia egy napot újratöltés nélkül. tény, hogy az Angstrom linux sem fogyaszt sokat, de az nem kötődik ezer szállal a Javahoz, ill Dalvikhoz, mint az Android.
egyébként is kicsit már régi a cikk, az újabb ICS Androiddal lényegesen javult a Dalvik teljesítménye.
persze lehet még optimalizálni a Dalvikot, a MyRiad azt állítja szép eredményeket ért el a Dalvik Turboval, habár ez sem mai hír.

Idézet:
az újabb ICS Androiddal lényegesen javult a Dalvik teljesítménye.

Ugylatszik van meg mit optimalizalni rajta. A negymagos Galaxy S3 kapcsan irtak:

Idézet:
In terms of system responsiveness, it is good, but not “groundbreaking” when compared to other fast Android handsets. I think that this is mainly an Android “thing”, so there’s not much that Samsung can do about this. Android 4.0 improved the UI responsiveness by quite a bit, but in my opinion, iOS and Windows Phone are still more responsive to user input.

De, legalabb stringeknel mar jol teljesit. :)

Vicces egymás mellett olvasni az iOS-t és a Windows Phone hulladékot, ami egy marginális kisebbséget leszámítva senkit nem érdekel.

Nem szeretem a WP7-et, de amit abban a bizonyos mondatban írtak, az igaz. Nagyon gyors a UI.

az Ångström linux is nagyon gyors. akkor mondjuk azt, hogy
"Android 4.0 improved the UI responsiveness by quite a bit, but in my opinion, iOS and Ångström are still more responsive to user input":)
egyébként inkább a gyors UI illúzióját kelti a WP7 az egyszeri userben, az átvezető animációknak köszönhetően. de legalább annyit elértek, hogy a WP7 már kicsörög ha hívás van, elődjének a Windows Mobilenak ez a bravúr gyakran nem sikerült:)

Azon az UI-n tudomásom szerint alig van valami, amit nehéz optimálisan renderelni :)

--
http://neurogadget.com/

Na mert az a néhány menüelem meg gomb, ami egy iOS/Android UI-t jellemez, az aztán egy Crysis 3...

Meg ugye csak a render eszi a vasat, az mögött funkció nem létezik...

----------------
Lvl86 Troll - Think Wishfully™

marketingfogás, amit előszeretettel visszhangoznak a rajongók:) ez is egy "fondorlatos" MS hup hup hup barba trukk, amivel kedvezőbb színben próbálják feltüntetni a "futottak még" kategóriában versenyző WP7 platformjukat:)

Ebben hasonlítanak a desktop Linuxszal :)

tulajdonképpen igazad van:) ha összevetjük a mostani mobilOS viszonyokat a 90es évek Personal Computer platformjaival, akkor
az Apple továbbra is az új/régi Apple,
az Android az új PC,
és a WP7 az új Linux:D
...
ja és még, a Maemo/MeeGo az új Amiga, amit az anyacég inkompetens pöcsölése agyonbaszott:(

Mit szamit ha 2x gyorsabb, de 10x gyorsabban meriti az akkut? Mobil eszkozokon a muvetekre juto energiafelhasznalas komolyabb tenyezo mint a sebesseg...

A cikkben linkelt oldal 2. bekezdésének eleje:
"But Java is not the only way to build native apps on Android. In fact, it’s not even the best way: we have been offering C# to Android developers as a high-performance, low-battery consuming alternative to Java."

Egyébként azért nincs igazad, mert a vas a szoftver alatt ugyanaz. Így ha a szoftvert lecserélem egy 2x olyan gyors szoftverre, akkor a vasat fele annyi ideig fogja dolgoztatni ugyan annyi munka elvégzéséhez, azaz kevesebbet fog fogyasztani az eszköz.

Nem mondta senki, hogy ugyanazon hardvert ugyanannyira dolgoztatja...

Varhatoan melyik verzio igenyel tobb energiafelhasznalast? Ez aranyban all vajon a vegrehajtott (osszes) utasitasok szamaval?

a) egy egyszeru interpreter, ami 1 cpu-t minimalisan hasznalva, tobbnyire nativ kodblokkokat futtatva elvegzi a feladatot 1T ido alatt
b) 4core-n futo rettenetesen bonyolult jit, amibol 2 core gyorsan ujraforditja es optimalizalja a kodot, 1 gc-vel foglalkozik a megmaradt coren pedig epp magat a szamitast vegzi, es persze egymassal is kommunikalnak, mert valahogy egyutt kell mukodniuk, es elvegzi mindezt 0.5T ido alatt

"ami 1 cpu-t minimalisan hasznalva"

Ennek mi értelme volna? Ha van egy feladat, akkor minden rendszer arra törekszik, hogy azt a lehető leggyorsabban, a rendelkezésre álló erőforrásokat maximálisan kihasználva elvégezze. (Persze feltételezve, hogy nincs olyan szűk keresztmetszet, ami miatt ezen erőforrásokat az idő jelentős részében nem tudná feladattal ellátni, ami miatt alacsony energiafogyasztású állapotba kapcsolná azokat.)

Oké, az még elképzelhető, hogy egy szoftver nem képes kihasználni több cput, de azt az egyet amit tud, azt maximálisan ki fogja használni, amíg el nem végezte a feladatot. Ha ebben az esetben az 1 coreon futó szoftver kevesebb, mint n-szer lassabb, mint az n coreon futó másik szoftver, abban az esetben elképzelhető, hogy az első szoftver futtatása kevesebb energiát fog igényelni. De ekkor még mindig figyelembe kell venni, hogy a nem kihasznált erőforrások is használni fognak valamennyi energiát.

+1
gyorsabb szoftver = hosszabb akku, ha ugyanazt a számolást kell elvégeznie összesen...

Most vagy a Mono nagyon jó vagy a WP7 alatti VM szar vagy az Android Java forrása átlagon felüli vagy valamit nem jól mértek.
--
http://wiki.javaforum.hu/display/~auth.gabor/Home

Hogy jön ide a WP7?

Tecciktudni a WP7 teteje ugye C#, s ez az oprendszer rész, meg az alkalmazások is Microsoft féle VM-en futnak... mint a Linux felett a Mono-n futó C# "Android".

Van egy állítás: az Android Dalvik feletti része C# fork formájában Mono-n sokkal gyorsabban fut, mint a Dalvik feletti Android kód. Beleértve gondolom az alkalmazásokat is.
Van egy tény: a WP7 és egy Android azonos HTC hardveren nem mutat jelentős teljesítménykülönbséget, se akkuidőre, se sebességre.

Ebből következik, hogy:
* vagy a Mono + Linux nagyon jó, de akkor miért nem látom terjedni?
* vagy az Android forrásminősége sokkal jobb, mint a WP7, ezt kevéssé hiszem, nem hülyék ülnek a WP7 fejlesztők székében
* vagy a WP7 sikerült nagyon gyengére, de ugye évek óta dolgozik rajta az MS
* vagy valami hülyeséget mértek, esetleg valami olyan funkciót, amely valóban sokkal gyorsabb, de csak a CPU idő elenyésző idejében fut

Csodák nincsenek... Miguel de Icaza egyszerűen csak tolja a saját projektjét, ahol csak tudja. Annó az OpenSuSE tartalmazott jópár Mono alapú adminisztrációs eszközt, ma már egy ilyen sincs... tulajdonképpen nem is tudok olyan OpenSuSE programot, amely Mono alapú. Sok jelentősége nincs ennek, azonban a Novell tolja a Mono-t, de ha a saját disztribúciójában sincs évek óta mono alapú program (pedig volt), az jelent valamit...
--
http://wiki.javaforum.hu/display/~auth.gabor/Home

"Van egy tény: a WP7 és egy Android azonos HTC hardveren nem mutat jelentős teljesítménykülönbséget, se akkuidőre, se sebességre."

Attól ez még almát a körtével tipikus esete, csak a gyümölcskosár ugyanaz.

"* vagy a Mono + Linux nagyon jó, de akkor miért nem látom terjedni?"

Az megvan, hogy a mono régóta nem a desktop/server linuxot célozza, hanem a mobil platformokat? Pl.

"Attól ez még almát a körtével tipikus esete, csak a gyümölcskosár ugyanaz."

Azonos hardveren általános használattal akkuidőt nem lehet összehasonlítani? Ha csak 20-25 százalékkal bírná tovább a WP7, ezzel reklámoznák. :)

"Az megvan, hogy a mono régóta nem a desktop/server linuxot célozza, hanem a mobil platformokat?"

És? Ha valami jó teljesítményt nyújt mobil platformon -- ugye egy virtuális gépről beszélünk, akkor az desktopon is jobb kell legyen, pláne, ha a kernel azonos... :)
--
http://wiki.javaforum.hu/display/~auth.gabor/Home

Várjunk csak egy kicsit! Az általam említett példában nem csak mobil platformokról van szó! Ugyanez a Mono implementáció hajtja a Unity 3D-t Windows, Mac OS X, Wii, Playstation 3 és XBox 360 platformokon is! Csak, hogy tiszta legyen a kép... ;)

mobil/tablet platformokon kívül van sikeres, nem budget kategóriás játék ami Unity enginet használ?

Olyasmire gondolsz mint peldaul a Battlestar Galactica Online?

ez a böngészőben játszható _ingyenes_ multiplayer játék lenne a nonbudget kategória legimpozánsabb képviselője?!

Passz, en erre emlekeztem hogy Unity3D-vel keszült.
De mi a gond a budget kategorias jatekokkal? Foleg ugy, hogy a legtobb MMO az utobbi par evben freemium modellt kovet, tehat csak abbol hogy ingyenes nem igazan lehet tul sok mindent levonni. Vagy mit szeretnel bizonyitottnak latni, ha csak budget kategorias jatekok keszulnek vele?

súlytalan érv az, hogy a Unityvel mobilOSek mellett konzolokra és Winre valamint OSXre is készülnek játékok, ha azok olcsó/ingyenes játékok, mobiljátékoknál alig jobb grafikával. ettől még nem lesz egy kategória olyan nevekkel, mint Unreal Engine, IW engine, vagy id Tech. ilyen erővel ott van a Disney féle Pirates of the Caribbean Online Panda3Dvel, vagy Ankh OGRE3Dvel.

"IW engine"

Most arról az IW engine-ről beszélünk, amely gyakorlatilag egyenes ágú leszármazottja a Quake3-nak és már az MW2 idején is elavultnak számított?

----------------
Lvl86 Troll - Think Wishfully™

Idézet:
súlytalan érv az, hogy a Unityvel mobilOSek mellett konzolokra és Winre valamint OSXre is készülnek játékok, ha azok olcsó/ingyenes játékok

Miert lenne sulytalan? Par eve elindult egy trend a jatek piacon az olcso/freemium jatekok iranyaba. Ennek a trendnek az eredmenye az, hogy az Unreal Engine portolva lett ios-re es a 99$-os Royalty license budget kategorias jatekok irasara osztonzi a fejlesztoket.
Plusz, az, hogy en vagy te nem tudunk nem budget kategorias jatekrol nem jelenti azt hogy nincs(ha a BSG Online havidijas lenne, akkor a mono es U3D rogton nagyszeru lenne?), es ha nincs akkor sem biztos hogy a mono vagy az egesz U3D infrastruktura nem alkalmas ra hanem lehet akar a fent emlitett trend eredmenye.

Idézet:
ettől még nem lesz egy kategória olyan nevekkel, mint Unreal Engine, IW engine, vagy id Tech

Szerintem ilyet senki nem probalt meg allitani.

Idézet:
ilyen erővel ott van a Disney féle Pirates of the Caribbean Online Panda3Dvel, vagy Ankh OGRE3Dvel.

Igen, es? :) A Panda3D-t nem ismerem, de az hogy idehozod az Ogre3D-t abbol nekem az jon le hogy nemigazan vagy erintett jatekfejlesztesben(az O3D egy nagyon jo stuff, de 'csak' egy render engine).

Szoval meg mindig nem ertem hogy mit szeretnel bizonyitani a monoval kapcsolatban.

"Miert lenne sulytalan? Par eve elindult egy trend a jatek piacon az olcso/freemium jatekok iranyaba. Ennek a trendnek az eredmenye az, hogy az Unreal Engine portolva lett ios-re es a 99$-os Royalty license budget kategorias jatekok irasara osztonzi a fejlesztoket".

pontosabban megjelent egy új kategória, amit a smartphone/tablet platformok képviselnek, saját ökoszisztémával és természetesen saját árrendszerrel. ebben a rendszerben a PC és konzolvilág játékainál jóval olcsóbb és többnyire egyszerűbb játékok jelentik a mainstreamet. az "A" kategóriás PC vagy konzoljátékok árszintje ettől még nem esett. nem véletlen, hogy egyetlen Unity engines konzol vagy PC játék sem lett GOTY.
Franko azt írta "Ha valami jó teljesítményt nyújt mobil platformon -- ugye egy virtuális gépről beszélünk, akkor az desktopon is jobb kell legyen, pláne, ha a kernel azonos"...
ami megfontolásra érdemes gondolat, bár iOS esetében nincs virtuális gép az Apple sajátos szabályai miatt. erre írta Mash, "Az általam említett példában nem csak mobil platformokról van szó! Ugyanez a Mono implementáció hajtja a Unity 3D-t Windows, Mac OS X, Wii, Playstation 3 és XBox 360 platformokon is"!
de ez így már sántít, mert még a Unity mobilOSeken valóban tényező, addig PCn és konzolon egy jelentéktelen szereplő.

"Plusz, az, hogy en vagy te nem tudunk nem budget kategorias jatekrol nem jelenti azt hogy nincs"

ebben igazad van. ezért is tettem fel a kérdést. én sem tudok !budget PC/konzol játékról, pláne olyanról ami sikeres is.

"(ha a BSG Online havidijas lenne, akkor a mono es U3D rogton nagyszeru lenne?), es ha nincs akkor sem biztos hogy a mono vagy az egesz U3D infrastruktura nem alkalmas ra hanem lehet akar a fent emlitett trend eredmenye".

van egy olyan gyanúm, nem véletlenül ingyenes a BSG Online. ha havidíjas lenne, alig lenne fizetős játékosuk és becsődölne a projekt.

"Igen, es? :) A Panda3D-t nem ismerem, de az hogy idehozod az Ogre3D-t abbol nekem az jon le hogy nemigazan vagy erintett jatekfejlesztesben(az O3D egy nagyon jo stuff, de 'csak' egy render engine).

Szoval meg mindig nem ertem hogy mit szeretnel bizonyitani a monoval kapcsolatban".

a Panda3D nemcsak render engine. az OGRE3D elég közismert, ezért említettem. az ODE és egyebek összeszedhetőek hozzá egy játék fejlesztésénél. illetve ha már leragadunk OGRE témánál, ott van a NeoAxis, ami OGRE3Dt használ 3D rendering enginenek és egy teljes middleware, csak nem ismert eléggé. egyébként az is használ Mono runtimeot, ebben a kategóriában ez nem ritkaság. ezekkel Unity szintű PC játékok készülnek, amiket szokás leszólni a hupon.

Idézet:
de ez így már sántít, mert még a Unity mobilOSeken valóban tényező, addig PCn és konzolon egy jelentéktelen szereplő.

Tehat szerinted a mono miatt jelentektelen szereplo a Unity PC-n es konzolokon?

Idézet:
van egy olyan gyanúm, nem véletlenül ingyenes a BSG Online. ha havidíjas lenne, alig lenne fizetős játékosuk és becsődölne a projekt.

Igen, ezt eljatszottak par MMO-nal. Miutan nem nagyon ment a havidijas moka atalltak valamilyen free to play rendszerre. Ilyen volt peldaul a LOTR Online, D&D Online. A WoW sikeret nehez leutannozni, egy freemium modellel pedig sokkal tobben probalhajak ki a jatekot es valhatnak potencialis vasarlova, vagy ha masnem lesz kivel jatszani a fizeto jatekosoknak.

Mindenesetre a BSG online sem azert csodolne be ha fizetos lenne mert U3D-vel csinaltak es mono van alatta.

"Tehat szerinted a mono miatt jelentektelen szereplo a Unity PC-n es konzolokon"?

természetesen nem, de nem is érv a Unity a Mono mellett.

a cikk témájához visszatérve, a XobotOSel komoly jogi problémák vannak. a Mono miatt kétszeresen is aggályos ez a rendszer. a Microsoft közösségnek tett ígérete nem kötelezi semmire. könnyű préda lehet a Mono a Microsoft számára ha támadni akarja. továbbá Miguel legújabb cége a Xamarin nem jogutóda a korábban Mono fejlesztéssel foglalkozó Novellnek. így a Mono a Novellt felvásárló Attachmate által is támadható.

Az egészben az a borzasztó, hogy a C# szerintem egy normális nyelv.
A te kifogásaid a mono ellen sem technikai jellegűek, hanem paragrafusokról és törvényekről szólnak.

Teljesen osztom a véleményedet, csak igazából sajnálom, hogy egy jó nyelvet a Microsoft idióta jogászainak köszönhetően lehúzunk a klotyón.

Már aki... :)

ha már maga a Microsoft is a HTML/JavaScript vonalat tolja, az azért elgondolkoztató.

Ugye nem a WinRT-re gondolsz?

minden Metro felületű új Ms csodabogárra.

Az uj metro-s feluleten a JS csak egy uj nyelv amivel lehet programokat irni ra.
Az MS a metro feluleten dobja a visszafele kompatibilitast, ezert -szerintem helyesen- probal minnel tobb potencialis fejlesztot elerni. Ezert lehet lehet JS-ben es akar nativ c/c++-ban is fejleszteni ra(a XAML+C#/VB mellett).

Szerintem nem 'tolja' egyik nyelvet sem, legfeljebb egyiket-masikat jobban felkaptak a hiroldalak.

mivel a gazdaságos többplatformúság nem is titkolt cél a Metronál, a JS nem véletlenül kap ekkora figyelmet. a megcélzott tablet, illetve moibl piacon domináns szerepet betöltő Android és iOS portokhoz a JS az optimális út, ha már az eredeti fejlesztés Metrora megy.

Idézet:
mivel a gazdaságos többplatformúság nem is titkolt cél a Metronál, a JS nem véletlenül kap ekkora figyelmet. a megcélzott tablet, illetve moibl piacon domináns szerepet betöltő Android és iOS portokhoz a JS az optimális út, ha már az eredeti fejlesztés Metrora megy.

Hat nemtudom, addig nemigazan lehet konnyu portolhatosagrol beszelni amig nem lesz androidon es ios-en winrt-s api. Addig meg tokmindegy hogy js, c# vagy kutyafule a nyelv, mivel hiaba irhatsz js kodot az nem egy bongeszoben fog futni a bongeszo alltal nyujtotta szolgaltatasokat hasznalva, hanem a metro-s winrt apit.

Miért nem lehet megérteni, hogy platform, mint olyan, nem csak operációs rendszert jelenthet, hanem mondjuk tablet-mobil-desktop-szerver-stb. -t, mint platform. Azok között Windows alapon eléggé platformfüggetlen, nem? :)

----------------
Lvl86 Troll - Think Wishfully™

Már korábban is volt ebből probléma. :)

"Miért nem lehet megérteni, hogy platform, mint olyan, nem csak operációs rendszert jelenthet, hanem mondjuk tablet-mobil-desktop-szerver-stb"

Ahja, ami fut WM platformon, az nem fut tableten, WP7-en, desktopon és szerveren. Ami fut tableten, az nem fut WP7-en, ami fut WP7-en, az nem fut WM-en, tableten, desktopon és szerveren. Ami fut desktopon, az nem fut WM-en és WP7-en. Ami fut szerveren, az nem fut tableten, WM-en, WP7-en és desktopon.

Ha ezt platformfüggetlenségnek nevezed, akkor nem tudom mit értesz azon, hogy egy megoldás egy bizonyos platformhoz köt.
--
http://wiki.javaforum.hu/display/~auth.gabor/Home

Mondok egy meglepo dolgot: .NET-es WM-re irt programot nekem sikerult barmifele ujrafrditas nelkul elinditani XP-n. Varazslat.

----------------
Lvl86 Troll - Think Wishfully™

Nagyszerű, ezt meg tudtam én is csinálni annó Java-val... az is varázslat... ahogy az is, hogy ugyanaz a Java futott FreeBSD-n is. Valóban varázslat. Akkor vannak fokozatai a platformfüggetlenségnek?
--
http://wiki.javaforum.hu/display/~auth.gabor/Home

A Microsoft egy platformfüggetlen nyelv megírása helyett megpróbálja átdefiniálni a "platformfüggetlen" szó jelentését, ennek lettél te is áldozata.

Idáig platformfüggetlen jelzővel azokat a nyelveket értette a nép, ami legalább 2 architektúrálisan nagyon különböző platformon elmegy. Ha valami openSuSE 10.0-val és openSuSE 11.0-val tökéletesen elmegy, az még nem platformfüggetlen, akkor sem, ha Debianra és Ubuntura is portolható az alkalmazás. A YaST sem platformfüggetlen, hiába megy el SuSE, openSuSE, United Linux alatt.

A .NET framework pontosan annyira platformfüggetlen, amennyire a YaST az.

Na, ez a ket random linux es a ket "nagyon kulonbozo" rendszer onmagabanegy vicc. Ez olyan, mintha aztmondanad, hogy az Intel meg az AMD ket kulon platform es platformfuggetlen az x86 kod ket x86 platform kozott. Nyilvan...

Egyebkent a platform ertelmezese fugg a kontextustol. Az z86 is platform, a Linux, a JVN, sot, egyes libraryk is felfoghatoak, mint platform a maga szintjen

----------------
Lvl86 Troll - Think Wishfully™

Igen, lehet arról filozófiai vitát folytatni, hogy az Android és az Ubuntu egy platform-e.

A "cat /proc/cpuinfo" az vajon platformfüggő megoldás, vagy platformfüggetlen?

Nyilván a Microsoft érvelését követve a "cat /proc/cpuinfo" az egy platformfüggetlen megoldás, mert lám működik Linuxon, Androidon, Meego-n is,...

Nekem a platformfüggetlen megoldásokról kicsit más a véleményem.

Akkor megforditom a kerdest: a Windows platformfuggetlen, mert fut Intel meg AMD platformon, vagy platformfuggo, mert -jelenleg- csak x86-on fut? (Most tekintsunk el egy pillanatra az egykori MIPS, Alpha, Itanium, PowerPC es a jovobeli ARM portoktol).

Az, hogy a te szemedben a platform, mint fogalom egyet jelent az operacios rendszerrel, az a te egyeni problemad. Attol meg a vilag arnyaltabb.

----------------
Lvl86 Troll - Think Wishfully™

Szerény véleményem szerint egy program platformfüggetlensége azt jelenti, hogy több eltérő architektúrájú operációs rendszeren is fut. Egy operációs rendszer platformfüggetlensége pedig azt jelenti, hogy több eltérő architektúrájú hardveren is fut. Szerény véleményem szerint eltérő platform az x86 és például a MIPS vagy a IA-64.

Ha a példáidat nézem, akkor igen kevés platformfüggő programot vagy operációs rendszert találunk, így pedig sok értelme nincs egy fogalom használatának.
--
http://wiki.javaforum.hu/display/~auth.gabor/Home

Igen, persze, az összes eddigi .NET kód meg megy a kukába... Hagyjuk már ezt a baromságot. Az MS egyrészt ismét elkezdte tologatni a natív vonalat (legalábbis elég sok C++11 előadást látni mostanság a C9 környékén), a .NET ugyanúgy köszöni, él és virul, a HTML/JS vonallal meg szimplán fel akarnak ülni a HTML5 hypera valamint megnyerni a webkettőn nevelkedett lényeket maguknak. Tudod, aki egy lábon áll, az sehogy nem áll.

----------------
Lvl86 Troll - Think Wishfully™

"természetesen nem, de nem is érv a Unity a Mono mellett. "

Hát, számomra elég nyomós érv, hogy azonos kódalapon jöhetnek a játékaink Windowsra, Mac-re, iOS-re és Androidra.

De ha már itt tartunk, akkor már érdekességképpen megemlítem, hogy az EA worldwide licencet vett a Unity3D-ből és több AAA játékon dolgoznak vele.

http://www.marketwire.com/press-release/unity-technologies-and-electronic-arts-ea-announce-deep-partnership-nasdaq-erts-1323616.htm

valamint a Nexon a UDK-t és a Source engine-t cserélte Unity 3D-re.

... és azonos grafikai színvonalon, ami iOSen és Androidon abszolút rendben van, de PCn ez csak olyan kivételes esetekben elég a sikerhez, mint Rovioék Angry Birdse.

Tehát azért mert mi ilyen casual játékokat csinálunk mobilra, akkor az kizárja, hogy az EA használja a Unity-t - UDK helyett - AAA multiplatform fejlesztésekhez?! :)

A grafikai szinvonal leginkabb csak akarat, penz es szakmai tudas kerdese.
Ha a fejlesztok/kiado nem akar jobb grafikai szinvonalat megutni, vagy nincs penz(esetleg ido mert mondjuk a karacsonyi roham elott kell kiadni) jobb minosegu texturakat, modelleket gyartani(vagy mobil az elsodleges celplatform, PC-n elbirna plusz shadereket, post process effekteket de fent emlitett okokbol megsem keszul) vagy egyszeruen nincs meg a megfelelo szakmai tudas grafikusi vagy programozoi oldalon azt nehez az engine-re kenni, mert a fentebbiek miatt barmilyen altalad valasztott jatekmotorral lehet nagyon szar grafikaju jatekot csinalni.

OGRE3D-ről váltottunk Unity3D-re. Ég és föld a két engine. 3-ad annyi idő alatt lehet ugyanaz megcsinálni a Unity-vel, mint az OGRE-val a felépítése és a remek editor miatt.

Ne zavard össze tényekkel. Nem kellenek ide jó eszközök, vi mindenre jó ;)

----------------
Lvl86 Troll - Think Wishfully™

Hát nem tudom, de azért van egy-két Unity3D-s játék, amit azért nem neveznék súlytalannak. Az meg végkép nem érv, hogy egy játék F2P (ami != ingyenes), vagy böngészőben fut, hiszen egyre inkább ebbe az irányba tolódik el a piac. Böngésző alapú 3D-s játékokban pedig jelenleg piacvezető ez az engine. Konkrét példa, hogy a Codemasters is ezzel készíti az éppen aktuális F1 játékát.

Egyébként meg nem hiszem, hogy a Unity 3D 3.5-nek nagyon szégyenkeznie kellene az UDK mellett, ha a látványról és a beépített effektekről van szó:
www.youtube.com/watch?v=aaAL7S5mNU0
Nyilvánvaló, hogy ez egy teszt, de az effektek minősége elég jól látható.

Gears of War játék és nem demo egy magasabb kategóriát képvisel. és ugyanez elmondható egy Crysis, vagy a Rage játékokról is, hogy ne csak Unreal Enginet említsek.

"Azonos hardveren általános használattal akkuidőt nem lehet összehasonlítani? Ha csak 20-25 százalékkal bírná tovább a WP7, ezzel reklámoznák. :)"

Teljesen eltérő felépítésű rendszerekről van szó, nem csak a két rendszer teljesítményén múlik, hogy melyiknek lesz jobb az energiafelhasználása. Olyan ez, mintha egy sok (n>2) ismeretlenes egyenletrendszert két egyenlet ismeretében próbálnál megoldani.

"Ha valami jó teljesítményt nyújt mobil platformon -- ugye egy virtuális gépről beszélünk, akkor az desktopon is jobb kell legyen"

Nem feltétlenül, kezdjük ott, hogy más a processzorarchitektúra, amin a virtuális gép fut. Azaz simán optimalizlhatták jól arm-re, miközben x86-on gyatra. Egyébként nem hiszem, hogy a mono linuxos elterjedését a teljesítménye akadályozza leginkább.

"pláne, ha a kernel azonos... :)"

Ugye ugyanarról a linuxról beszélünk, amiből 3 havonta jön ki új kiadás, van jó sok fordítási opciója, és van hozzá rengeteg külső patch?

"Teljesen eltérő felépítésű rendszerekről van szó, nem csak a két rendszer teljesítményén múlik, hogy melyiknek lesz jobb az energiafelhasználása. Olyan ez, mintha egy sok (n>2) ismeretlenes egyenletrendszert két egyenlet ismeretében próbálnál megoldani."

Nemár. A HTC HD7 és a Desire HD az oprendszert leszámítva milyen jellemzőjét tekintve tér el jelentősen?

"Nem feltétlenül, kezdjük ott, hogy más a processzorarchitektúra, amin a virtuális gép fut. Azaz simán optimalizlhatták jól arm-re, miközben x86-on gyatra. Egyébként nem hiszem, hogy a mono linuxos elterjedését a teljesítménye akadályozza leginkább."

Mind a három (Mono, Android, WP7) megoldás ARM processzoron fut... miért nem hasonlítható össze a teljesítményük ugyanazon a hardveren?

"Ugye ugyanarról a linuxról beszélünk, amiből 3 havonta jön ki új kiadás, van jó sok fordítási opciója, és van hozzá rengeteg külső patch?"

És? Nem hinném, hogy mobil platformon az elterjedt megoldáshoz képest egy új fordítási opció észrevehető akkuidőt javulást eredményezne, amikor a gyártók ölni képesek pár százalékért is.
--
http://wiki.javaforum.hu/display/~auth.gabor/Home

pedig mennyivel jobbak, mint az atlag gtk/c programok ;)

--
NetBSD - Simplicity is prerequisite for reliability

Első nekifutásra a hozzászólásodat úgy olvastam, hogy "érdekes környezetszennyezés". :DD

--
Java apps are nothing more than sophisticated XML-to-exception converters.

tulajdonképpen ez a valós interpretáció:) ugyanis ez is egy ebbőlsemleszsemmiOS kezdeményezés.

sub

Valamiért "csöbörből gödörbe" érzésem van.. Az androidot ha nem az Oracle fogja piszkálni a JAVA miatt, akkor majd a Microsoft a C# miatt.. :)
(.. persze azt feltételezve, hogy elterjed)

====================================================================
#include "alairas.h"

Azt mondja:
"The .NET framework is also covered by Microsoft’s legally binding community promise."

Az ide vonatkozó FAQ:
"Q: Why did Microsoft take this approach?
A: It was a simple, clear way, after looking at many different licensing approaches, to reassure a broad audience of developers and customers that the specifications could be used for free, easily, now and forever."

Ugyan nem olvastam végig az összes tájékoztató szöveget, de így első blikkre úgy néz ki, hogy megígérik, nem fogják háborgatni azokat, akik implementálják ezeket a specifikációkat.

Hát ez komoly vita tárgya, a legtöbben még mindig azt mondják, hogy életveszélyesen ingoványos terület.

Lásd pl
- a Microsoft Dirty Tricks history idevágó részét
- Stallman komoly figyelmeztetését

Szóval a Mono-sok szénnéperlése egyáltalán nem kizárt a jövőben.

"Szóval a Mono-sok szénnéperlése egyáltalán nem kizárt a jövőben."

Mondjuk ennek onmagaban nem kene, hogy oka legyen ahhoz, hogy pl. a Debian egy kokorszak elotti verziot szallitson belole... Mert most eppen jol jonne.

Stallman meg a komolyan vehetoseg, ha Microsoftrol van szo... Meg akkor is azt mondana, hogy ne hasznald meg veletlenul se!!!1111, ha az egesz vilagon eltorolnek az sw szabadalmakat. Inkabb nem kommentalom tovabb.

----------------
Lvl86 Troll - Think Wishfully™

Stallman mondjuk kicsit tul komolyan veszi ezt a licenchuszarkodast. Amikor itt volt eloadni a Millenarison, eloadas utan valaki autogramot kert tole egy Ubuntus polora, o meg nem volt hajlando, mert abban vannak olyan sw-ek, aminek a licence neki nem tetszik.

--
In truly successful relationships...
no one wears the pants.

lol :D

egy kis labgombat kellett volna kerni kostoloba

--
NetBSD - Simplicity is prerequisite for reliability

Húb*sszameg... ez durva volt. :D

Ááááá.... TV felvétel közben?!?!? Meg egyébként is! Az agyam ledobta a szíjat. :-)))

Ezzel az erővel akár rá is ránthatott volna.

Ami sejtből való, az visszatér a sejtbe.

Egyfajta vitamin újrahasznosításról van szó, tudományos szóhasználattal élve ez a Skin Recycle. A számítógép képernyője előtt ülve az elégtelen vérkeringés miatt könnyebben kiszárad a bőr, és a Linux desktop élmények után töredezetté válhat a szőr, esetleg csomókban el is távozhat.

A linolsav a szőrzet fényéért felelős és megelőzi a bőr kiszáradását. Az A-vitamin a hámszövet megújulásához szükséges. Részt vesz a szervezet baktériumos vagy parazitás betegségek elleni védelmében. Az E-vitamin elősegíti az A-vitamin hatékonyságát és megvédi a telítetlen zsírsavakat az oxidálódástól.

A B-csoportba tartozó vitaminok elősegítik a szőr növekedését és a bőr regenerációját (B2-vítamin), szükségesek a zsírsavak anyagforgalmában (B6-vitamin, pantoténsav) és védik a bőrt (P-vitamin, B2-, B6-vitamin, pantoténsav). A biotin vagy H-vitamin, elengedhetetlen a bőr számára. A bőr élettani egyensúlyának kialakításában és a szőrzet növekedésében játszik jelentős szerepet.

A cisztin, a keratin (a bőr, a szőr és a karmok fontos fehérjéje) egyik legfontosabb összetevője. A cink (poliszacharid-komplex formájában, ami elősegíti a jobb felszívódást a bélből), a jód és a réz nyomelemek, amelyek a keratin szintéziséhez szükségesek. Jelenlétük fontos a bőr szerkezete és a szőrzet minősége szempontjából.

De szépen körülírtad azt, hogy egy gusztustalan állat! :)

Elképzelhető, hogy csak megtréfálta az embereket, és nem onnan táplálkozik, legalábbis remélem. :)

az emberek gasztronómiai szokásai sokfélék lehetnek. van aki ezt szereti, van aki a takonnyal táplálkozást részesíti előnyben:)

Vagy csak szereti a gombas csulkot. :)

--
In truly successful relationships...
no one wears the pants.

Mivel az GNU oldalán fent van, hogy melyik disztrókat támogatják és melyiket nem, ezt illene tudni, pláne ha az ember Stallmantől szeretne autogramot kérni. Stallmannel lehet egyet nem érteni, mert a nyílt forráskód mozgalom is egy jó dolog. De legalább tudná az ember, hogy melyik csoportba tartozik.

Góra kéne áttérni, nem rosszabb, mint a Java, bár igaz, hogy bytecode-ot még egyelőre nem csinál.

Boot2Gecko nem lett volna jobb?

KAMI | 神
--
Támogatás | OxygenOffice | Fordításaim és SeaMonkey

Mármint, hogy miért nem a B2G-t portolták C#-ra? Szerintem ebben a projektben lényegesebb volt, hogy de Icaza gőzerővel tolja a C#/Monot-t, mint hogy legyen egy Dalvik VM mentes okostelefon rendszer.

android for nokia
az utolso utani lehetoseg :D)

"Gyönyörű" teszteket csináltak...

Jó kezdeményezés, várom a fejleményeket! Hajrá!

már létező appokat azért futtatja?
Lotus Travelert hogy teszek fel rá?

Azok javaban vannak, hacsak a mono nem tud futtatni java bytecode-ot, akkor nem. :)

Java nyelven írják, de nem Java bytecode-ra fordul le. Egy .apk-ban DEX file-ok vannak (Dalvik Executable). A Dalvik nem JVM, tessék megérteni.

Jó, bocs, nem vagyok képben a dalvikkal kapcsolatban, viszont ennek ellenére bármire van fordítva az a java kód (hacsak nem lehet belőle valahogy CIL kódot csinálni), nem fogja tudni a mono futtatni.

Valahogy olyan érzésem van, hogy Miguel de Icaza ilyen extrém ökörségeket talál ki, hogy a mono / C# népszerűségét növelje Linux alatt.

A C# megbukott Linux alatt, a mono-n futó alkalmazások száma marginális, új alkalmazásokat sem fejlesztenek rá, hatalmas csőd az egész. A Novell lapátolja bele a mono-ba a pénzt, szépen fejlődik, az alkalmazások 0.001%-a használja is.

Előbb-utóbb a Novellnek elege lehet ebből a pénznyelő gépből és kivágja a fenébe. Éppen ezért létkérdés lehet Miguel de Icaza számára, hogy valamit felmutasson, ezért jönnek az ilyen emelkedett marketingökörségek.

Én mondjuk sajnálom, mert a C# jó nyelv lenne, csak mondjuk kultúrált GUI fejlesztésre nem alkalmas Linux alatt. Innentől meg megette a fene az egészet.

Kéne Qt# :)

Látod, ez megoldás lenne, de valamiért a Gtk#-ot nyomják.

Ezt is elfogadnám, de ha már Gtk, akkor csinálhatnának egy rendes dokumentációt (mint a Qt-ben) és kitesztelhetnék rendesen (legalábbis a mono-s részt).

Próbáltam Gtk#-os applikációt írni, de amikor már a Gtk-s források között kellett kajtatnom, hogy mi a rákfenét csinál egy metódus, akkor elegem lett belőle. Csinálja az, akinek kedve van hozzá, kurvára nem érdekel a Gtk belseje és a GNOME-ra is nagyívben teszek.

Igen lehet mondani, hogy a Gtk feladata lenne rendes doksit írni, de ha már nem csinálták meg, akkor valaki elkezdhetne gondolkozni és megcsinálni helyettük. Az időm drága és nem szopással akarom eltölteni, hanem programozással.

:))

Mintha dolgoztak volna windows.forms implementáción, azzal mi a helyzet?

Igen a Windows forms megy vele. Azzal elvi problémám van: nem vagyok hajlandó a 15;9-es pontba 150;60 nagyságú ablakot kitenni. Mert valamire való programozó automatikusan méretező alkalmazást ír, amelyik 20-as font mellett 4000x2000-es monitoron ugyanúgy néz ki, mint 10-esen 2000x1000 mellett.

Azért van a számítógép, hogy ő számoljon, ne én baromkodjak 42;57-tel.

Szóval ha választani kell a kettő között, akkor GTK#. Az kezeli a layoutmanagereket, képes automatikus méretezésre, hogy pont akkora legyen az ablak, amekkora kell.

Messze nem akkora szemét a GTK#, mint a Windows forms. Rossz és mégrosszabb között választhatsz.

:)

Ha jol tudom Miguel mar nem dolgozik a Novell-nel.

Nem, de igen erősen függ a Novell-től: http://tirania.org/blog/archive/2011/Jul-18.html

Szerény véleményem szerint a Xamarin a bevételeinek nagy részét a Novell-től (Attachmate-től) kapja...
--
http://wiki.javaforum.hu/display/~auth.gabor/Home

Koszi a linket.

Idézet:
Szerény véleményem szerint a Xamarin a bevételeinek nagy részét a Novell-től (Attachmate-től) kapja...

A blog alapjan nagyon ugy tunik.

Csakhogy a Mono-t nem kizárólag Linuxon használják. Pl. az általunk használt Unity 3D engine-ben is Mono alapú a C# implementáció. Csak ezt az engine-t jelenleg 1 millió regisztrált fejlesztő használja és gondolom nem ez az egyetlen hasonló példa.

Ne zavard ossze, neki a Linux korul forog a vilag :)

Rendben, pontosítok. A mono Linux alatt bukott meg, de ott nagyon.
Windows alatt lehet ugyan mono-t használni, de a Microsoft .NET frameworköt az esetek döntő többségében jobban megéri felrakni.

E kettőből következik, hogy Desktop gépeken a mono leszerepelt.

Én személyesen sajnálom, mert a C# jó nyelv lett volna, ha a Microsoft más stratégiát folytatott volna. Desktop rendszerekre java való, mert keresztplatformos és lehet rendes GUI-t is írni vele.

Az Android mono-ra konvertálása számomra azért érdekes, mert az Android egy kiforrott, jól használható platform. Ugyanez a mono-ról már nem mondható el.

figyelembe vége a MonoTouch és Mono for Android borsos árait, ez egy hasznos projekt. ingyen elérhető kódjából jó alternatíva rakható össze:)