473,563 Members | 2,856 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

ASP.NET WebForms Evaluation

Hello,

I am in the process of evaluating ASP.NET

So far I am not impressed at all.

It seems to me that a basic evaluation of the PROs and CONs
of using things like HTML Server Controls, Data Controls, User Controls
etc. all breaks down the same way: lots of cons very few pros.

I understand that microsoft wants to make their development environment
easy for beginners, but they seem to expect
professional developers to use this rubbish as well.

-------------------------------------------------------------------
DataGrid & UserControls
-------------------------------------------------------------------

Pros
----

- saves me having to spend 1 minute typing simple code (ie: loop and
method)
- apparently saves me from worrying about about format (yeah, right)

Cons
----

- stops me from using OO programming conventions for html rendering
- risk of change in newer versions of asp.net
- takes time to learn when we have suitable skills already (ie: we know
html and can write code)
- this sort of declarative / over-encapsulated approach always results
in messy workarounds
- very inefficient pagination implementation - couldn't use in
production server
- lots of extra files to worry about (usercontrols, datasets)
- ASPX pages don't compile until called so takes longer to debug

Am I the only one who will be avoiding these "features"?

John Rivers

Nov 19 '05 #1
20 2205
re:
Am I the only one who will be avoiding these "features"?
No.

It appears you're our current resident troll.

;-)

Juan T. Llibre
ASP.NET MVP
http://asp.net.do/foros/
Foros de ASP.NET en Español
Ven, y hablemos de ASP.NET...
=============== =======

"John Rivers" <fi*****@btinte rnet.com> wrote in message
news:11******** **************@ g43g2000cwa.goo glegroups.com.. . Hello,

I am in the process of evaluating ASP.NET

So far I am not impressed at all.

It seems to me that a basic evaluation of the PROs and CONs
of using things like HTML Server Controls, Data Controls, User Controls
etc. all breaks down the same way: lots of cons very few pros.

I understand that microsoft wants to make their development environment
easy for beginners, but they seem to expect
professional developers to use this rubbish as well.

-------------------------------------------------------------------
DataGrid & UserControls
-------------------------------------------------------------------

Pros
----

- saves me having to spend 1 minute typing simple code (ie: loop and
method)
- apparently saves me from worrying about about format (yeah, right)

Cons
----

- stops me from using OO programming conventions for html rendering
- risk of change in newer versions of asp.net
- takes time to learn when we have suitable skills already (ie: we know
html and can write code)
- this sort of declarative / over-encapsulated approach always results
in messy workarounds
- very inefficient pagination implementation - couldn't use in
production server
- lots of extra files to worry about (usercontrols, datasets)
- ASPX pages don't compile until called so takes longer to debug

Am I the only one who will be avoiding these "features"?

John Rivers

Nov 19 '05 #2
> I understand that microsoft wants to make their development environment
easy for beginners, but they seem to expect
professional developers to use this rubbish as well.


You will probably get a number of arguing responses, but there is some truth
in your statement. After a few years of intensive programming in asp.net, I
found it much more efficient if you start a new page from an html prototype
and than add "runat=serv er" as needed. And a repeater with databound items
gives you much more flexibility than a datagrid.

Eliyahu
Nov 19 '05 #3
My thoughts
- stops me from using OO programming conventions for html rendering
How on earth does it stop that, You can control the HTML
If you don't like the web control html, use html controls
If you don't like the DataGrids html, user a repeater/datalist
Hell, build a for loop, it can be done
- risk of change in newer versions of asp.net
Changes are well documented.
You can run all versions of .net simultaneously for testing
Besides, if it weren't changing, then it wouldn't be getting better
- takes time to learn when we have suitable skills already (ie: we know
html and can write code)
you still need to know Html in ASP.NET
Codes evolving, so must you
- this sort of declarative / over-encapsulated approach always results
in messy workarounds
Messy workarounds = bad coding or design
Sounds like its the developer thats the problem, not the tool
- very inefficient pagination implementation - couldn't use in
production server
Is that cause you don't know how, or it wouldn't work
Custom paging is available if you don't like the built in paging
i.e. its optional, you can still use traditional paging methods
- lots of extra files to worry about (usercontrols, datasets)
A DataSet is not a file, its an object
Usercontrols are reusable, so it makes sense to be a seperate file

