logo

Getting Started With .Net Development

If a .Net developer asked me -- a Domino developer -- what he needed in order to get started learning Domino I'd say something like:

  1. A PC and a Server
  2. A copy of Lotus Domino Server installed on the server with the HTTP task running.
  3. A copy of Domino Designer installed on his PC.
  4. Launch Designer and choose File - New Application (let's forget ID creation)
  5. Create a Form etc etc

What if I asked the same of the .Net developer though? What's the equivalent process I'd need to follow as an entry route in to .Net development?

Do I need Visual Studio on my PC and just IIS on the server or is there a .Net platform to add to the server first?

Sometimes the hardest part of learning something new is finding out what you need to do before you can even start learning.

Comments

  1. Windows Server 2003 / 2008 with IIS running

    .NET Framework installed

    C# Express IDE

    Some good training videos (I can email you some specific suggestions from home)

    Create a project and start playing.

    You should be able to do all of this on one computer.

    1. The choice of C# is geared towards future understanding of Sharepoint and ASP.NET. Most Sharepoint dev resources I've found use C#, seems to be the preference. It's a very type sensitive and syntax sensitive language.

      • avatar
      • Jake Howlett
      • Wed 9 Dec 2009 09:57 AM

      Thanks Jerry. I guess the .net framework only applies to the PC? And that I'd probably need SQL Server installed on the server?

      I have a copy of Visual Studio 2008 that I got as part of some MS incentive recently. Would that be handy too or be able to replace the Express IDE?

      Ah, now I see you say do it one PC. I'd rather mimic a proper client/server setup from the off.

  2. Wouldn't you also need MS SQL Server installed and running? Or does the .NET Framework include that?

      • avatar
      • Jake Howlett
      • Wed 9 Dec 2009 09:55 AM

      That was my next question for Jerry. I guess so, but depends on what type of dev you want to do. If just a "Hello, world" then no, but for anything else yes?

    • avatar
    • Palmi
    • Wed 9 Dec 2009 09:55 AM

    Are you really going to started learning dot.net ? and you talk about not want to learn Xpages ? - I did for some reason ( can´t remmeber why , brainfart i guess ) wanted to install dot.net dev and i got a hold of Pro version at work . I saw some many options to install that i thought " what do i need from this list ? so i checked "Install All" 6 hours and 45 min later it was done . I uninstalled it the same day.

    it brought my t61 to its knees and i may have installed some useless support pakages but hey , who need dot.net anyway

      • avatar
      • Jake Howlett
      • Wed 9 Dec 2009 09:59 AM

      Don't really want to get in to the whys and wherefores. Let's just say I need to follow the needs of my paying customers over my heart. Although, that said, my heart isn't really with xpages anyway.

      Show the rest of this thread

    • avatar
    • Uri Geller
    • Wed 9 Dec 2009 10:04 AM

    What are you planning now???

    • avatar
    • tom oneil
    • Wed 9 Dec 2009 10:05 AM

    Have fun Jake! My only word of caution is that if you want to do Microsoft Office integration go with VB.NET.

    Otherwise, C# is the better language.

    1. disregard my comments. If Head says Microsoft Office integration is easier in C# now, I'm sure he's right. (I was basing my recommendations from my experience four years ago).

  3. Having done Java, Domino and .NET there are some key differences.

    As Jerry indicates, it depends on the type of development you are doing. For straight ASPX web development (the closest analogous to Domino) you'd need VS and a SQL Server instance (and lots of ORM code).

    I'd say "I want to do .NET", is a bit like saying "I want to do IBM". Domino is a portion of IBM, and .NET is a bit like that. Are you Sharepoint? Web? WFC? SQL? They are all, to an extent, .NET. Just like Java.

      • avatar
      • Jake Howlett
      • Wed 9 Dec 2009 10:28 AM

      Good point Darren. For now I just want to start with some standard web stuff. Probably with SQL from the off. Once my understanding of that is better I might get in to looking at Sharepoint.

    • avatar
    • Robert connor
    • Wed 9 Dec 2009 10:18 AM

    I've been doing Notes/Domino for 16 years so asking this question makes me feel kind of dumb. (then again wrestling with domino makes me feel dumb everyday)

    Why do you need a copy of Domino running on the server just to get STARTED to learn Domino. Why not just use the local http process on the client machine that comes with Designer. It works for everything except ACL security.

    What am I missing

      • avatar
      • Jake Howlett
      • Wed 9 Dec 2009 10:25 AM

      You don't need a server. I just prefer to learn in the same environment I'm most likely to deploy. Just seems to make more sense.

      • avatar
      • Giulio
      • Wed 9 Dec 2009 04:39 PM

      Rob,

      Largely I think you are correct. However, the HTTP task has limitations running locally on your PC. A couple of years ago I tried this and ran into problems trying to launch web pages in a "stand-alone" mode.

      If you don't have VMWare, you can comfortably run a R7 client and server if you have 2gb of ram. I use VMWare extensively and have a domino server with 256MB of ram and an XP Notes Client on 1GB of Ram and all is well.

      @Jake

      ASP.Net (and Sharepoint), is where it's at now. The casual work I have been doing over the last 2 years has a constant theme of moving to Exchange/Sharepoint/ASP.Net. And that's the big end of town, (financial and govt).

      I found this book a good place to start.

      http://www.amazon.com/Beginning-ASP-NET-3-5-VB-Programmer/dp/047018759X/ref=sr_1_1?ie=UTF8&s=books&qid=1260397884&sr=8-1

      Imar Spaanjaars covers the Visual Studio 2008 as well. But you'll need to get grounded in C#, but VB.Net is a much easier transition.

      Frankly, I find the structure of ASP.Net alot more scalable than Domino's retro-fitted web enhancements that make complex app's unmanageable.

      Keep us posted on how you go!

  4. A good starting point for developing applications with .NET is the MS Enterprise Library. It includes some wizards for Visual Studio that helps you to build applications quickly in a standard way. You can also use some of the blocks of it for your own apps. E.g. you won't have to build your own logging or caching mechanisms, it is all available there.

    Very good examples are to find on www.codeproject.com

    I did much with VB.NET and some bits with C#. If you want to get a quick start I would use VB.NET because it is very similar to LotusScript.

  5. Hi Jake,

    take a look at http://www.microsoft.com/express/vwd/ and get teh free tools.

    With those, you can create .net, asp, ajax applications, and you can even get the MSSQL server express to work with databases.

    I've been using it to create e proof of concept to consume .net web services from Domino and it provide me all what I need in the MS side.

    .::AleX::.

    • avatar
    • Jon
    • Wed 9 Dec 2009 10:21 AM

    You could get started with one of the Express editions, microsoft.com/express visual web developer, if you're planning on doing any web dev. And SQL Server 2008 expess. You can get all this running on a desktop pc, and don't need a server. If you've got visual studio 2008 install that and get playing.

    You only really need the server when it comes to deployment etc.

    I transfered over to .net a few years back, after many years as a domino developer.

  6. I came back to follow up but see the question is already answered for the most part.

    You need SQL if you want to do something that involves a DB. You don't need it though, strictly speaking, to do .NET development as that can mean just about anything - from console to client to web. If you want to do what you and I traditionally think of as development, yeah - you betcha you'll want SQL.

    I am not sure whether this is a "have to install" anymore or if it installs automatically with some of the IDEs. I think when I set up Server 2008 it was installed when I put the Sharepoint server on there as part of that. You may automatically get it with other tools.

    As for prepackaged and library based solutions, I agree these well help you do more faster but for starters, avoid them till you know more about the base languages and the .NET runtime and how it works. Get a foundation of understanding before you go too far. It will make appreciating and understanding more of the libraries and frameworks more approachable.

    FWIW, Sharepoint is just an extension of ASP.NET (.aspx) which in turn is built on the .NET framework. You can write code in many languages and compile a .NET application, so long as it's one provided by MS. :-)

    Have fun Jake - It's a good idea to get this under your belt. We are doing the same at our office - a Long time NOTES only shop.

    Check out CodeProject.net for lots of good articles, examples, etc. I have used it extensively over the years to further my non-notes understanding.

    Best,

    Jerry

    1. BTW... it is very much worth using a tutorial to follow along if you decide to go after C# - or any .NET language. It's much different from old sk00l vb / LotusScript. I was very frustrated at first with C# - tutorials will walk you through the basics that are unintuitive with a Domino background.

    • avatar
    • Jon
    • Wed 9 Dec 2009 10:51 AM

    The one thing is you'll find loads more examples on the web for .net than you'll ever find for domino. Another good site is 4guysfromrolla.com loads of useful articles/examples etc.

    Have fun learning yet another technology.

  7. I/We do both, have for a long time. I never develop with a server - everything is local. You can do ASP.NET with the dev version of sql server and the asp.net server just fine. Skip the free versions - go with VS.NET pro at least. Enterprise is really only if you need the team server stuff.

    One suggestion - skip over vb.net and go straight to c#. Especially if you are doing anything that will integrate with Office. C# is the premier language for Microsoft and everything comes out for it first. Plus, addin development for Office is far better with C#.

    Sharepoint is like nothing you have worked with before. And it changes every 3 years - 90% change.

  8. Microsoft really made the .Net branding confusing. There is the .Net Framework, which is like J2EE, and the .Net Runtime (also called the CLR, or Common Language Runtime), which is like the JVM. Like Java, you use the .Net framework to create applications that run with the runtime.

    There is a .Net runtime for Linux and OS X called mono: http://www.mono-project.com/Main_Page . Mono includes a module that lets you host ASP.Net pages on Apache, too.

    The dev environment requirements are basically the same:

    1. A PC and a Server

    2. A copy of SQL Server installed on the server with the IIS task running.

    3. A copy of Visual Studio installed on his PC.

    4. Launch Visual Studio and choose File > New > Web Site

    5. Create a Form etc etc

    Here is a great site to help you get started with ASP.Net: http://www.asp.net/learn/videos/default.aspx?tabid=63#beginners . It does take a while to get used to switching between the Design and Code views, and remembering that you have a code module that's attached but separate from the UI module.

    • avatar
    • Zak
    • Wed 9 Dec 2009 03:30 PM

    I have just recently starting doing .net development. Pretty much what people are saying you need:

    1. Visual studio installed on your development PC

    2. SQL Server installed on the server.

    3. IIS running on server

    Alternatively you could just install visual studio on your server as well and do your development via remote desktop (we do this for our SharePoint development).

    What we do here is develop on local (so we run SQL server on our development XP machine) using checked out source code. Once we are happy with it we package it up and create MSI install files to install onto the server. We develop locally so for a multi-dev environment we can do debugging very easily.

    If you are thinking about getting into Sharepoint development the new Visual Studio 2010 and Sharepoint 2010 significantly change the development model. To create install packages you have various options none of which seem overly friendly to team development environments. Visual Studio 2010 has integrated SharePoint development support to streamline Sharepoint deployment/packaging. SharePoint 2010 includes a debug console on the server to assist with debugging.

  9. Seems like the people above have it mostly nailed down, but as a developer who have worked with Asp.Net, Domino, JEE and Grails, here are what I would do:

    1.) Use your full version of Visual Studio, it has a lot more to it than the Express versions (if you didn't already have a version, I would also recommend the Express version)

    2.) Go with C#, it's the better language

    3.) You don't have to use SqlServer, and if you do, you can also get an express version that you can run locally for development.

    4.) At least when I was working with asp.net, it was easier to have a local installation with IIS running locally, as this made development/testing cycles simpler and faster (I used .Net 2.0, so this might have changed)

    5.) Unless you have a compelling reason to use Asp.Net, i would use Asp.Net MCV (or if you are brave Castle.Net), at least if you plan on making a public facing website, as its cleaner.

    6.) This is not Asp.Net related, but get yourself a Subversionserver or some other version control software set up. Then it becomes easier to check out and build your software on a remote server.

  10. Hi Jake.

    I went through this a while back and the one site that I really liked, giving a lot of good information and what tools you need is this one:

    www.asp.net

    As mentioned by others, use your VS 2008 and not the free version and go with C# (although VB is almost as capable as C#, it still has a bad reputation, being the language of people that do programming as a second career).

    Grab SQL Server 2008 Express with advanced services and you can do all the development you want without needing a server.

    If you need more details or have more questions, just send me an email!

    Have fun!!!

    Oh, and although I am happy you are using new tools, I am a bit sad as you, Jake the Domino web guru, is (also) starting working for the other side. I think it gives a good portrait of what is going on with Domino companies... I hope IBM will be able to change that situation sooner than later!!!

    Ben

  11. I forgot to tell you a bit about SharePoint...

    My advice is that you should get comfortable with C#, then get started on the Windows Workflow Foundation, and then get into SharePoint. Start from an admin point of view, so you get a general feeling of what is SharePoint, and then get into the details, adding web parts, simple workflows (using the visual workflow designer in Office SharePoint Designer - free from Microsoft) and then get into the intricacies of coding in SharePoint (quite special, I would say).

    There are plenty of good training resources available. I recently stumbled upon material from RampUp and it is quite good.

    But I guess you want to do web apps, so put that SharePoint stuff on the back burner for now, but I have a feeling you will get into that soon enough, as the demand for SharePoint keeps on growing.

  12. I'm assuming you're interested in ASP.NET and not Webforms/WPF etc.

    Reiterating some of what's already been said;

    Go straight to C#

    Avoid SharePoint initially (an understanding of ASP.NET concepts first will help lay foundations for if you're unfortunate to have to go down that path)

    LINQ is your friend :)

    ASP.NET and jQuery play very nicely together.

    And some of my own additions;

    Don't be overwhelmed when google searches for problems actually yeild plenty of people offering fixes and advice!

    Someone above mentioned MVC - seeing as I suspect your need to learn .NET is being driven by a client demand, then I'd ignore that for now unless your client has adopted it (doubtful tbh).

    Using a tool such as ReSharper (commercial, works only with the non-Express versions of VS) might help you while learning C# as it offers some pretty helpful correction suggestions and guidelines.

    There are a lot of great resources and tools out there which will save you reinventing the wheel for things such as logging/exception handling, database access (O/RM tools etc) and much more. The main problem you'll have most of the time is working out which one you like more as the pros and cons lists aren't always apparent.

    Something else you might want to do is check out Ferdy's blog - he blogged about his forays into .NET development and published a PDF and code of the blog engine he built. Best way to learn something is to use it.

    Fwiw I still actively support a few Domino clients, but moved to ASP.NET about 5-6 years back after being a Domino Developer of 10+ years - never regretted it. Love the technology, love the tools.

      • avatar
      • Salva
      • Thu 10 Dec 2009 02:03 AM

      Unless he's going to modify someone else's code, my recomendation (regarding MVC) would be the contrary.

      It's much faster to develop web apps using MVC and, if you know HTML and Javascript, much easier.

      And seeing the way you program from your articles (Jake) you are going to end up using MVC for sure, sooner or later!

      For the rest of the comment, I totally agree with Ross. Linq is your friend (Linq + MVC = Love :), and avoid SharePoint as long as you can. At least, until next version, when it seems it will actually generate valid HTML and not something only IE6 (yes, only 6) totally understands.

      P.S. The Microsoft Web Platform is the easiest way to install all the tools you'll need to start developing (VStudio + SQL Server Express).

      http://www.microsoft.com/web/Downloads/platform.aspx

  13. just agreeing with others here.

    visual studio is nice to work in, sharepoint is a bit of a hybrid horror imho.

    go with c#, not vb, good luck with it and please keep us posted how you get on.

    • avatar
    • Andy Dempster
    • Thu 10 Dec 2009 03:32 AM

    I am a Domino developer so I have no idea how one would get into .Net. C# seems to be the preferred language and the free tools have everything you need; including servers! http://www.microsoft.com/web/downloads/platform.aspx might be of use which I got from the MS Visual Web Studio Express Edition 2008! (It's a very good way of debugging JavaScript in IE!)

    Just a little quote for you:

    YODA: ... A Jedi's strength flows from the Force. But beware of

    the dark side. Anger...fear...aggression. The dark side of the Force

    are they. Easily they flow, quick to join you in a fight. If once you

    start down the dark path, forever will it dominate your destiny,

    consume you it will, as it did Obi-Wan's apprentice.

    LUKE: Vader. Is the dark side stronger?

    YODA: No...no...no. Quicker, easier, more seductive.

    1. thanks for the slap!

      :-)

      .::AleX::.

    • avatar
    • rahul
    • Fri 11 Dec 2009 06:49 AM

    I found good resources of c#. Check this out

    http://csharptalk.com

  14. Some experiences having crossed that bridge.

    http://www.crossedconnections.org/w/index.php/2005/12/18/net-for-domino-developers-part-1/

    http://www.crossedconnections.org/w/index.php/2005/12/22/net-for-domino-developers-part-2/

    http://www.crossedconnections.org/w/index.php/2006/01/02/net-for-domino-developers-part-3/

    http://www.crossedconnections.org/w/index.php/2006/01/09/net-for-domino-developers-part-4/

    http://www.crossedconnections.org/w/index.php/2006/01/22/net-for-domino-developers-part-5/

    http://www.crossedconnections.org/w/index.php/2006/02/27/net-for-domino-developers-part-6/

      • avatar
      • Jake Howlett
      • Fri 11 Dec 2009 10:51 AM

      Hi Jeff,

      I was meaning to dig out the copies you sent over which I was going to put on here, but never got round to. No need to now I have the links. Thanks! Learning from a familiar (Domino) perspective always helps.

      Jake

Your Comments

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


About This Page

Written by Jake Howlett on Wed 9 Dec 2009

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