2003-10-17 Zoltan Varga <vargaz@freemail.hu>
[mono.git] / doc / ideas
1 * Ideas
2
3         There are many pending classes that need to be implemented.  Those have
4         the highest impact in the Mono project: the sooner they are done,
5         the sooner we can start using this platform to create new and
6         exciting applications.
7
8         That being said, if you are not very excited about working on class
9         libraries, here is a list of other related projects or tools that might
10         be useful to the Mono project.
11
12         Here are a few ideas of tools, classes and projects that you
13         could start. More are forthcoming.
14
15 <a name="runtime">
16 ** Runtime
17
18 <a name="classes">
19 ** Classes
20
21         <ul>
22 TODO=jxta,The JXTA Peer to Peer foundation
23                 * Implement a JXTA protocol implementation:
24                 <a href="http://www.jxta.org">http://www.jxta.org</a>
25
26 TODO=camel,Mail API
27                 * Implement a Mail API, similar to Camel or JavaMail (Camel has
28                   significant architecture features that are required on a real
29                   mailer).
30
31                   You can check the current C 
32                 <a href="http://cvs.gnome.org/bonsai/rview.cgi?dir=evolution%2Fcamel">
33                 Camel implementation</a>.
34
35                   Such an implementation could be used both with
36                   Microsoft .NET and Mono.
37
38 TODO=multimedia
39                 * Interfacing to Multimedia systems.  You might want
40                   to look into the Quicktime API.  I know <a
41                   href="mailto:vladimir@ximian.com">Vladimir</a> has
42                   researched the problem before 
43
44         </ul>
45
46 <a name="projects">
47 ** Projects
48
49         This list of projects ideas is outdated
50
51 TODO=guavac,Java compiler for .NET
52                 * You could take one of the existing Java compilers
53                   (Guavac comes to mind as it is so nice) and modify
54                   it to generate .NET code rather than JVM byte
55                   codes. 
56
57                   This should be a pretty straightforward task.
58                   Guavac has the advantage of being written in C++ and
59                   it could be compiled with the Microsoft Managed C++
60                   compiler and produce a .NET executable with it.
61
62 TODO=Bonobo,Bonobo for Mono
63                 * Once <a href="http://remoting-corba.sourceforge.net/">CORBA</a> is done, implement the Bonobo interfaces
64                   to allow people to use Bonobo components in Mono and
65                   Mono components with Bonobo.  The best of both worlds!
66
67 TODO=moniker,Object Naming System with Monikers
68                 * A naming space for Mono.  An object naming space is
69                   a very powerful tool.  Bonobo implements a moniker
70                   system that is more powerful than the original
71                   moniker concept that was pioneered by COM/OLE in the
72                   Microsoft world.
73
74                   Our implementation builds on a concept, and we have
75                   made it simpler, more powerful, more extensible and
76                   a much better mechanism than the equivalent monikers
77                   on Windows. 
78
79                   Implementing Mono monikers would benefit both
80                   Windows users using .NET and Mono users on Unix and
81                   Windows.  
82
83                   Here is <a
84                   href="http://primates.ximian.com/~miguel/monikers.html">an
85                   overview of the moniker system</a> in Bonobo.
86
87         </ul>