可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
G'day,
I'm a long time Unix and Linux person with about 30 years and 14 years experience in those technologies, respectively. But wanting to expand my toolbox, I was trawling SO for hints on learning Sharepoint and I was wondering about Jon Skeet's answer to the question "How to begin as a .net and SharePoint developer" where he suggests learning .NET and C# before learning ASP.NET and Sharepoint.
Should I learn .NET and C# before getting involved with ASP.NET and Sharepoint? And can anyone recommend good books for the four technologies?
On SO so far, we've had questions for book recommendations for learning Sharepoint and ASP.NET but I haven't found anything about a "*nix head" dipping his toes into the MS waters for the first time.
At the moment I have Jon's recommendations from his answer above but I've been also been looking at the Head First C# book and a couple of O'Reilly Nutshell books.
The list of possible books I have so far is:
C#:
- "Accelerated C# 2008 (sanitised Amazon link)
- "Head First C#" (sanitised Amazon link)
- "Learning C# 3.0" (sanitised Amazon link)
- "Programming C# 3.0" (sanitised Amazon link)
Sharepoint:
- "Inside Microsoft Windows SharePoint Services 3.0" (sanitised Amazon link)
- "Microsoft SharePoint: Building Office 2007 Solutions in C# 2005" (sanitised Amazon link)
- "Workflow in the 2007 Microsoft Office System" (sanitised Amazon link)
- "Professional SharePoint 2007 Development" (sanitised Amazon link)
- "Real World SharePoint 2007: Indispensable Experiences From 16 MOSS and WSS MVPs" (sanitised Amazon link)
N.B. The Sharepoint list was obtained from the accepted answer to the question "WSS/MOSS". Thanks Pascal Paradis.
Any one help with the suggestions for learning .NET and ASP.NET?
Any thoughts on these books?
cheers,
回答1:
This really deserves something more than "Should you walk before you can run?", which was my first thought :)
With 30 odd years of experience (I assume programming experience), you should not really learn the basics, you need to get in depth understanding of the C# developement environment, IIS, SQL Server and SharePoint (in roughly that order).
To be efficient, you need to compare these technologies and see how they are different from what you are used to rather than reading yet another book that starts with variable declaration syntax.
I personally would get more from time spent with an expert, but that is not usually an option. Fortunately many of these people blog and those can be really illuminating.
(see Eric Lippert)
When reading the detail, you will most likely be able to understand how the details operate without needing a full chapter.
Small snippets of information are going to be more useful to you than large amounts of basic knowledge.
E.g. I assume that a snippet of information such as "SharePoint stores all the documents for a Site Collection as a binary field in a single table." will provide you with more information than a several thousand word overview of SharePoint site collections.
回答2:
As with any language, you will need something to do while learning C#. While you can do sample projects as shown in the books, as an experienced developer, I would personally recommend learning by doing an ASP.NET project (you don't need to write a lot of "this is a function" type exercises as C# functions are pretty much the same as any c-style functions).
In short, I would put off Sharepoint development due to its very specific nature, but not ASP.NET development.
Update: One other thing...Visual Studio makes web development quite straightforward. It is not as if Windows development is so much simpler than Web Development that it makes it easier to focus on the C#. It is more the case that each environment (Winforms versus Web) provides a different context within which C# is used. Thus, you may as well learn C# within the Web context since that will be your long-term focus.
One other thing: you may want to see this answer that I offered to an earlier question about getting started with .NET.
回答3:
I suggest you start learning from a book that will introduce you both to .NET and C#. When you will understand .NET world, you can go further to ASP.NET. Since you come from *nix world, you should learn how different .NET world is from your previous experiences, and even from Windows itself.
I spent some time reading Andrew Troelsen’s book, and I think they are quite ok to start, and then move to ASP.NET. From the list above I have heard, that Liberty’s book is quite ok.
Troelsen:
http://www.amazon.com/2008-NET-Platform-Fourth-Windows-Net/dp/1590598849/ref=sr_1_1?ie=UTF8&s=books&qid=1247572543&sr=1-1
回答4:
By all means.
ASP.NET is not just another lightweight scripting language like PHP or something. its power comes from the language features and the framework libraries, which allow you to build an effective and professional backend for your site. If you choose to ignore them from the start, then you will miss the very advantage of ASP.NET over other frameworks. And you won't be productive.
回答5:
IMHO,
Yes, definitely, IF you are going to do some development.
No, If you are going to do administration only.
Seeing as SharePoint was built on top of .NET 2.0 (and 3.0, Windows Workflow Foundation), it is only natural one would first try to get a hang of the basics before diving into the SharePoint Object Model. What I can recommend is to just install a Virtual Machine and start rummaging around in SharePoint (create some web applications, list, then some Content Types and Site Columns, then combine the lot.) Then, try to create your own webpart when you have done some C# coding (or VB.NET for that matter), then try to roll-out that webpart using a feature and a SharePoint Solution file. Progress from there.
SharePoint's Object Model is incredibly powerful and without a solid understanding of it's foundations you'll never get the full development experience.
回答6:
Absolutely you need o learn C# (or VB.NET or any .NET language) and ASP.NET before Sharepoint. Actually Sharepoint is built upon ASP.NET. Though you can use sharepoint by itself (create document libraries and stuff) from the browser, without having to deal with asp.net, but a lot of sharepoint things require .NET and ASP.NET. For example, SmartWebParts in sharepoint depend on creating asp.net user controls, also features in Sharepoint depends on .NET. So yeah! You have to learn C# and ASP.NET for doing real sharepoint stuff.
EDIT:
For the books thing, for me I think that
Inside Windows Sharepoint Services is an awesome book, it's the best one for programmer (IMHO of course).
Pro C# and the .NET 3.5 is very highly recommended for C#
ASP.NET 2.0 Web Site programming Problem, Design, Solution would be my recommendation for ASP.NET
回答7:
AS my point of view YES.
Have look on this SO page
回答8:
It's certainly worth getting the idea of working with C# and ASP.Net away from Sharepoint, because that adds it's own layers of awkwardness and eldritch horror onto anything you're going to be developing.
When you do move on to developing for Sharepoint, one useful piece of equipment is a soft rubber desk. You're going to be banging your head against that thing a whole lot as you try to understand the mysteries of WSS, MOSS and friends and this is a good way to reduce long-term injuries.
回答9:
You need knowledge about C# and .NET to developing ASP.NET apps or for SharePoint. Because both technology have same base and it's .NET
Head First C# for absolute beginner in programming (OOP) and C#. And it's good for you if you haven't knowledge about object programming, but if you familiar with OOP, this book wasting your time.
Best way how to get in .NET and C# is C# in Depth: What you need to master C# 2 and 3