* Ideas
+ There are many pending classes that need to be implemented. Those have
+ the highest impact in the Mono project: the sooner they are done,
+ the sooner we can start using this platform to create new and
+ exciting applications.
+
+ That being said, if you are not very excited about working on class
+ libraries, here is a list of other related projects or tools that might
+ be useful to the Mono project.
+
Here are a few ideas of tools, classes and projects that you
could start. More are forthcoming.
<a name="runtime">
** Runtime
- We need a verifier that can be run on an executable (assembly)
- and tells whether the metadata for the executable is correct
- or not. It should report any anomalies.
-
- For a list of anomalies in assemblies, check the various assertions
- that are described on the ECMA documentation.
-
- This will help test our generated executables and can be also
- used as an external verifier.
-
<a name="classes">
** Classes
<ul>
-TODO=jxta,The JXTA Peer to Peer foundation
* Implement a JXTA protocol implementation:
<a href="http://www.jxta.org">http://www.jxta.org</a>
-TODO=camel,Mail API
* Implement a Mail API, similar to Camel or JavaMail (Camel has
significant architecture features that are required on a real
mailer).
Such an implementation could be used both with
Microsoft .NET and Mono.
-TODO=multimedia
* Interfacing to Multimedia systems. You might want
to look into the Quicktime API. I know <a
href="mailto:vladimir@ximian.com">Vladimir</a> has
researched the problem before
-TODO=gtk,Gtk+ wrappers for Mono and .NET
- * Wrap the Gtk+ API. This is simple and can be done
- on Windows as Gtk+ 2.0 works on Windows.
-
- This work can also be used on Windows and will
- enable developers on Windows to use some of Gtk+'s
- advanced features.
-
- The idea is to wrap the Gtk+ API and allow us to
- build GUI applications using Gtk+ and in the future
- other Gtk+-based libraries from Mono (Gal, GtkHTML).
-
- There is extensive knowledge on wrapping Gtk+ in
- other languages (this has been done this for Perl,
- Python, Java, Scheme, Haskel and other languages in
- the past).
</ul>
<a name="projects">
** Projects
- <ul>
-TODO=xmlStorage,
- * Implement an xmlStorageSystem for the CLI:
- <a href="http://www.soapware.org/xmlStorageSystem">
- http://www.soapware.org/xmlStorageSystem</a>
-
-TODO=guavac,Java compiler for .NET
- * You could take one of the existing Java compilers
- (Guavac comes to mind as it is so nice) and modify
- it to generate .NET code rather than JVM byte
- codes.
-
- This should be a pretty straightforward task.
- Guavac has the advantage of being written in C++ and
- it could be compiled with the Microsoft Managed C++
- compiler and produce a .NET executable with it.
-
-TODO=CORBA,CORBA implementation
- * Build a CORBA interoperability engine for the CLR.
- You do not need to do all of the work, just talking
- the protocol will get us a long way (<a
- href="http://www.omg.org">The OMG site</a> has the
- CORBA specs).
-
- Get in touch with David Taylor (dtaylo11 at bigpond
- dot net dot au) as he has been working on this
- project.
-
-TODO=Bonobo,Bonobo for Mono
- * Once CORBA is done, implement the Bonobo interfaces
+ This list of projects ideas is outdated
+
+ * Once <a href="http://remoting-corba.sourceforge.net/">CORBA</a> is done, implement the Bonobo interfaces
to allow people to use Bonobo components in Mono and
Mono components with Bonobo. The best of both worlds!
-TODO=moniker,Object Naming System with Monikers
* A naming space for Mono. An object naming space is
a very powerful tool. Bonobo implements a moniker
system that is more powerful than the original