C-style altenative to MS ASP.Net web control library?
-
I'm a Windows application developer, trying to get into some web development. I'm really into using good OO design. Is it just me, or is ASP.Net still too "scripty" and "page-centric"? With ASP 3.0 you wrote your stuff as webpages - embedded server-side scripts in what was essentially an HTML document processed on the server. With ASP.Net I thought we'd have the ability to write web applications which at the class level functioned like a Windows application - a core parent application which responded to user input, instantiating and rendering various classes from a namespace hierarchy. I also thought that web controls would behave the same as Windows controls - unlimited levels of nesting, bulletproof eventhandling etc etc. The more I get into ASP.Net, the more I realize that it started off as a great idea, but it wasnt really fully implemented. For example, you can't really write all your code in the "codebehind" section - you still have to write some HTML or ASP.HTML, where you don't get type safety or the ability to have the compiler catch mistakes. Hence you still have to find a some errors at runtime, instead of compile time. Bad. Also, user controls in ASP.Net arent as powerful as they could have been. Web controls dont always expose all the HTML properties that the final rendered HTML elements support. And they dont compile into a DLL. And they dont really nest under other webcontrols that well (you can lose events for example). Does anyone know of an alternative to MS' ASP.Net control library? Something that a) can be used entirely in codebehind b) is based entirely on classes in a namespace hierarchy, not "classes embedded in aspx pages". c) can be compiled into a DLL and thus deployed in other web applications without having to copy over various loose source files. d) that implements more properties of the final rendered HTML elements. In short, I want to code a web application the same way I would code a C-style application. It should be about classes, namespaces, events, type safety and the almighty compiler. I dont want to see any HTML or any "pages" of any kind. The page model in web development is a remnant from the old days when the web consisted of documents which contained information. Organizing programs by pages just doest make sense anymore. Making a page a class doesn't help either - that's just a quick workaround. I've been kicking around the idea of writing my own control library for ASP.Net, and I've got some rough prototypes coded already, but I dont wan
-
I'm a Windows application developer, trying to get into some web development. I'm really into using good OO design. Is it just me, or is ASP.Net still too "scripty" and "page-centric"? With ASP 3.0 you wrote your stuff as webpages - embedded server-side scripts in what was essentially an HTML document processed on the server. With ASP.Net I thought we'd have the ability to write web applications which at the class level functioned like a Windows application - a core parent application which responded to user input, instantiating and rendering various classes from a namespace hierarchy. I also thought that web controls would behave the same as Windows controls - unlimited levels of nesting, bulletproof eventhandling etc etc. The more I get into ASP.Net, the more I realize that it started off as a great idea, but it wasnt really fully implemented. For example, you can't really write all your code in the "codebehind" section - you still have to write some HTML or ASP.HTML, where you don't get type safety or the ability to have the compiler catch mistakes. Hence you still have to find a some errors at runtime, instead of compile time. Bad. Also, user controls in ASP.Net arent as powerful as they could have been. Web controls dont always expose all the HTML properties that the final rendered HTML elements support. And they dont compile into a DLL. And they dont really nest under other webcontrols that well (you can lose events for example). Does anyone know of an alternative to MS' ASP.Net control library? Something that a) can be used entirely in codebehind b) is based entirely on classes in a namespace hierarchy, not "classes embedded in aspx pages". c) can be compiled into a DLL and thus deployed in other web applications without having to copy over various loose source files. d) that implements more properties of the final rendered HTML elements. In short, I want to code a web application the same way I would code a C-style application. It should be about classes, namespaces, events, type safety and the almighty compiler. I dont want to see any HTML or any "pages" of any kind. The page model in web development is a remnant from the old days when the web consisted of documents which contained information. Organizing programs by pages just doest make sense anymore. Making a page a class doesn't help either - that's just a quick workaround. I've been kicking around the idea of writing my own control library for ASP.Net, and I've got some rough prototypes coded already, but I dont wan
Reading through your post, it looks to me that you are trying to start an argument than seriously look for help. If you are seriously looking for help then I suggest you stop bitching about the technolgy and actually learn how it works. It isn't perfect, but it does its job remarkably well.
"If a man empties his purse into his head, no man can take it away from him, for an investment in knowledge pays the best interest." -- Joseph E. O'Donnell Not getting the response you want from a question asked in an online forum: How to Ask Questions the Smart Way!
-
Reading through your post, it looks to me that you are trying to start an argument than seriously look for help. If you are seriously looking for help then I suggest you stop bitching about the technolgy and actually learn how it works. It isn't perfect, but it does its job remarkably well.
"If a man empties his purse into his head, no man can take it away from him, for an investment in knowledge pays the best interest." -- Joseph E. O'Donnell Not getting the response you want from a question asked in an online forum: How to Ask Questions the Smart Way!
-
I'm a Windows application developer, trying to get into some web development. I'm really into using good OO design. Is it just me, or is ASP.Net still too "scripty" and "page-centric"? With ASP 3.0 you wrote your stuff as webpages - embedded server-side scripts in what was essentially an HTML document processed on the server. With ASP.Net I thought we'd have the ability to write web applications which at the class level functioned like a Windows application - a core parent application which responded to user input, instantiating and rendering various classes from a namespace hierarchy. I also thought that web controls would behave the same as Windows controls - unlimited levels of nesting, bulletproof eventhandling etc etc. The more I get into ASP.Net, the more I realize that it started off as a great idea, but it wasnt really fully implemented. For example, you can't really write all your code in the "codebehind" section - you still have to write some HTML or ASP.HTML, where you don't get type safety or the ability to have the compiler catch mistakes. Hence you still have to find a some errors at runtime, instead of compile time. Bad. Also, user controls in ASP.Net arent as powerful as they could have been. Web controls dont always expose all the HTML properties that the final rendered HTML elements support. And they dont compile into a DLL. And they dont really nest under other webcontrols that well (you can lose events for example). Does anyone know of an alternative to MS' ASP.Net control library? Something that a) can be used entirely in codebehind b) is based entirely on classes in a namespace hierarchy, not "classes embedded in aspx pages". c) can be compiled into a DLL and thus deployed in other web applications without having to copy over various loose source files. d) that implements more properties of the final rendered HTML elements. In short, I want to code a web application the same way I would code a C-style application. It should be about classes, namespaces, events, type safety and the almighty compiler. I dont want to see any HTML or any "pages" of any kind. The page model in web development is a remnant from the old days when the web consisted of documents which contained information. Organizing programs by pages just doest make sense anymore. Making a page a class doesn't help either - that's just a quick workaround. I've been kicking around the idea of writing my own control library for ASP.Net, and I've got some rough prototypes coded already, but I dont wan
The strong point of asp.net is that it lets you separate the "view" code (HTML) from the rest of the application. I'm not sure how this is a bad thing? Note that codebehind files are compiled into a separate DLL, i.e. there is no need to distribute the source files -- only the DLL. In addition, you can (and should) code your "model" logic in a separate DLL, that has no user interface elements at all. I agree with your general argument (although for different reasons than you give). ASP.NET is a version 1.0 product, that has not achieved its full potential. I don't know of anything better though, except for ASP.NET 2.0.
-
I'm a Windows application developer, trying to get into some web development. I'm really into using good OO design. Is it just me, or is ASP.Net still too "scripty" and "page-centric"? With ASP 3.0 you wrote your stuff as webpages - embedded server-side scripts in what was essentially an HTML document processed on the server. With ASP.Net I thought we'd have the ability to write web applications which at the class level functioned like a Windows application - a core parent application which responded to user input, instantiating and rendering various classes from a namespace hierarchy. I also thought that web controls would behave the same as Windows controls - unlimited levels of nesting, bulletproof eventhandling etc etc. The more I get into ASP.Net, the more I realize that it started off as a great idea, but it wasnt really fully implemented. For example, you can't really write all your code in the "codebehind" section - you still have to write some HTML or ASP.HTML, where you don't get type safety or the ability to have the compiler catch mistakes. Hence you still have to find a some errors at runtime, instead of compile time. Bad. Also, user controls in ASP.Net arent as powerful as they could have been. Web controls dont always expose all the HTML properties that the final rendered HTML elements support. And they dont compile into a DLL. And they dont really nest under other webcontrols that well (you can lose events for example). Does anyone know of an alternative to MS' ASP.Net control library? Something that a) can be used entirely in codebehind b) is based entirely on classes in a namespace hierarchy, not "classes embedded in aspx pages". c) can be compiled into a DLL and thus deployed in other web applications without having to copy over various loose source files. d) that implements more properties of the final rendered HTML elements. In short, I want to code a web application the same way I would code a C-style application. It should be about classes, namespaces, events, type safety and the almighty compiler. I dont want to see any HTML or any "pages" of any kind. The page model in web development is a remnant from the old days when the web consisted of documents which contained information. Organizing programs by pages just doest make sense anymore. Making a page a class doesn't help either - that's just a quick workaround. I've been kicking around the idea of writing my own control library for ASP.Net, and I've got some rough prototypes coded already, but I dont wan
I don't know of a comprehensive replacement suite for the Microsoft ASP.NET controls, but it is fully possible to instantiate, manipulate and place the standard controls without ever using an .aspx page or .ascx control file. I'm not sure that I understand your issue. You have full control over the implmentation of a web application. It is possible to inherit and extend Server Controls (
System.Web.UI.Control
), Web User Controls (System.Web.UI.UserControl
), Pages (System.Web.UI.Page
), and most of the other classes in theSystem.Web
namespace. There is no requirement to ever use the HTML code-in-front. It is simply there as a convenience. There is nothing that availible from the code-in-front that you cannot manipulate in the code-behind. There is no true need for any files other then the raw source code, which would meet your goal of your entire application/page/control being fully compiled into a DLL. In fact, by implementing a simple HTTP Handler to field requests, you could code an entire web application from nothing but raw source files. At its core, that is exactly how the ASP.NET engine drives a site. All .ascx and .aspx files are parsed into classes, compiled, and jitted into a working directory and used as object instances by the .NET framework for processing/rendering. To sum up, the .NET framework and standard .NET controls already support the functionality that you're looking for. To reach the widest possible audience, the framework allows the use of HTML and javascript for developer convenience, nothing more. There are no technical limitations that prevent you from coding in a class-only, object oriented way with the standard ASP.NET components. Hope that helps a bit. :) --Jesse