Allegro.cc - Online Community

Allegro.cc Forums » Off-Topic Ordeals » asp.Net C# reccommended books...

This thread is locked; no one can reply to it. rss feed Print
asp.Net C# reccommended books...
Ariesnl
Member #2,902
November 2002
avatar

I would like to make a start in web development.
Being a web development noob, I would like to get some good books to get me up and running.
some advice please.

I 'm comfortable with C# and I wrote some desktop programs with is.But I never coded fot the web.

Thanks in advance.

Perhaps one day we will find that the human factor is more complicated than space and time (Jean luc Picard)
Current project: [Star Trek Project ] Join if you want ;-)

bamccaig
Member #7,536
July 2006
avatar

The most difficult thing for Web development is HTML/CSS structure and styling. That's predominantly the only difference between Web and non-Web. I suggest investing most of your effort on getting good at that because that is going to be the thing that decides whether what you build is attractive and functional and cross-browser.

These days ASP.NET uses a Model-View-Controller pattern cleverly called "MVC" with a very friendly template syntax and very convenient implicit mappings between user inputs and the underlying code structures. It also makes it trivial to get URL routing patterns setup... It's trivial to use, but as with most Microsoft software there are some annoying "gotchas". Mostly you'll be best to learn of those the hard way. I suggest just dive in and do it. I can't recommend any books. I'm not sure there are any, and I don't think it'll be an efficient way to absorb the information.

Visual Studio 2015 "Community" IIRC is gratis and should have everything you need. I recommend the Entity Framework (reverse POCO generator extension seems to work best) for ORM database access, though arguably third-party (non-Microsoft) tools might be better. I haven't had the opportunity to use them. You can probably also acquire a gratis version of SQL Server Express Edition for development...

Though if I'm being honest I would probably steer you away from ASP.NET entirely and suggest you learn something like Python/Django, Perl/Dancer|Catalyst|Mojolicious, or Ruby on Rails or the like. Windows adds a ton of unnecessary overhead and cost to server platforms... Even MSDN's Web site is slow as balls... And that's developed by them. It's possible to write fast ASP.NET Web applications, but IMO it's more difficult than it needs to be, and you probably still will require unnecessary horsepower under the hood no matter what. The open source world is where all of the good ideas originate from and they're the ones that master them. Microsoft just lags behind trying to copy them...

Chris Katko
Member #1,881
January 2002
avatar

- Web services in C# were super-insanely easy.

- Django/Python is a PITA huge framework that "makes sense" if you already know what you're doing. But I've tried on multiple occasions to pick it up and it's overkill. It's opposite of Allegro in the sense "WE RUN THE PROGRAM and you call our code when we say you can." I didn't like that feeling of not understanding (down to the bare metal) what was going on and I don't have 100's of hours to blow to learn a single framework that might not transfer to any other future endeavors.

I haven't run a website in C# so that's the extend of my relevant experience.

-----sig:
“Programs should be written for people to read, and only incidentally for machines to execute.” - Structure and Interpretation of Computer Programs
"Political Correctness is fascism disguised as manners" --George Carlin

bamccaig
Member #7,536
July 2006
avatar

I'm not personally familiar with Django, but it appears to be the most popular framework for Python. I hear you about it being too complicated to wrap your head around. That's like Perl's Catalyst. It's designed for enterprise-level stuff. It can do everything exactly the way you want to, but with that power and flexibility comes great complexity... At least it ships with scripts to generate the scaffolding.

Perl's simpler MVC framework is Dancer. Much simpler, though I still only barely know it. I imagine Python must have a similar concept of a simpler framework if you don't need it. The point wasn't really Django. It was Python. Python is the new Java. :) The point is more that there are lots of awesome open source options so don't tie yourself into the proprietary copycats needlessly.

If Microsoft has released all of the relevant libraries under their open source license then hopefully the Mono team will get the full bleeding-edge ASP.NET stack working in *nix and then it'll be less of an issue...

Ariesnl
Member #2,902
November 2002
avatar

I only know python as a scripting language for things like blender. I didn't know you could do web development with it.
thanks everyone for the information. I'll have to go C# asp.net anyway, but it won't do any harm to learn other technologies as well.

Perhaps one day we will find that the human factor is more complicated than space and time (Jean luc Picard)
Current project: [Star Trek Project ] Join if you want ;-)

bamccaig
Member #7,536
July 2006
avatar

For fun I'm trying out a Django tutorial now. I long appreciated the value in "scripted" language and dynamic languages, let alone closer-to-functional languages. I have experimented a bit with Perl frameworks and they're nice. I haven't had the time or motivation to go far enough into it. My first impressions of Django are that it's very robust and "out of the box". It just works and I rather like it. A huge advantage that I see is that it is capable of implicitly generating and tracking database schemas and for generating forms automatically for configured data models. This is incredibly powerful and honestly should just exist with any robust framework... A lot of time is wasted developing the basic CRUD UI when in reality it's almost always supposed to be standardized... That should be write-once, but too often in the .NET world it's not... It's awesome to see that in Python that functionality is available out of the box. Just a few lines and boom you have a working site that can manage basic records complete with validation. In my experience, you won't find that in ASP.NET and that's why I recommend against it. At best, you'll get to waste countless hours trying to reproduce that power. In reality, you'll likely never be given the chance and instead end up a chimpanzee whose job is to manually code it over and over again... :-/

Derezo
Member #1,666
April 2001
avatar

I've been working as a developer on a Web Based C# MVC project for a little over a year (random screenshot). Book-wise, I did purchase C# In Depth by Jon Skeet. It's pretty good, although I haven't read it in it's entirety, but it doesn't cover MVC or web specifically to any reasonable extent if that is where you're struggling.

C# is amazing for doing very powerful things with very tiny amounts of code. I absolutely love Dapper, and in the app I'm working on I'm mostly just grabbing stuff from the database with dapper and pushing that into JSON, which JavaScript picks up and ... does whatever with it. I found Razor to be incredibly annoying and ended up getting away from it. We're thinking of migrating to Vue.js

If you're building a large application you'll really want to settle on a good framework. We were pretty much forced into going with Telerik's Kendo UI because we needed Grids and Calendars that are compatible with our system... although at this point those are about the only things we use Kendo for :-/

"He who controls the stuffing controls the Universe"

Go to: