Arador | Today we have Alejandro Sánchez Acosta with us, he's from Spain and he'll talk about "Mono: a free .NET implementation" |
---|---|
Arador | He colaborates with several projects GNU and Gnome and it's the second time he's with us in Umeet |
Arador | original spanish talk in #linux, english translation here (#redes), and question in #qc |
Arador | Alejandro... |
alejandro | good morning/afternoon |
Arador | thanks for coming here again to collaborate in this umeet's edition |
Arador | The conference will be about Mono, the free implementation that is being developed over the .NET framework |
Arador | this project started in 2001, what was considerated the standards ECMA where it was defined the development guidelines of the -NET plataform defined by Microsoft |
Arador | In the start it was just a interest of only one person, Miguel de Icaza, who started to be interested in making a free implementation for Unix of this framework in the 2000 |
Arador | It was in 2001 when the ECMA standards stards to solidify, when it the wourk could start in the parts corresponding to the runtime, the compiler and the classes library |
Arador | It was then when having a ocmpiler (mcs) that compiled C# code to intermediate language (IL) taking the job Miguel had done presenting his job in the GUADEC |
Arador | A group of developers ( like Miguel, Paolo Molaro, Ravi and Rhys) started to develop the runtime |
Arador | this consisted in a interpreter that translated intermediate code (IL) to machine code independent of the machine (ppc, IA32 or IA64) |
Arador | after that, the work is centered in a Just In Time compiler that had better performance than the interpreter, generating much faster and more optimized code |
Arador | having a compiler that was able to compile code in the language used by .Net (C#) and having a runtime, you could run and execute .NET code in the unix platform |
Arador | i mean, .NET, a ECMA standard, that posteriorly has had a implementation with Mono, would have a framework able to develop applicacions in a very easy way |
Arador | that's why, appart of being multilanguage and multiplatform, it'd be neccesary con consolidate a base in order to have good support to multiple technologies, like dynamic pages, GUI programming, XML handling and a largue etc. |
Arador | that's why we'll define .NET as that platform able to allow us to have all the existent technologies compacted for a easy development |
Arador | In the start, it was though that only one generic language was needed to program in this platform, which was C#, but being a multilanguage framework, it will allow us using different languages |
Arador | those languages will beC#, VB.NET, Opteron, C++, Guile, Perl, and a largue etc |
Arador | We'll see how is this achieved and what new languages will proporcionate us |
Arador | About the Mono development, they're getting the 0.29 release, which will have a 1.0 version in the earńy 2004 |
Arador | This Mono version will have a number of characteristics which will try to compare to the 1.0 .NET framework |
Arador | The objectives for this 1.0 version are: |
Arador | * corlib library: mscorlib, System, System.Security and System.XML. |
Arador | those libraries will constitute units which is what we'll call "assemblies" |
Arador | * ADO.NET |
Arador | it will proporcionate us a easy method for accesing data bases, including the System.Data assemblies to get generic access to the data base |
Arador | and a wide repertory of data base providers, like mysql, postgresql, sybase or informaix |
Arador | informix |
Arador | *ASP.NET |
Arador | if we want to create dynamic pages having SSI (Server Side Includes) technology or better versions we'll need ASP.NET inside Mono |
Arador | Similar languages to this one would be PHP or ASP |
Arador | also, it has been achieved the inclusion of asp.net inside apache with mod_mono |
Arador | In this seccion we'll include all the web and html controls neccesary to get dynamic web pages |
Arador | The improvement is that we can include code in the language that we want, such as VB.NET or C# |
Arador | in the Mono case, we'll need to wait to mbas, the VB.NET compiler |
Arador | * Compilers |
clsk | Here we will include compilers like mcs, mbas (VB.NET) and jscript.net. |
clsk | * Specific libraries of Unix, free software or GNOME. |
clsk | Here we will find many of the library wrapers already known as gtk#, vorbis#, glib#, gstreamer#, and some other. |
clsk | Another component that is being worked on is the toolkit for windows used in windows also known as SWF (System Windows Forms), that allows us yo create graphic applications with the Mono eviroment. |
clsk | For this what is being used is the libwine library, that will allow us to run unix and win32 applications. |
clsk | After this parts like Enterprise Services, Directory Services and JScript will be tried to covered inside what is known as Mono 1.2 |
clsk | As in parts related with the rendering and the display drawing with System.Drawing have been opted good part to use the rendericing library cairo from the freedesktop project. |
clsk | Refered to new technologies that will come inside Mono, some part of it has been discussed in the PDC (Developers Conference) that took place in 2003, in which parts of the advances that will be incorpored in this framwork have been discussed |
clsk | Some of these are: Avalon (creation of graphic interfaces), WinFX (libraries for longhorn), WinFS (storage). |
clsk | and Even with all this in Mono 1.0 some deficiencies will be included like: |
clsk | GAC The Global Assambly Cache, a common cache where we will our assamblies in the system. |
clsk | The port to PPC that has already been achieved in a great advance in it that is already capable of compiling small fragments of code. |
clsk | Profile of ECMA. |
clsk | Assamblies signatures in which a serie of tools for mono have been developed that will allow us to sign un a secure way our essambled through the System.Crytography.* |
clsk | Caching in ASP.NET and autheticating through the digest and ntlm (authentication in windows) |
clsk | Puridied in many of the class libraries that provide support for management of XML documents, creations of squemes, validation, application execution, running of database, etc... |
clsk | and a better stability. |
clsk | So this will be the goals imposed for Mono 1.0 that is expected to be released in 2004 |
clsk | Some of these deficiencies are already solved. |
clsk | Even with this there will be experimental parts like JScript (the javascript compiler), VB.NET, WBE, Windows Forms and the support for generic templates.<clsk> Regarding to what i have commented of stability, i reffer to that these characteristics as some of them are not implemented will be achieved in 1.0 that can offer you a new support and at the same time a better purification of the code correspnding to Mono. |
Arador | Now that we know Mono and what this .NET is about, we'll talk about what are the new components that will be included in a future when Whidbey and Longhorn arrive, the new versions of the .NET framework and the charateristics that Longhorn will provide us and wich will be adapted inside Mono |
Arador | Well, the Whidbey SDK or .NET 1.2 will be separated in parts in Mono, to make possible the compilation no matter what .NET version (1.0, 1.1 or 1.2 version) we want to use, like the new Whidbey characteristics |
Arador | This, as main characteristic allows us using templates, already know in C++ as STL |
Arador | In .NET they will be now as generics |
Arador | Also, it'll be added ASP.NET 1.2 with new controls to develop new web applications, better personalitation, and theme usage |
Arador | s/ASP.NET 1.2/ASP.NET 2 |
clsk | In the part of remoting which is that part for distributed communication of Mono, we will achieve the communication between client-server through more secure channels. |
clsk | In contrast to the already known HTTP or TCP |
clsk | In the part of XML, Xpath and Xquery will have to be supported. |
clsk | After this also, add support for the input/output through System.Console throuh the serial port. |
clsk | New widgets inside Windows.Forms will be added as well as Object Spaces support, a simpler API for access to database. |
clsk | Regarding Mono 1.2 generics will be added, if we have ASP.NET 2.0, there will be imrpovments of remoiting, XQuery will be added and the final versions of VB.NET and jscript.net will be introduced |
Arador | this will be at the end of the 2004 |
Arador | appart of that, the internal documentation proyects like MonkeyGuide (a tutorial about Mono) will be improved |
Arador | and the support of MonoDOC in order to have well implemented the Mono API |
clsk | And the support for the application MonoDOC to have well organized the Mono API. |
clsk | Regarding to the far future, speaking of 2006, we will try to implement WinFX. |
clsk | This will be all the series of characteristics that the new Longhorn will use. |
clsk | That will give us characteristics like Avalon, WinFS and Indigo. |
clsk | Avalon: Creation of graphic interfaces through XAML. |
clsk | XAML is not more than a XML definitaion win which you will find ways to declare interfaces. |
clsk | You might already know this for example of glade that simply the same thing. |
clsk | WinFS: For storage and Indigo will come to be the new development of Remoting inside Longhorn. |
clsk | If we meet these purposes it will be very easy the compatibility among different operating systems. |
clsk | Which is why we will be able to run our applications in both systems, but in a totally free way. |
clsk | Regarding these new technologies, part of the implementation, like Avalon, will rest in implementation based in Gdiplus/Cairo for the renderacing topic. |
clsk | Regarding to the new lenguage of XAML, new classes will be presented. |
clsk | Also a new small compiler will be introdiced that will take care of translating the XAML sourcesto C# |
clsk | When Glade is already done, it won't be very hard to implement. |
clsk | The complicated part will come to be the part of all the new widgets, which is why we need to have a toolkit under unix that is already complete |
clsk | Regarding Indigo, you can read a small FAQ of what it will be in: http://msdn.microsoft.com/Longhorn/understanding/pillars/Indigo/default.aspx?pull=/library/en-us/dnlong/html/indigofaq1.asp |
clsk | Though, these charactersitics are no expected until 2006 |
clsk | Having already seen what Mono is, what is .NET, how it is implemented, and the new characteristics that will come and what plans there are for the future i'd like to conclude this talk. |
clsk | So if you have any question, this is the moment. |