ideas 3.8 KB

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