2002-08-11 Martin Baulig <martin@gnome.org>
[mono.git] / web / asp-net
1 * ASP.NET
2
3         ASP.NET support is divided in two pieces:
4         <ul>
5                 * Web Forms (Web Applications infrastructure).
6
7                 * Web Services (the SOAP-based rpc system).
8         </ul>
9
10         There is work underway for both systems.  The Web Forms
11         support is more advanced at this point, and various ".aspx"
12         programs can be run using the Mono runtime and the XSP page
13         parser.
14
15         Tim started work on the Web Services early this week.
16         Although we have a SoapFormatter as part of the remoting
17         infrastructure already (contributed by Jesus), most people
18         will be using the ASP.NET Web-services support.  Work for the
19         supporting class libraries just started recently.
20
21 * Web Forms: The pieces
22
23         There are a couple of components to the puzzle:
24
25         <ul>
26                 * .aspx page parser (converts .aspx to C# code).
27         
28                 * System.Web.HttpRuntime support.
29         
30                 * Web controls (System.Web.UI.HtmlControls and
31                   System.Web.UI.WebControls).
32         
33                 * Underlying infrastructure for the controls (System.Web.UI).
34         
35                 * HttpRuntime.ProcessRequest is the core of the ASP.NET
36                   implementation.
37         </ul>
38
39
40         Gonzalo has been working on an ASP.NET parser that takes .aspx
41         files and generated the code required to run them (the code lives in
42         module `xsp' along with a little web server for testing).
43
44         Most of the runtime support was mostly written by Patrik Torstensson
45         (now at Intel).  This was interesting, because in order to implement
46         some of its features, Patrik had to go into the runtime/JIT engine and
47         he spent a few weeks doing work there.
48
49         The classes for running ASP.NET are being actively written.
50         Gaurav, Leen and Patrik worked in the core of the classes
51         required to run ASP.NET web application as well as a small
52         embeddable web server.
53
54         Duncan got our System.Web assembly to compile.
55
56 ** HttpRuntime
57
58         Patrik has authored most of the HttpRuntime support (both on
59         the System.Web and on the foundation) but it is still not
60         ready to run.
61
62 ** XSP
63
64         Currently XSP provides the .aspx compiler to C#.  It would be
65         interesting to see if it makes sense to extend the ASP.NET
66         syntax to make it simpler to develop applications.
67
68         Gonzalo is in charge of the compiler.
69
70 ** Controls
71
72         A lot of work has been put in the various classes that
73         implement the controls (UI.HtmlControls and UI.WebControls),
74         but they have been coded mostly in the dark, and without being
75         able to test them in real life: Gaurav and Leen worked very
76         hard on this namespace, but needs to be finished.
77
78         We can now render all HtmlControls and some WebControls. Work is
79         ongoing to make all WebControls render HTML.
80
81 ** Extending ASP.NET
82
83         Currently you have to reference in your ASP.NET the control
84         and all of its properties, which works fine if you have a GUI
85         designer, but is harder for people used to develop using text
86         editors.
87
88         Since we have a parser, we could extend this parser to allow
89         people to still use ASP.NET controls, using a simpler syntax.
90         For example people doing blogs and editing their templates
91         over the web probably do not want to use direct ASP.NET but a
92         wrapper around it.
93
94 ** Roadmap
95
96         1. The Parser.
97
98         2. Get the parser to generate output compatible with ASP.NET.
99
100         3. Run the sample output with the real Microsoft runtime
101            but using our generated page.   
102
103         4. Run the sample with our classes with the .NET runtime.
104         <b>We are here</b>.
105
106         5. Finish HttpRuntime.
107         
108         6. Running our sample code with our classes with our runtime.
109
110 ** How to Help
111
112         Currently we are testing and fixing HtmlControls, WebControls and
113         validators.
114
115         In the CVS module XSP you can find the aspx to C# page parser,
116         a little web server used for testing and a directory containing
117         sample aspx pages.
118
119         You have some documentation under doc directory and in the README
120         file of each directory. They explain how to test our System.Web.
121         Testing is really easy!
122