logo

Ten Reasons to Love ASP.NET

A couple of months in to my first ASP.NET project and I'm hooked. I'm completely sold on it and loving the whole experience.

Here are ten reasons I think ASP.NET is so good.

  1. Server licensing aside it's free!
  2. The development tools are brilliant (and also free). Visual Studio is in a class of its own.
  3. C# is a wonderful language to code in.
  4. There is masses and masses of code out.
  5. There are hours and hours of online videos tuturials and presentations.
  6. It's a viable skill to actually find work with. At least I hope it is.
  7. As a one-man development company it's easy and cheap to legally get all the software I might need -- the MAPS and WebsiteSpark programs are great.
  8. There are large and active communities on sites like StackOverflow should you need any help.
  9. There's an over-whelming choice of hosting providers out there and all at a reasonable price.
  10. Hmmmmmm. Can't think of a tenth one right now.

Leaves me wondering what's so bad about ASP.NET. Assuming there is in fact an argument against ASP.NET, what exactly is it? No, seriously. And the fact it's "Micro$oft" doesn't count.

Also makes me wonder why I spent so much time learning LAMP! What a complete waste of time. All that messing about with text editors, FTP clients and damned-awful MySQL clients. The whole LAMP development experience leaves a lot to be desired and is only really for the true geek.

My next step? Learning SharePoint!