- ASPX pages don't compile until called so takes longer to debug
Thats only the first time its called, it has to be compiled some time

"John Rivers" <fi*****@btinte rnet.com> wrote in message
news:11******** **************@ g43g2000cwa.goo glegroups.com.. . Hello,

I am in the process of evaluating ASP.NET

So far I am not impressed at all.

It seems to me that a basic evaluation of the PROs and CONs
of using things like HTML Server Controls, Data Controls, User Controls
etc. all breaks down the same way: lots of cons very few pros.

I understand that microsoft wants to make their development environment
easy for beginners, but they seem to expect
professional developers to use this rubbish as well.

-------------------------------------------------------------------
DataGrid & UserControls
-------------------------------------------------------------------

Pros
----

- saves me having to spend 1 minute typing simple code (ie: loop and
method)
- apparently saves me from worrying about about format (yeah, right)

Cons
----

- stops me from using OO programming conventions for html rendering
- risk of change in newer versions of asp.net
- takes time to learn when we have suitable skills already (ie: we know
html and can write code)
- this sort of declarative / over-encapsulated approach always results
in messy workarounds
- very inefficient pagination implementation - couldn't use in
production server
- lots of extra files to worry about (usercontrols, datasets)
- ASPX pages don't compile until called so takes longer to debug

Am I the only one who will be avoiding these "features"?

John Rivers

Nov 19 '05 #4
Hi John,

Ic you have made an effort so I'll try to respond objectivly.
I programmed in classic ASP for 5 years and have 2 years of ASP.NET experience.
- saves me having to spend 1 minute typing simple code (ie: loop and
method)
Lets do the test. You tell me how long it takes to have a datagrid that can
do the following
- edit
- sort
- paginate
- and lets thorw in a master detail construction

Once I see your page I will remake it in asp.net with the exact same functionality
so throw in some stuff that you think the datagrid can't do cause if its
inflexibilty.

