I'm going to start developing SharePoint applications and I'm looking for some good introductory resources (articles, videos, books, dev tools, tips).
I'm comfortable with C# and ASP.NET development, but I come from the Java space.
It is important that you get an understanding of how the SharePoint platform fits together. Have a look at the architecture and understand how different components relate to each other. This is a link to an architectural overview: http://msdn.microsoft.com/en-us/library/gg552610.aspx
Setup a sandpit and play around with the environment. Gain an understanding of the different elements (lists, libraries, security, sites, central administration, services).
This link has some ideas for some courses/exams: http://blogs.msdn.com/b/pandrew/archive/2008/05/01/getting-started-with-sharepoint-development.aspx
This link has some other detailed learning material such as videos and labs:
The MSDN site is a great reference for SharePoint API information.
Setup a development environment for SharePoint and run through some tutorials - you need a local instance of SharePoint installed on your development environment. Here are some tutorial links: http://dotnetguts.blogspot.com/2008/06/sharepoint-development-tutorial.html
I am ringing my own bell here, but I think the first thing to understand about SharePoint is that you can do a lot out of the box, before starting developing.
I have seen too many cases where people start developing from scratch when 90% of the expected features are already there. Sure, sometimes with SharePoint the issue is to know where to find it...
My personal choice is to follow live resources like blogs or Twitter, because Web development is changing so fast these days. You'll find that the SharePoint online community is very active. You can start with Microsoft's own blog:
In addition to previous answers.
First of all (I agree absolutely with @Christophe) you need to explore out of the box sharepoint functionality - list and libraries and them settings, content types, permissions, workflows, sites and webs, oob features and so on. Next I recommend you to read book
"Inside Microsoft Windows SharePoint Services 3.0" by Ted Pattison and Daniel Larson. This book is sharepoint 2007 related, but provides fundamental aspects of sharepoint development, that uses in 2010. And you need to try to create features using 2007-style - it means using .xml, .ddf files, cabinet maker and stsadm deployment. Its important, because visual studio 2010 hides a lot of deployment and package aspects. When you face with problem, this knowledges help you to quickly diagnose a problem.
Welcome to the SharePoint world :)
When you're learning something new, it is important to get familiar with the new language and terms used in SharePoint environment.
Please spent some time Googling these terms to figure out what they mean. There are tons of great resources available online for anything and everything SharePoint. For example:
Site: In SharePoint, sites are the building blocks, where users can share data in lists and libraries or view and edit Web Part pages. They're created for a specific purpose, so for example, a company may create an HR site, an Accounting site and a Project Management site.
Site Collection: A site collection is a group of sites that are related. These sites have the same owner and administration settings. Site collections have a hierarchy; there's always at least one top-level site in a site collection, with subsites underneath. Every Web application contains at least one site collection.
Web applications: They provide services, as opposed to Web sites, which typically just display information. Web applications are Web sites that run on IIS. They help create a company's information environment. They are hosted on the Web server.
Assembly: a partially compiled code library used in deployment, versioning and security within the .NET framework Uh, what? What's a code library? What is versioning? What's a .NET framework?
APIs, or Application programming interfaces: APIs are what let you do everything that you can do in the SharePoint user interface, like creating new sites or workspaces, uploading photos or documents, and creating tasks and alerts.
Child: This term helps show hierarchy within SharePoint, specifically within sites. A child site is a subsite of the top-level, or parent, site.
Farm, or server farm: A group of servers that share the same administrative tools and are part of the same organization or group.
IIS, or Internet Information Services: The Web server that Microsoft uses to host SharePoint. It runs on Windows Server 2003. Edited to add: IIS doesn't necessarily run on Windows Server 2003. There are different versions of IIS depending on the operating system you have, such as Windows XP or Windows 2008. So for example, IIS 7.0 runs on Windows Server 2008, and IIS 6.0 runs on Windows 2003.
Library: Sites have libraries, which store data. The most common library in SharePoint is the document library, but you can use libraries to store any kind of files or data.
List: A table of data that is stored in a site. Lists help provide data like tasks, discussions and links.
.NET Framework: Versions 2 and 3 of this set of software installs ASP.NET and Windows Workflow Foundation (WF).
Parent: This term helps show hierarchy within SharePoint, specifically within sites. A parent site is the site located one level higher in site hierarchy; it can also have one parent, and one or several children (subsites).
Root Site Is the top-level site in site collection. There can be only one root site in the single site collection.
Root Site Collection Is the top-level site collection in web application.
Learn to step-up the SharePoint Development environments and start development!
happy SharePointing :)