My First ASP.NET Website
Many thanks to you all for helping me get started with ASP.NET yesterday. Using your advice and a couple of hours I put aside I managed to get going.
Look mom, I made a database:
Obviously it's laughable in how simple it is. The point is that I'm up and "running". Now I know how to create and connect to a database it's all downhill from here, surely ;o)
Most importantly I found getting this far an enjoyable experience! I like the Visual Web Developer 2008 IDE and can tell I'd enjoy using it. At the point I left it yesterday I wanted to carry on and learn more. I can only learn things if I actually want to.
On Lazy Blogging
Nobody said it but there must be some of you thinking that me asking for help on basic things like how to start with ASP.NET is terribly lazy. While I'm just as happy Googling it and learning that way I like to think I'm helping others at the same time as helping myself.
While I was surprised how many of you are ASP.NET experts already there must be just as many of my readers who, like me, aren't and will take interest in your replies to my dumb-ass questions.
Whatever I talk about on here it will probably always be from a Domino perspective, so if I'm talking about other technologies, like PHP and ASP.NET then I assume it's of interest to my readers. That's my thinking anyway. Oh, and I'm lazy...
Jake, it is always interesting reading your slant on a particular technology. As I said yesterday, I've not done any Domino development in years, but still keep reading your site.
Congrats on your first asp.net site!!
Reply
Same here....I am doing .NET and enjoy it more...but still read this site....may have to have a .NET dedicated site....
Reply
No doubt you will like asp.net. If you ever think that the J2EE camp should also have a compelling offer then maybe you should watch this video. http://www.infoq.com/presentations/Web-Development-Grails-Graeme-Rocher . It is about Grails and quite long(so sorry for being off-topic) and since I read about it on Jesper Kiaer's Domino blog (http://nevermind.dk/nevermind/blog.nsf/(lookupblogdocs)/JBKR-7Y6T6K) I did not have much sleep.
Of course I am very curious about your asp adventures too.
Reply
Thanks for the link on Grails: Java meets Django meets Ruby. Makes me forget the painful old-style J2EE experience.
Reply
I am very interested in .NET and Sharepoint both from the point of learning something new, but also because the Notes/Domino is deteriorating fast i Denmark it seems, and Sharepoint and .NET is boosting. (Nobody ever got fired from using Microsoft products...)
So I am looking forward to you beeing the Domino guy, acting as the frontrunner in the .NET world.
Telling us what to do and not to do :-).
Looking forward to hear about your experiences!
PS Everyone should have a look at the Grails video Henning Heinz mentions above
Reply
I've done some ASP.NET/C# support for a little over a year now. There is a lot of setup involved, Visual Studio, MS SQL Server, IIS config, etc., that you don't have to bother with when you're in the land of Domino. However, once I got my environment up and running, I haven't changed it since.
To me, it looks like Domino is going towards ASP.NET with xPages. The xPages IDE looks a lot like what you get with visual studio.
One thing I do like about working with ASP.NET is that if you need to change a web page, all you need to do is copy over a text file. No templates to worry about, no JAR files to install, no signing required. No fuss, no muss!
Reply
You're on your way, Jake! Actually, you made a good call posting rather than googling. You got feedback geared to you personally, which is priceless IMHO. Have fun!
Reply
Jake, I've used both Domino and Visual Studio. While Designer 8 is a great leap forward, I still prefer VS. Microsoft makes some of the best developer tools in the market, bar none.
I found the basics of ASP and .NET to be pretty simple too. But when I delved further into the product I found that getting a full measure of control was difficult, much like Domino development was in the R5 days. As long as you play along with Microsoft's assumptions things are fine, but if you want to go somewhere they are not prepared for, things can get hairy.
Don't get me wrong, it's horses for courses, but I prefer Domino for most of my apps -- it's just more comfortable for me.
Reply
My last Domino project was in 2006 but still read your blog. For the last 10 months I have supported an app in classic ASP and Oracle oo4o. I just started messing with asp.net and am amazed how much less code you have to write.
Reply
hi Jake,
I missed yesterday's blog entry so I hope I can come in to also drop a few lines of advise. I'm not really a senior .NET developer myself, but I certified myself, build some things in it and see it on a daily basis in a very large team of developers.
Here goes:
- The other commenters are right in that C# is the best language to learn. Learn it properly and you will find that it is perhaps the most powerful programming language of all platforms.
- Learn LINQ. The classic way to develop an ASP.NET application that connects to a database is to fire SQL statements to the SQL server, and then map the result to your own objects, which you will then display. The new and better way is to abstract away from this. There is a language called LINQ which let's you treat database results as objects so that you do not need to map it yourself. Learning LINQ is a good investment, and quite easy too.
- Take a pick between ASP.NET and ASP.NET MVC. ASP.NET is the classic way, which approaches building a web front-end like it was a desktop application, including drag and drop and all. It is similar to how Domino abstracts pure HTML development away from you. You can get very quick results, but the downside is that it produces all kinds of strange HTML/JS tricks in order to work. To me, ASP.NET is a leaky abstraction of web development and ASP.NET MVC is preferred. With ASP.NET MVC you have much more control over output, yet still are able to be highly productive
- Learn the .NET framework, with this I mean the built-in classes. You will find that this is impossible, since there are thousands of them. The most practical thing to do is that whenever you want to build something, check the framework or online help if it is already available to you.
- Proper architecture. I'm saving my most important piece of advise for last. If you study .NET development by introduction training material and self experiments, there's a big chance you're learning it the wrong way. Even official certification material is wrong, they often market the quickest and dirtiest way to produce something that works. In the real world, professional .NET developers almost always develop using the following layers:
- UI - display and view logic - Gets business objects from BL only
- BL (Business Layer) - Your application logic. Talks to the DAL
- DAL (Data Access Layer) - talks to data source and returns BOs to the BL
- Data Source - most likely a SQL database
It takes some study to learn to develop like that, but it will produce applications that are very easy to maintain and understand. The most common beginner mistake that I see is that developers put a lot of logic in their UI (code behind). Some even directly connect to the database from the UI. It does not belong there, even if a training video shows you how to do just that.
Well, that's it for now. I wish you good luck, and feel free to drop me a line or blog any questions you may have, I'll respond where I can help.
Reply
Thanks Ferdy!
Reply
Ferdy,
Some excellent advice, do you know off hand of any good .net resources about proper architecture. Like you say most of the examples you find do it in the code behind.
Thanks
Jon
Reply
Show the rest of this thread
exactly. we love that you will ask the dumb-ass questions that we all have so we don't have to.
thanks!
Reply
Hi Jake, I left domino (or domino left me about 12 years ago!) so happy you are (I hope) going into .Net, I am still learning, there are loads of great free resources out there - you may find the Enterprise version if you are SQL-ing more useful ... I don't know if you remember me but I ended up building a house on my own ... it took me three years! mad eh... but now I am getting back into development (much less physical) :-)
Happy Crimbo to you and family ...
Glyn.
Reply