Comments

  1. Indeed, ASP.NET is certainly rich and powerful. I love it's event model for the web page.

    As you say, the support for it is immense. Microsoft know this, they make sure it's easy to start using their tools and there is plenty to support, as that makes their product popular and those people may be the decision-makers of the future.

    Plus, what factors a lot into a language decision architecturally? The available skills to support it.

  2. "... LAMP development ... is only really for the true geek" ;)

    LAMP is something growing and will be better with years like wine ...

    I've tried Ubuntu 8.04 (2 years ago i think) and i can said that Ubuntu 10.04 is very

    better and more usable.

    I've tested some years ago .net (+-6 years) and it's true it was very good, so i can imagine now.

    So i think, it's like a bet on the future. There's already Eclipse and some packages like easyPHP. It's not difficult, but the big challenge for all lotusscript developpers

    it's to go to true object languages like C# or PHP5.

    But you live on the money you earn now, so good choice !

    PS: There's some jam on that comment !

      • avatar
      • Jake Howlett
      • Tue 1 Jun 2010 03:02 AM

      For me the lack of any decent UI for all element of LAMP is what puts me off. If ever I need to make a change to any site on my LAMP-based server I need to remember paths to Apache .conf files and how to use SSH, Vi and other obscure tricks I immediately forget. A small change can take me an hour or more once all is done.

      With Windows, RDC and IIS it's a breeze. A pleasure even.

      While using SSH makes me feel all cool and geeky, sometimes I just want to get it done quickly.

      Like you say that it's all about money when you've got five people depending on you for a roof and food.

      Jam?

      Show the rest of this thread

      • avatar
      • Jake Howlett
      • Tue 1 Jun 2010 03:05 AM

      Further to that. No matter how LAMP improves for the developer over the coming years, will it ever pay the bills?

      Hide the rest of this thread

      1. It is interesting how different experiences can be. Whether developing in Domino, Java/Grails I always had a local server, I hardly ever fiddle with Apache Conf files and don't use an FTP client either (at least not for development). I have to admit that I like console stuff (it let me feel a bit geeky).

        Setting up replication for MySQL is an ugly task but especially Grails has three modes (developing, testing and production) that make things a bit easier. I hope that I will get the time to do more with NoSQL databases to save some of the laziness that nsf provided.

        I am not saying that what I use is superior to .Net but just that I do not share all of your problems.

        It is always a bit dangerous if you learn a full scope language like C#. You are in danger that you will start to dislike what you used in the past. At least that is my experience.

        Will LAMP ever pay the bill?

        That is a good question. I have little problems with LAM but the "P" will let you compete with thousands of developers that code for food (or just a few pennies).

        I have nothing against a Microsoft platform but from an administrative standpoint my view is a bit different. I have many servers and only a fraction of them are Windows servers. I can say that my few Windows server keep me more busy than dozens of Linux boxes. Not because they are insecure but because they still require constant reboots, do update nonsense and if you really want to secure you box you will have to do a bit more on a Windows machine. Also switching hardware can be a nightmare on Windows. For me that is one of the reasons why virtualization is such a hot topic nowadays.

        And if you really want to have fun then setup a Microsoft Small Business Server 2008 and then think how this will work for bigger business (I know you are a developer but I most deal with Admin stuff).

        What I really like is that Windows boxes really do not crash anymore.

        I also think that Visual Studio does too many changes to your system. True Eclipse or Netbeans are slow but they behave very well not touching your OS setup. While I cannot say that Visual Studio does not work well I do not feel comfortable with a setup that takes forever and seems to tweak my Windows setup. Well others call this deep integration. I really like stuff that does not touch your system except installing a few services (Java and Notes/Domino are very good in this).

        And believe me if there would not be a strong LAMP software stack there would be less options available from Microsoft and you probably would pay a lot more for your stack of choice.

        Competition is good.

        And I am curious what you will think of Sharepoint. So far it has not convinced me.

  3. I have often wondered what the relaitive development times are for the different platforms. If you were doing a typical small app, say a simple holiday approval system, what do you think would be the relative development times between notes client and ASP ( and Xpages if you are familiar with it )

    Also, if the users then wanted to modify the workflow or stick some extra fields in how big a deal is that in ASP ?

    Assume that the developer is equally competent in each and can re-use regular bits of code as you would in real life.

    Thanks, Sean

      • avatar
      • Jake Howlett
      • Tue 1 Jun 2010 03:10 AM

      Good question.

      I can tell it's taken me longer to do the project in ASP.NET than it would have done in Domino, but that's because I'm better in one than the other. Not equally competent, like you say.

      I'd guess Domino is always going to be quicker. Speed of development will always be a plus for Domino. Having the users already setup and a pre-made ACL etc etc is on its side.

      It's too early for me to compare development times. Maybe somebody else can?

      Show the rest of this thread

    • avatar
    • S.
    • Tue 1 Jun 2010 03:11 AM

    The worse thing about asp.net used to be webforms, a concept which tried to hide web programming from people without knowledge of HTML/CSS and made for a real mess when you try to create complex projects or nice UIs.

    However, since MVC appeared, I love the platform. C# + MVC + LINQ + jQuery = Heart.

  4. Hi Jake,

    I am also loving .Net, but all of your topics also apply for Java development.

    Especially using JBoss Seam and JBoss Tools for Web Development allows you to develop web applications very quick.

    @Sean: I think using Seam you will need less time than using .Net or Domino if you develop a simple app. But for more complicated things I guess that Domino is fastest, followed by .Net and Java. But it always depends on how you do certain details which will eat up most of the time.

    Also the newest NetBeans releases are very nice.

      • avatar
      • Jake Howlett
      • Tue 1 Jun 2010 03:20 AM

      How would one setup a JBoss Seam development environment and production server though?

      As a developer it can't get much easier than with ASP.NET. IIS is pre-installed on Windows servers and installing Visual Studio Express turns your PC in to a local server.

      Granted, keeping your dev site in sync with your server isn't as easy as "File - Database - Refresh Design" but, once you get the hang of it, it's not too painful.

      Show the rest of this thread

    • avatar
    • Nick
    • Tue 1 Jun 2010 05:57 AM

    We decided about 4 years ago to go the .NET route. Even IBM had a hard time setting up a test environment on a pc for us to mess around with eclipse. Maybe it is easier these days. I still dabble in domino and I still check out this site.

    The learning curve to go from lotus script to vb.net was almost none. A nice thing about .NET is the granularity you have over the controls. Keeping mult-lingual sites is pretty easy as well.

    One of the nice things that VS 2010 Ultimate has is that you can install something on a testers pc, and when they send you 'bug fixes'...it sends you also th steps they did, so when you fix it, you can run you fix through the same steps that they performed to expose the bug.

    Alot of new cool things in VS2010. Consider me assimulated, and happy to be.

  5. I think that part of your euphoria is because of the past frustrations you had with domino hacks and the level of detail required with LAMP work. MS has always had some of the best development tools so moving in their direction would always be a step up.

    I think though that if you had ventured into ASP.NET in its formative years your reactions would have been different. Especially when they brought out new versions.

    That being said, this is one area where IBM really need to improve.

      • avatar
      • Jake Howlett
      • Tue 1 Jun 2010 07:14 AM

      That's undoubtedly the reason I'm liking it so much. So far I've not encountered anything that I haven't been able to get to work just how I want it to. Not a hack in site.

      Show the rest of this thread

  6. We just completed some C# and ASP.NET 3.5 training and there are some things that are incredibly good, like web services. Then there are some things that are incredibly difficult, like security. C# does have it's strong points as a language but shares the same problem the ASP.NET name space has - namely an over abundance of methods. Have you seen the .endtag and .starttag nonsense? We were stuck between laugh and cry on that. Granted, it's there for folks who don't know how to compose their output properly but c'mon. .endTag("td") is easier than "</td>"? ... idiosyncrasies aside, you're right. The IDE is a joy to use and there is a lot of good stuff going on in the community.

    Our take away as a consulting group was that we could be very profitable with .NET as more people seemed to want it even though it would cost them more than a comparable solution on Domino. (qualified as about three times as much effort on our part and an order of magnitude more administrators and servers required for the same result).

  7. I went from Domino to Java to .NET and I have made up my mind on which platform can deliver faster and easier. My one caveat that I will throw out there is to be cautious of some of MS's shortcuts. AJAX.NET is horrendous and I have banned it from my teams toolkit. Using web services with jQuery simply works better and is WAY more scalable.

    Also, beware the shortcut of embedding your logic/data-access code in your UI pages. You are better off developing your middle tier as a class library and having your UI pages use the library for its work. It allows for automated unit testing, and creates a higher level of code reusability.

      • avatar
      • Jake Howlett
      • Tue 1 Jun 2010 10:16 AM

      Yeah, I'm learning that too. I'm now trying to avoid all ASP controls and self-bake all my own HTML as much as possible.

    • avatar
    • Nick
    • Tue 1 Jun 2010 01:45 PM

    So, when are we going to see the 'about this website' section change?

    Still think you are a year or two off? ;)

    From 'Mostly with the Lotus Domino server.' to be 'Mostly ASP.NET...' It seems like your audience has some ASP.NET developers in it as well and looking forward to some ASP.NET things that you create/come across/etc.

    And who knows, some of us may be able to help you out as well, after helping us out for years in the Domino World.

      • avatar
      • Jake Howlett
      • Wed 2 Jun 2010 04:04 PM

      Forgot that page was there. Should probably update it anyway.

      Whether it with ever say "mostly asp.net" or just get added to to say ".. but also with ASP.NET".

  8. I'm always interested in alternatives to Notes. I thought Zope came the closest but have never build any apps with it.

    Recently I was reading about CouchDB which has many of the attributes found in Notes/Domino. It looks a bit primitive yet ... kind of like what you said about LAMP.

    I've developed a lot if infrastructure with Notes/Domino that I'd have to replace, though. Here's some questions about any replacement system:

    1. I have an infrastructure that allows web users to create their own account for authentication. Does asp.net support this or can I build it using asp.net once and use it in all my apps?

    2. Same goes for group lists. I use them all over the place to allocate specific permissions to various users. Does asp.net have this or would I have to build it?

    3. I use "reader" fields and "author" fields for many things also. Does asp.net have equivalent concepts or would I have to build it into every app?

    Peace,

    Rob:-]

    1. Currently in the middle of a Notes->ASP.NET conversion right now for some of my apps, myself. The issues you brought up seem to be the same issues I'm finding out -- maybe it's just the teams I've been dealing with, but #2 and #3 especially seem to be not as easy/intuitive as they are on Notes, unfortunately.

    2. #1. Not that I know of but of course you can build it yourself and reuse it across applications. Most likely you would have to build some custom UI that interfaces with Active Directory

      #2. You can reuse groups you created in Active Directory for authentication in your own application. However, this is not as easy as in Domino, you will have to build quite some stuff yourself.

      #3. Nope, ASP.NET does not have this. You are entirely on your own to build this in your apps.

    • avatar
    • Palmi
    • Tue 1 Jun 2010 03:38 PM

    Not good when you read about one of the Idols in Domino has turn into ASP.net Not that I don´t understand his reason for this change and getting into new areas of IT development , keep food on the table, I truly understand (father of four boys) . But I really was hoping Jake would embrace the world of Xpages and see the power of ASP work in Domino again come to life. I know its a learning curve but so in dot.net world. Hope you don´t leave Domino anytime soon Jake, that day would be a sad day in our Bleeding yellow world we live in . keep up the good work( domino) :)

      • avatar
      • Jake Howlett
      • Wed 2 Jun 2010 04:13 PM

      It's like you say Palmi. It's purely about paying the bills. For the first time in my career I feel like being a Domino-only developer is not going to do that.

      As for XPages. It just doesn't excite me. That aside, I've yet to have any requirement come my way that needed Xpages to solve it and so I can't justify even learning it.

      Show the rest of this thread

      • avatar
      • Chris
      • Fri 4 Jun 2010 02:29 PM

      I agree completely. Jake's post made me very sad :(

  9. Rob you might check out ruby on rails and mongodb. Some fun stuff

    1. RoR has some very interesting things. I last played with it several years ago and the scaffold concept is like the spark / project template idea. But RoR also has this really interesting binding model where schema changes can be bound to a view design so the view design updates when the schema does and vice-versa. Not an always-on ideal but an interesting concept that makes it almost as easy as Domino if you can get your head around Ruby's natural language syntax.

    • avatar
    • Keith
    • Wed 2 Jun 2010 09:22 AM

    Jake, I've spent significant parts of my career working with the MS tools. While I have never been a big fan of Microsoft, I've always felt that there developer tools were great.

    For my home projects I still do them in Domino because I like having the power of the Notes client and the portability of web access, the integrated security, replication, and the ease of moving data around just by copying a .NSF file. But if I was looking to pay the bills from development work, I think .NET would be the way to go.

    • avatar
    • Jorge Coelho
    • Wed 2 Jun 2010 09:25 AM

    The thing is the whole LAMP movement was interesting. However at the end of the day it's what the client pays for or what your employer values in skills that determine what solutions you use. The fact is if you look on job sites the majority of work is for .Net work. So, while in theory Open Source movements like LAMP sound great they don't pay the bills and unless your independently wealthy your best off to stick with the mainstream. I've even seen Java take a back seat to .Net. While the beginning of the 2000's saw a large demand for Java developers I now see less and less demand there and an increasing demand for .Net. It's almost seems like everyone went away from Micro$oft for a few years to see if the grass was greener and then they all decided to come back.

    • avatar
    • YiMing
    • Wed 2 Jun 2010 09:57 AM

    Jake

    I have been reading your site for about 5 years, this is the first time you say will turn to M$ platform. I hate M$ is only because the tools are HUGE! They will slow down my PC when i start them!

    My friends tell me ASP is very easy to use, but i don't want to learn it. Some friends use Java, they said the ACL is the most difficult thing to handle, but Domino is builtin.

    I will not leave Domino and goto other platform, only when IBM don't support Lotus Domino.

    I'm a Chinese, my English is poor, don't laught me!

      • avatar
      • Jake Howlett
      • Wed 2 Jun 2010 03:52 PM

      Your English is fine YiMing.

      Like I said in my original post, you can't use the fact that it's Microsoft as an argument against ASP.NET, just because they're big. As soon as you spell their name with a $ sign it just discredits your argument.

  10. Hi Jake,

    I'm back in love with sharepoint after a brief hate affair with it..It is taking over the world.

    I would learn wss first and then go onto MOSS when you get wss fully.

    My mistake was diving straight into MOSS without getting wss, which caused brain fade.

    Sharepoint is quite easy really, and 2010 is meant to be excellent...I'm stuck on 2007 at the mo.

    n

      • avatar
      • Jake Howlett
      • Thu 3 Jun 2010 03:20 AM

      Thanks Nick, I'll take a look at WSS before diving in to MOSS.

      I was already conscious of not diving in at the deep end and have purposely avoided even looking at MOSS until I have a good understanding of ASP.NET, c# and SQL Server etc.

    • avatar
    • InterestedDev
    • Thu 3 Jun 2010 06:58 AM

    Been watching these discussions with a lot of interest. In terms of initial steps with ASP as Lotusscript dev people would it not be easier to learn VB.NET as opposed to c#?

    Then move onto c# - or is that the least of the issue!

      • avatar
      • Jake Howlett
      • Thu 3 Jun 2010 07:19 AM

      Another post you might be interested in:

      http://www.codestore.net/store.nsf/unid/BLOG-20091209-0935

    • avatar
    • Doug Finner
    • Fri 4 Jun 2010 06:07 AM

    I get the 'paying the bills' bit; you go where the money is and MS owns a pretty huge share of the world.

    I've made a couple of small forays into the SharePoint world and ran away screaming. The things that are dead bang easy in the Notes world (replication, failover, acl control, roles, reader/author fields), access conrolled sections with workflow dependant states, are so close to impossible using any other tool that trying to build a simple site with really basic workflow was impossible. Interestingly, building an anonymous site within an AD world is also nearly impossible (your name follows you everywhere); whenever the business needs a way for users to submit completely anonymous content to management, they come to me for a Notes app.

    I also had some heartburn with just getting everything in place to start doing work. Just getting the SharePoint, IIS, and SQL Server bits set up a fairly painful multi-day project (as compared to about 1/2 hour for a full up Domino environment) and then more time trying to set up the security model (another 1/2 hour on Dom).

    Finally, I struggle with the nearly complete lack of backward compatibility within the MS world; change versions of anything in the stack, pony up to rewrite a lot of your code (good for people who make money charging for this type of work; a pita for those of us who build apps for our employer).

    This blog doesn't help change my mind either:

    http://migratenotes.wordpress.com/

    I know I need to move more into the MS world (corp standard is all MS, our little Domino world is a hold over from another universe), I'm just not looking forward to trying to learn a complete new set of tools while maintaining all of our existing apps.

    I enjoy your blog, no matter the topic so keep up the good work.

Your Comments

Name:
E-mail:
(optional)
Website:
(optional)
Comment:


About This Page

Written by Jake Howlett on Tue 1 Jun 2010

Share This Page

# ( ) '

Comments

The most recent comments added:

Skip to the comments or add your own.

You can subscribe to an individual RSS feed of comments on this entry.

Let's Get Social


About This Website

CodeStore is all about web development. Concentrating on Lotus Domino, ASP.NET, Flex, SharePoint and all things internet.

Your host is Jake Howlett who runs his own web development company called Rockall Design and is always on the lookout for new and interesting work to do.

You can find me on Twitter and on Linked In.

Read more about this site »

More Content