Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 14 reacties
Bron: Mono Project, submitter: anoko

Mono is een opensource implementatie van het .NET Framework. Door gebruik te maken van Mono kunnen ontwikkelaars crossplatform applicaties schrijven die niet alleen op Windows-systemen zullen werken, maar ook op Mac OS X, Linux en Unix. De software bevat onder andere een C#-compiler, een .NET compatible runtime en twee verschillende sets api's: een set die compatibiliteit met Microsofts .NET Framework verzorgt (inclusief ondersteuning voor ASP.NET, ADO.NET en een aantal andere componenten) en een set die allerlei Linux- en Unix-specifieke functies aanbiedt. De ontwikkelaars hebben versie 1.2.5 uitgebracht met de volgende lijst van aanpassingen:

Mono 1.2.5 is an update to Mono 1.2.4 in the Mono 1.2 series, it is a bug fix release for all the supported components, but also includes updates on the 2.0 stack.

Dynamic Language Runtime
  • This release fixes various issues that were exposed by IronPython 2.0 preview release and the Dynamic Language Runtime from Microsoft. They are both functional on this release.
C# Compiler
  • Scott Petterson and Marek Safar implemented the following C# 3.0 features:
    • Variable type inference (the "var" keyword).
    • Anonymous types.
    • Array type inference.
    • Object initialization.
    • Collection initialization.
    • Automatic properties.
  • Marek Safar continued work on the LINQ grammar support and the underlying System.Core assembly support for it.
  • The C# 3.0 support is enabled by passing the -langversion:linq option to the compiler. In addition to the above the C# 3.0 compiler also supports: extension methods, lambdas and anonymous method generic type inference.
Runtime
  • AOT now provides some support for 2.0 assemblies (although generic calls are still not pre-compiled) [Zoltan].
  • Devirtualization optimization for sealed classes and methods, improving IronPython 2.0 pystone performance by 4%. Other programs can expect similar improvement [Rodrigo].
  • Invocation speed of non-multicast delegate methods has been increased by calling directly into the delegate, this improves IronPython 2.0 (pystone) performance by 25% [Zoltan Varga].
  • Math.Min and Math.Max are now inlined for signed integers and String.OrdinalCompare has been tuned to use these, which results in a 2-3% performance increase in running PyStone with IronPython.
  • Massi and Paolo implemented a mechanism that reduces virtual table sizes for interface method invocations. The most visible change is in significant memory reduction for applications loading many interfaces (this happens for many 2.0 apps because of the many additional interfaces arrays implement).
  • Optimized double to int conversions using SSE2 on x86 [Paolo Molaro].
  • Implemented proper caching of generic methods (provides a very large speedup for virtual generic method invocations) [Paolo Molaro].
  • It is now possible to force Mono to use a single CPU by using the MONO_NO_SMP flag.
Security
  • Rodrigo Kumpera has added an IL verifier to Mono. IL verifiers are not very useful for applications that run at full-trust level (their only use is to help in compiler development and sanity checking). But we are now working towards supporting Silverlight in Mono which needs to provide limitations on what code can do, and cope with malicious code.
  • HttpWebRequest can now be used with X.509 client certificates (only possible in the 2.0 profile) [Sebastien]
  • Added support X.509 Client Certificate Chains for SSL/TLS [Roy Versteeg]
  • Fixed SSL/TLS not to require exportable private keys for client certificates [Roy Versteeg]
  • Implemented import and export of DSA keys CryptoAPI-compatible BLOB (2.0) [Randolph Chung]
  • Added SafeBag handling to Mono.Security's PKCS#12 [Jay Miller]
Corlib
  • Completed support for RegionInfo.
  • Dictionary: Optimize and add implementation notes. Use a "mini-heap" to store the linked lists instead of the regular heap. Split arrays of structs into separate arrays to make the GC's life simpler (see bug 81879 for details). Make class serialization compatible with MS.NET.
  • Environment.GetFolderPath: Now checks for the existance of the XDG_DESKTOP_DIR, XDG_MUSIC_DIR and XDG_PICTURES_DIR environment variables when trying to find the requested path.
System
  • LocalFileSettingsProvider implementation is contributed [Noriaki Okimoto]. With this code, ApplicationSettingsBase now works like .NET (per-user settings are created in the user's (local) application data directory.
System.Core
  • Fresh implementation of TimeZoneInfo [Stephane Delcroix].
System.Data
  • System.Data.SqlClient: 99% of API's is now compatible with MS.NET 2.0 profile [Nagappan]
  • Implemented SqlBulkCopy in SqlClient. With this the data can be imported in bulk from client to MS-SQL server [Nagappan].
System.Windows.Forms
  • New 2.0 controls:
    • MaskedTextBox implementation [Rolf Bjarne].
    • BindingNavigator [Alan, Olivier]
    • 2.0 version of many controls are now complete.
  • AutoSize is now supported [Jonathan]
  • ToolStripPainter, ToolStripSystemRenderer [Jonathan Pobst]
  • Roughly 150 submitted bugs were resolved.
System.Drawing / Libgdiplus
  • Libgdiplus has been updated to use Cairo 1.4.6 [Sebastien]
  • Libgdiplus header, types and enums names are now much closer to MS GDI+. This should make it easier to use from C/C++ even if this was not the primary goal. [Sebastien, Yves Bastide]
  • Added support for 2bpp PNG and fixes for 4bpp PNG image palettes [Sebastien]
  • Added support for interlaced GIF bitmaps [Sebastien]
  • Added support for ColorMatrixFlag and Gray ColorMatrix in ImageAttributes [Sebastien]
  • Implemented GdipDrawImagePointsRect[I] functions [Sebastien]
  • Multiple printing fixes (e.g. text size/position) [Vladimir Dimitrov, Sebastien]
Cairo
  • The Mono Cairo API has been updated (Alp Toker), it will now expose Cairo 1.2 API entry points. Application code should call CairoAPI.Version to obtain the version and determine if the needed features are available.
Visual Basic.NET
  • Added support for late binding in vbnc (Option Strict Off and Option Explicit Off) [Rolf Bjarne].
  • Several bug fixes in vbnc and vbruntime [Rolf Bjarne].
  • Better error reporting (it's now possible to get line numbers in stack traces) [Rolf Bjarne].
Versienummer:1.2.5
Releasestatus:Final
Besturingssystemen:Windows 2000, Linux, BSD, Windows XP, macOS, Solaris, Windows Server 2003, Windows Vista
Website:Mono Project
Download:http://www.mono-project.com/Downloads
Licentietype:Voorwaarden (GNU/BSD/etc.)
Moderatie-faq Wijzig weergave

Reacties (14)

Ik vraag me af hoeveel dit in de praktijk wordt gebruikt.
Niets ten schade van dit project hoor, t is op zich een prachtinitiatief...
volgens mij moet je, je daar niet in vergissen... als webhosting providers asp willen verzorgen op hun linux server zul je mono in moeten gaan zetten... en ik ben dit genoeg tegengekomen...
Ik denk dat die Linux Webhosters beter gewoon een Windows 2003 Server voor ASP.Net kan inzetten dan Mono :) Mono is immers bij lange na niet niet 'compleet' of bugvrij. Misschien dat het voldoet voor persoonlijke hobby-bob ASP.Net websites, maar een serieuze zakelijke ASP.Net site host je op een Windows bak, (nog) niet op Linux.

Hopelijk gaat Mono een voorspoedige toekomst tegemoet; het zou heerlijk zijn om complexe .Net apps zonder/met minimale aanpassingen ook op *Nix te kunnen draaien ... :z
aan de andere kant, die 50euro per jaar web-accounts worden ook voornamelijk door hobby-bob-thuisgebruikers - een beetje een professional zit toch al de wat dikkere managed server accounts en dan praat je inderdaad over RHEL SLESS en windows 2003,
Met minimale aanpassingen is al mogelijk ;) Zonder zal vast spoedig komen :D
Ik heb anders geen problemen gehad met het draaien van mijn in Windows geschreven webapplicatie op Linux, dankzij Mono. Werkt als een trein, hoefde niets te doen om het werkend te krijgen.
of voor opensource programma die geschreven werden in C# en ook graag een linux versie uitbrengen of mensen die hun site in C# willen schrijven maar geen windows host willen of mensen die willen gebruik maken van silverlight op linux (alhoewel het nog niet helemaal af is) of ...
Handig als je bestaande applicaties op Linux wil laten draaien, maar nieuwe applicaties kunnen m.i. beter Java (voor software) en PHP (websites) gebruiken
Das ook niet waar. Als we zo gaan redeneren dan moeten we maar alle talen dumpen en enkel java overhouden.
Hee, ik zei "m.i.", als in "mijns inziens" als in mijn mening, dus ik vind persoonlijk Java fijner ;)

Maar om het algemener te stellen, gebruiker beter iets dat voor cross-platform gemaakt is, dan iets wat achteraf/onofficieel op andere platformen ondersteund wordt

[Reactie gewijzigd door 2playgames op 3 september 2007 12:37]

Als je het niet erg vind vind ik PHP niet vergelijkbaar met ASP.Net. ASP.Net is beter te vergelijken met Java.
een waarom php, als je dan echt java wilt ga je natuurlijk geen php gebruiken maar gewoon JSP (tomcat),

maar er zijn ook tal van andere talen die al dan niet naar aanleiding van "betrouwbare" metingen (daar heb ik nooit naar gezocht) steenhard beweren dat talen als RoR en Lua op heel wat vlakken sneller zijn dan php5

van JSP in combi met java weet ik echter dat 't zeker niet onder doet voor de zo gehypte php-taal
Maar PHP is populair, daarom goed gedocumenteerd en overal ondersteund, o.a. daarom makkelijk en als gevolg daarvan populair.

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True