Maybe you have written your own functions in cASP that make this easier but
in effect you have written your own datagrid then.
And that doesn't count cause we are comparing cASP and APS.NET out of the
box.
- stops me from using OO programming conventions for html rendering
What are you refering to?
- risk of change in newer versions of asp.net
Simply not true. IMO microsoft innovates all the time and has always a clean
and easy upgrade path.
If you want to program ASP.NET the cASP style you can do this with no problem.
But then you are misssing _a lot_
- takes time to learn when we have suitable skills already (ie: we
know
html and can write code)
ASP.NET provides abstractions to improve your productivity. I also think
that if you start with ASP.NET your mental model will not be as elaborate
as if you started to program with the primitives we had in cASP.
But I know zero assambler and I can still make pretty websites with cASP
and I can do it faster with ASP.NET (extreme argument).
- this sort of declarative / over-encapsulated approach always results
in messy workarounds
If the asp.net team didn't do such a good job than this could be the case.
However, they did a good job so just throw in some things in the test that
you think will require workarounds.
This is not a fair test (aiming concsiously at the weak spot) but Ill take
you on.
- very inefficient pagination implementation - couldn't use in
production server
I agree. For small sets of data its adequate but for large sets its terribly
inefficient. Did you know you can provide your own custom pagination?
- lots of extra files to worry about (usercontrols, datasets)
Consider those files as building blocks of other pages. Putting them in User/Custom
controls also lets them have events,cache control,...
I also don't use them much, I'd rather write a function that I can call but
its a matter of taste.
(I dont use typed datasets cause I think its too much overhead. Again, don't
use them if you want to. They are there if you like 'm ok?)

Maybe other developers can clearly state what the advantages are of user
controls vs function calls and where they shine.
- ASPX pages don't compile until called so takes longer to debug


Very annoying indeed. Advice : Switch to ASP.NET version 2 now and continue
your evalution http://lab.msdn.microsoft.com/express/vwd/

I hope you aren't a troll and do the test with me cause I'm really intrested
in the outcome.
I haven't seen any metrics that compare cASP and ASP.NET so this is an oppertunity.
Cheers,
Tom Pester
Nov 19 '05 #5

tom pester wrote:
Hi John,

Ic you have made an effort so I'll try to respond objectivly.
I programmed in classic ASP for 5 years and have 2 years of ASP.NET experience.
- saves me having to spend 1 minute typing simple code (ie: loop and
method)
Lets do the test. You tell me how long it takes to have a datagrid that can
do the following
- edit
- sort
- paginate
- and lets thorw in a master detail construction


using my "core" knowledge of html, sql, c#, framework
about 40 minutes

there is no point in learning and using non-core, arbitrary junk code
that microsoft creates for marketing purposes

i cannot write a SqlDataConnecti on class in 40 minutes, it would take
weeks
that is why i use ADO.NET

i cannot write a blistering fast webserver in less than
12 months, so I use IIS

i cannot write a transactional component architecture
so I use MTS

this does not hold true for these silly controls - they are a waste of
time
and people who use them will pay the price

Once I see your page I will remake it in asp.net with the exact same functionality
so throw in some stuff that you think the datagrid can't do cause if its
inflexibilty.
yes and it will be 90% your code and 10% datagrid
so why not go the whole hog and write your own loop too! :)

Maybe you have written your own functions in cASP that make this easier but
in effect you have written your own datagrid then.
And that doesn't count cause we are comparing cASP and APS.NET out of the
box.
- stops me from using OO programming conventions for html rendering
What are you refering to?


C# is the most beautiful OO language i have ever seen
it is delicious - i want to use its powers for my html
rendering classes - i know i can if i want but what
i am complaining about is that microsoft doesn't want me to!
it wants me to wrap what would be methods into user control files
that aren't .net classes, they are "user controls" i can't call
them when I want, they have to be "placed" on a "design surface"
I can't extend them, override them or anything them.
if anthing needs OO programming it is UI rendering.
this is all I ask:

to write this:

void RenderHTML(stri ng Title) {
%><html>
<head>
<title><%=HTML( Title)%></title>
</head><%
}

in my aspx page
with html, xml, wml whatever code coloring and completion inside the
code block
with proper syntax check during build (for both c# and html,
javascript) and now
i can build my rendering library properly.

they could have done this easily - but they chose to force the issue
and make people use user controls which are a flawed concept.
- risk of change in newer versions of asp.net
Simply not true. IMO microsoft innovates all the time and has always a clean
and easy upgrade path.
If you want to program ASP.NET the cASP style you can do this with no problem.
But then you are misssing _a lot_
- takes time to learn when we have suitable skills already (ie: we
know
html and can write code)


ASP.NET provides abstractions to improve your productivity. I also think
that if you start with ASP.NET your mental model will not be as elaborate
as if you started to program with the primitives we had in cASP.
But I know zero assambler and I can still make pretty websites with cASP
and I can do it faster with ASP.NET (extreme argument).


i don't make pretty websites, i make e-businesses that have to work
every second of every day for years on end with no hiccups
would i choose to use weird abstractions designed to make coding easy
for begineers which add complexity and non-determinism to my apps? nope
- this sort of declarative / over-encapsulated approach always results
in messy workarounds
If the asp.net team didn't do such a good job than this could be the case.
However, they did a good job so just throw in some things in the test that
you think will require workarounds.
This is not a fair test (aiming concsiously at the weak spot) but Ill take
you on.
- very inefficient pagination implementation - couldn't use in
production server


