Welcome to mirror list, hosted at ThFree Co, Russian Federation.

ideas « doc - github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/doc/ideas
blob: 0a97cdcc4d244967a995d23d06ec1ec7a1915f3e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
* 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).

		  You can check the current C 
		<a href="http://cvs.gnome.org/bonsai/rview.cgi?dir=evolution%2Fcamel">
		Camel implementation</a>.

		  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 

	</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
		  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
		  moniker concept that was pioneered by COM/OLE in the
		  Microsoft world.

		  Our implementation builds on a concept, and we have
		  made it simpler, more powerful, more extensible and
		  a much better mechanism than the equivalent monikers
		  on Windows. 

		  Implementing Mono monikers would benefit both
		  Windows users using .NET and Mono users on Unix and
		  Windows.  

		  Here is <a
		  href="http://primates.ximian.com/~miguel/monikers.html">an
		  overview of the moniker system</a> in Bonobo.

	</ul>