Topic: .net Devs

Hey all!

Who (if anybody) uses .Net here?  I know there are 4 billion ruby on rails folks and 85 billion php goers...anyone using Microsoft's plat?

(I'm one! :-))

Yo.  This is my sig.  It roars.

Re: .net Devs

Yep, there are a few of us around smile

Free Web Hosting - http://www.christianasp.net

Re: .net Devs

yes sir!

Re: .net Devs

I use it at work, but I'm a PHP boy at home.

Re: .net Devs

Good deal.  Thanks for the heads up!

Chris, I do PHP also...started out with it, in fact. 

I remember a time when I thought all there was was Unix Shell Scripts for doing page processing! Ha!

Yo.  This is my sig.  It roars.

Re: .net Devs

I use ASP.net at work.  I actually like it.  Have some experience with PHP and liked it but am not a big fan of Ruby on Rails.

Re: .net Devs

I am a .Net'er messing with 3.5 and Linq, looks pretty nice.

† Taj

Re: .net Devs

Wow. 

I heard some things 'bout it, but I haven't ever touched it -- haven't really had that much reason to do so.  I heard that it takes the place (?) of SQL or something of the sort.

Are you already doing stuff at work with it?  Why'd you start mucking with it (if I may ask, that is :-) ).

Yo.  This is my sig.  It roars.

Re: .net Devs

Yep.  I use it.

I was pretty much fed up with asp.net until I came across MonoRail and the Castle Project.

I would encourage other asp.net developers to take a look at MonoRail or the Microsoft MVC framework when it comes out next year.  I am just finishing my first MonoRail project and I have been very happy with it.

I have not seen the Microsoft MVC framework yet, only a few people have.  However, it is getting positive reviews from other MonoRail users.

Regards,
Eric

Re: .net Devs

ASP.NET'er here, too.  If you don't use runat server forms, I think it's a great all-around platform.

I have VS2008 downloaded, but not installed yet.  I've been looking forward to it for while.

Re: .net Devs

tke -- What got you fed up about it?  Just curious.

Larry -- What do you mean by "runat server forms"?

Yo.  This is my sig.  It roars.

Re: .net Devs

.NET WebForms

The built-in controls are kinda neat, but they produce some of the most terrible markup I've ever seen.

Last edited by Larry (2007-11-30 03:58:11)

Re: .net Devs

newmansmm wrote:

Wow. 

I heard some things 'bout it, but I haven't ever touched it -- haven't really had that much reason to do so.  I heard that it takes the place (?) of SQL or something of the sort.

Are you already doing stuff at work with it?  Why'd you start mucking with it (if I may ask, that is :-) ).

Here is a link for the Linq overview and tutorial. http://asp.net/learn/linq-videos/

† Taj

Re: .net Devs

>>tke -- What got you fed up about it?  Just curious.

Initially it was the bad markup like Larry mentioned.  ASP.Net 2.0 made pretty big strides in this area, at least when it comes to producing valid markup.

The biggest pain points for me are as follows:

1.  ViewState.  It can quickly bloat a page and makes dynamically adding controls or modifying controls on the client side more difficult.

2.  The automatic id naming convention on controls.  For example ctl00_ctl00_SearchForm1_ctl00_txtSearch instead of txtSearch.  This naming convention makes working with third party javascript libraries like prototype difficult.  You end up writing a lot of javascript using StringBuilders in the code behind so that you can inject the control's ClientID into the javascript.

3.  Testability.  It is difficult to unit test logic within the code behind using standard unit testing frameworks like NUnit.  As I have grown in my career, I have come to believe that automated unit testing is a key practice towards producing maintainable code.

To be fair, you can work around all of these issues.  But, at least for me, there is a lot of friction involved and I end up feeling like I am fighting against the webforms framework.

In my personal experience, I have been burned (badly) by following Microsoft practices and examples.  I was able to get things done very quickly which is good, but the resulting code was difficult to maintain and change.  Of course some of this was my own fault.

I made a significant effort to improve my skills and produce better software.  In doing so, I started picking up practices like design patterns and test driven development (TDD).  I completed an asp.net webforms project using the Model View Presenter pattern.  I was much happier with the overall maintainability of the code, but it really felt like I was going against the grain.  It seemed to me like the tooling and the webforms framework was not really cut out to do the types of things that I wanted to do.  It was possible, but much more difficult than doing things the "old" way.

I decided to use MonoRail for my current project (goes live on Monday) and I have really enjoyed the experience.  The MonoRail framework is just a better fit for the way that I want to work.  There are obviously lots of people who have been very successful with the webforms framework, but I can't say that I am one of them.

Rick Strahl has written an article comparing and contrasting webforms and MVC.  I think he summarizes the issues pretty well.

Sorry, I didn't mean to be so long winded.  It's just my nature, you can ask my wife.

Regards,
Eric

Re: .net Devs

Larry wrote:

.NET WebForms

The built-in controls are kinda neat, but they produce some of the most terrible markup I've ever seen.

Some controls are heavy and remembers controls out of the box is the quick solution. I almost never use the grid view unless it is for prototypes as well as the dataset unless I use a typed dataset and have a need for it. Most of the time I create CRUD methods for just what I need. It took me a little while to find out shortcuts like the asp:panel control renders as a div. When I found this out many options became available. Most of the controls maintain information on them like session state and control state which can be turned off to render as a normal button. It does take a little work and I would say if you build a church website or small business it may be overkill. For enterprise services to integrate with cross server authentication and authorization and other web services you need something like asp.net. It also is a true OOP language and the goal is to make useful small objects that can work efficiently and be reused across multiple classes. We have several class libraries that some apps share which save up lots of time. They are compiled into .dll files and is easily updated and deployed from one location when needed. I can go on for days on the benefits.


Thanks

† Taj

Re: .net Devs

Larry -- Okay, I got ya now. 



jenkinsta -- Thanks for the linqs.  I mean links. 

Ha. 

No, seriously...I might check them out.  I don't imagine I'll be using linq yet, though.  I have a platform that I'm working on right now, and .Net 3.0 is it, and I don't think I'm going to be moving off of it for the time being.  But in the future, it's good to be prepared...!

I just stared seeing what gridviews can do.  They work really well for a good deal of things.

And you're right, for true APPLICATIONS, it works pretty darn well.  For a small static site...

"Not so much."

Overkill is a good word to use.  But the platform is there.



tke -- I recall some of what you're saying there, and yes, I have run into the issue with the ID naming problem.  Maybe this is something that they could change in one of the next versions. 

In regard to testability, I must say I've had few issues.  Focusing on that and that alone, testability has gone really really well.  VS has a built-in test system and I think that it works quite well. 

Now, if you're talking about testing pages, that's another story altogether...

I think I've been doing an MVC pattern for work for a little while now.  It makes sense.  I haven't used any tools for it, though.  Maybe I'll look into MonoRail for it!

As far as bloat -- I don't care if it's not a focus of the core issue that we're having.  If you're talking about keeping the page down for memory/time concerns, then I smell what you're cooking.  I remember not all that long ago when I COULD NOT MAKE A PAGE WITHOUT IT BEING VOIDED OF TABLES.  Man...that takes time.  Sometimes (a lot of times) you want to get things done.  And so, I don't really care all that much about tableless design anymore.  Now, if I were making changes constantly and all, maybe it would be able to be looked into.  But when you've got deadlines... And yes, I know that if you take time now, you save time later, but even that isn't the case all the time.  It depends on the nature of the work you're doing.  I don't know, maybe I'm just stubborn in this area.  However, I must say that this is a stance that has changed greatly in the past year or so.

Last edited by newmansmm (2007-12-01 03:50:45)

Yo.  This is my sig.  It roars.

Re: .net Devs

newmansmm-

I may have to look at the built in test system.  I only have standard edition of VS so I don't have all the extra bells and whistles.  So far NUnit has served me well, but it is difficult to test the code behind classes because you need an instance of HttpContext to get Request, Response, etc and they are difficult to mock since HttpContext is sealed.

Regarding bloat type issues, etc.  I think we all strive to produce maximum value for our business and/or clients.  In general, I want the things that I produce to be of high quality.  The business wants it done as quickly as possible.  I think this puts the responsibility on me to develop my skills to the point where I can accomplish both goals.  I'm certainly am not "there" yet.  I probably never will be, but it gives me something to work towards.

There are trade-offs that have to be made on every project.   The business is usually not concerned with issues that they cannot see.  Tables vs no tables is probably an example of this.  I do mostly backend code so the business can't really tell much about the quality of the code that I write.  From their perspective it either works or it doesn't.  However, at least in my experience, well written code is much easier to maintain and changes/enhancements can be done faster.  Unfortunately, a lot of the code that I have to maintain right now is stuff that I wrote earlier in my career and it is not very good smile

Regards,
Eric

Re: .net Devs

I'm still here too.  smile