I agree. For small sets of data its adequate but for large sets its terribly
inefficient. Did you know you can provide your own custom pagination?


but then what is the datagrid doing?
just a loop ...
- lots of extra files to worry about (usercontrols, datasets)
Consider those files as building blocks of other pages. Putting them in User/Custom
controls also lets them have events,cache control,...
I also don't use them much, I'd rather write a function that I can call but
its a matter of taste.
(I dont use typed datasets cause I think its too much overhead. Again, don't
use them if you want to. They are there if you like 'm ok?)


if only it were that easy
the fact that they are there means I HAVE TO LEARN them
it is forced on me, that is why i am a "troll" today
i don't like being forced to learn junk

Maybe other developers can clearly state what the advantages are of user
controls vs function calls and where they shine.
- ASPX pages don't compile until called so takes longer to debug
Very annoying indeed. Advice : Switch to ASP.NET version 2 now and continue
your evalution http://lab.msdn.microsoft.com/express/vwd/

I hope you aren't a troll and do the test with me cause I'm really intrested
in the outcome.
I haven't seen any metrics that compare cASP and ASP.NET so this is an oppertunity.




Cheers,
Tom Pester


Nov 19 '05 #6
Hello John,
using my "core" knowledge of html, sql, c#, framework about 40 minutes
this does not hold true for these silly controls - they are a waste of
time
and people who use them will pay the price
My first estemate is that I am 4 to 8 times faster. I don't want to make
it a "I am faster than you" contest. But I guess I just did :)
I still want to do the test if you are serious about it. If you give me a
working cASP page Ill make it an ASP.NET one _without_ compromsing.
Why are you saying its a waste of time? The datagrid is suited for the majority
of cases. If it is such a case than use it and be more productive.
If I need something different than a datagrid than I check out the datalist
or repeater. Only then I will write my own rs.MoveNext wheel.
yes and it will be 90% your code and 10% datagrid
so why not go the whole hog and write your own loop too! :)
You still want to do the test?
it wants me to wrap what would be methods into user control files
that aren't .net classes,
A user control _is_ a .net class that you express in a way that is exrpressed
in a way that is related to the problem domain.
( You can also write a custom control that looks exactly like a class )
if anthing needs OO programming it is UI rendering.
this is all I ask:
to write this:

void RenderHTML(stri ng Title) {
%><html>
<head>
<title><%=HTML( Title)%></title>
</head><%
}
in my aspx page
with html, xml, wml whatever code coloring and completion inside the
code block
with proper syntax check during build (for both c# and html,
javascript) and now
i can build my rendering library properly.
they could have done this easily - but they chose to force the issue
and make people use user controls which are a flawed concept.
Switching to asp.net and finding that my render functions didn't work was
a pain indeed.
I used them all the time and now I had to write :
response.write( "<head>")
instead of
<head>

Big deal? Maybe. Now that I write lots of .net code I don't mind.

You can still write the functions you are talking about so what's the poblem?

BTW Interspersing html and code this way did introduce a performance hit.
i don't make pretty websites, i make e-businesses that have to work
every second of every day for years on end with no hiccups
would i choose to use weird abstractions designed to make coding easy
for begineers which add complexity and non-determinism to my apps?
nope
Using superb controls that

- have been stress tested
- are virtualy bug free (you could do it better I know ;)
- are tested for security holes by good engineers and are scrutinized by
a community of thousands
- are extensible
- are free
- cooperate with other controls
- support caching
(-the asp.net v2 gridview does also do ajax pagination)

ere defenitly nice to have. Just use them where appropriate and you will
have more time to make a better site (or make more sites if its up to your
manager).

