ideas 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. * Ideas
  2. There are many pending classes that need to be implemented. Those have
  3. the highest impact in the Mono project: the sooner they are done,
  4. the sooner we can start using this platform to create new and
  5. exciting applications.
  6. That being said, if you are not very excited about working on class
  7. libraries, here is a list of other related projects or tools that might
  8. be useful to the Mono project.
  9. Here are a few ideas of tools, classes and projects that you
  10. could start. More are forthcoming.
  11. <a name="runtime">
  12. ** Runtime
  13. We need a verifier that can be run on an executable (assembly)
  14. and tells whether the metadata for the executable is correct
  15. or not. It should report any anomalies.
  16. For a list of anomalies in assemblies, check the various assertions
  17. that are described on the ECMA documentation.
  18. This will help test our generated executables and can be also
  19. used as an external verifier.
  20. <a name="classes">
  21. ** Classes
  22. <ul>
  23. TODO=jxta,The JXTA Peer to Peer foundation
  24. * Implement a JXTA protocol implementation:
  25. <a href="http://www.jxta.org">http://www.jxta.org</a>
  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. You can check the current C
  31. <a href="http://cvs.gnome.org/bonsai/rview.cgi?dir=evolution%2Fcamel">
  32. Camel implementation</a>.
  33. Such an implementation could be used both with
  34. Microsoft .NET and Mono.
  35. TODO=multimedia
  36. * Interfacing to Multimedia systems. You might want
  37. to look into the Quicktime API. I know <a
  38. href="mailto:[email protected]">Vladimir</a> has
  39. researched the problem before
  40. </ul>
  41. <a name="projects">
  42. ** Projects
  43. <ul>
  44. TODO=xmlStorage,
  45. * Implement an xmlStorageSystem for the CLI:
  46. <a href="http://www.soapware.org/xmlStorageSystem">
  47. http://www.soapware.org/xmlStorageSystem</a>
  48. TODO=guavac,Java compiler for .NET
  49. * You could take one of the existing Java compilers
  50. (Guavac comes to mind as it is so nice) and modify
  51. it to generate .NET code rather than JVM byte
  52. codes.
  53. This should be a pretty straightforward task.
  54. Guavac has the advantage of being written in C++ and
  55. it could be compiled with the Microsoft Managed C++
  56. compiler and produce a .NET executable with it.
  57. TODO=CORBA,CORBA implementation
  58. * Build a CORBA interoperability engine for the CLR.
  59. You do not need to do all of the work, just talking
  60. the protocol will get us a long way (<a
  61. href="http://www.omg.org">The OMG site</a> has the
  62. CORBA specs).
  63. Get in touch with David Taylor (dtaylo11 at bigpond
  64. dot net dot au) as he has been working on this
  65. project.
  66. TODO=Bonobo,Bonobo for Mono
  67. * Once CORBA is done, implement the Bonobo interfaces
  68. to allow people to use Bonobo components in Mono and
  69. Mono components with Bonobo. The best of both worlds!
  70. TODO=moniker,Object Naming System with Monikers
  71. * A naming space for Mono. An object naming space is
  72. a very powerful tool. Bonobo implements a moniker
  73. system that is more powerful than the original
  74. moniker concept that was pioneered by COM/OLE in the
  75. Microsoft world.
  76. Our implementation builds on a concept, and we have
  77. made it simpler, more powerful, more extensible and
  78. a much better mechanism than the equivalent monikers
  79. on Windows.
  80. Implementing Mono monikers would benefit both
  81. Windows users using .NET and Mono users on Unix and
  82. Windows.
  83. Here is <a
  84. href="http://primates.ximian.com/~miguel/monikers.html">an
  85. overview of the moniker system</a> in Bonobo.
  86. </ul>