I have a feeling you only read about ASP.NET.
Did you actualy try to make a site with the controls just like in the days
you first discovered cASP and were an asp noob? Are do you approuch the subject
not open minded?
but then what is the datagrid doing?
just a loop ...
A Loop yes. A loop with built in edit support. Ow and sorting. Ah yes and
caching support too. And you can select a row too yes...etc
Its more than a loop John. See some of the properties that controls have
in my previous remark.
the fact that they are there means I HAVE TO LEARN them
it is forced on me, that is why i am a "troll" today
i don't like being forced to learn junk


Ok then. Try to convince your co-workers why they are bad design and stay
away from controls as for as you can.

Enough throwing arguments on the table for me. If you want to do the test
than lets to it through email and report back here.
If not than these are just words.

Switching to a new technology is always an experience. You start with an
attitude that you know everything and you see less experienced developers
getting up to speed much faster than you did using these abstractions. So
you check them out, dont fully understand the potential and go your own way.
Than you find a case where you indeed are more productive with the technology
and while using it find another suitable case. After some time you assimilate
it in your workflow and start doing everything with the new technology. You
are testing it to its limits.
Some time later you clearly see the overal picture and understand the potential
of the new technology and use it where appropriate.

Cheers,
Tom Pester
Nov 19 '05 #7
" takes time to learn when we have suitable skills already (ie: we know

html and can write code) "

Use HTML to create a web application hooked up to Active Directory and
is used for maintaining employee file permissions and software
licensing. Send me the URL when completed in never.

Nov 19 '05 #8
Now I have thought it through I can see why they have organised ASPX
like this.

It allows designers to make changes, test and upload the ASPX pages
without having to recompile
or liaise with the developers.

It allows for developers to expose datasets etc. to designers who can
then use datagrids
for rendering etc.

User and custom controls can be created by developers for designers.

This make sense if you have a group of non-technical designers working
alongside
technical developers.

But it doesn't make sense if you are a single developer who prefers to
use classes
for ui rendering (like in Classic ASP) and need to develop
sophisticated applications
that microsofts controls simply don't allow for.

Thus I will carry on using:

void Render() {
Response.Write( @"
<here is my html/>
");
}

and I will have a multi-brandable, flexible, extendable rendering
library!

and miss out on html code completion and coloring
and having to use "" or ' instead of "

So now all I need to be happy is:

- allow classes and methods in aspx pages
- designers don't have to use them if they don't want to

and as for all this rubbish about code blocks and performance
casp and aspnet both jit compile and cache the native code

there is no performance penalty and never has been

Nov 19 '05 #9
..NET is for development (web or software), not design.

Nov 19 '05 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

1
1713
by: Paul R | last post by:
Hi, I have a Winforms application that access some SQLServer2000 stored procedures. I have now written some new Webforms pages to use some of the same stored procs. The Webforms use the SAME data access classes (all of my business logic and data access classes are in DLLs that are shared between the Winforms and Webforms).
4
3926
by: 3Cooks | last post by:
I have a windows application written in Visual Basic 6.0 that is going to be redeveloped in dotNET. We are trying to decide if we should deploy using Webforms or Winforms and I need advice from someone who is not on my team. The VB 6.0 application is used by approximately 100 users. All users reside in-house. There is an existing...
5
4933
by: Bit byte | last post by:
Can I use C# (Winforms) to design a website?. I am from C/C++ background but know nothing about Internet programming. My understanding of WebForms are that they are similar to WinForms in that they give a WYSIWYG environment for designing user interfaces - however, all searches I have done on WebForms display the actual HTML, not a WYSIWYG...
2
2183
by: =?Utf-8?B?Um9iZXJ0IFNtaXRo?= | last post by:
Hi, I have just installed visual studio 2005 professional edition (evaluation version). However it will not allow me to view webforms in a website project in design view. I can just see the HTML and the code behind, but no graphical design view, which is pretty fundamental for development. I have .net framework 2.0 service pack 1 installed....
0
7665
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main...
0
7583
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language...
0
7888
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. ...
0
6255
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then...
1
5484
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes...
0
5213
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert...
0
3643
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in...
1
1200
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
0
924
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.