A Map for the Microsoft Application Development Platform
Article
When you can speak the language, it’s easier to find your way around. One of the key things I’ve learned at Microsoft is that I can find my way around the platform fast, *if* I know the language. The language usually consists of scenarios or topics, features, and APIs.
The toughest part is usually mapping out the features. The beauty is that if you know the features, they tend to be a token or a handle that connects you to various documentation sets, presentations, samples, and a plethora of other resources. The other value of knowing the feature names is they tend to be unique names, so they are more precise and they help cut to the chase when searching through vast seas of information.
Here is an initial map of the Microsoft Application Platform from a topics, features, and API perspective. It’s effectively a language for the Microsoft application platform. Note that while many of the feature or API lists may be out of data, you can use the idea to build your own maps. Once the frame is in place, it’s a lot easier to update it with current information. In fact, this would actually be useful as a Wiki map. It would serve as a master map of the application platform, that would make it easy to connect to relevant resources, using a common frame and vocabulary.
The map starts off by focusing on the most common application types, and then walking each core technology building block, then drilling into topics, features, and APIs.
Enjoy the map … and please extend.
Application Types
Category
Items
App Types
Cloud
Data
Desktop
Games
Phone
Services
Web
Application Technology Patterns
Category
Items
Cloud
ASP.NET Web Forms
ASP.NET MVC
Windows Communication Foundation (WCF)
Data
ADO.NET
ADO.NET Entity Framework
WCF Data Services
LINQ
Desktop
WPF
Win32
MFC
Silverlight
Games
Win32 with C++
XNA
Silverlight
WPF
Phone
Silverlight
XNA Framework
Services
WCF
WCF Data Services
WCF RIA Services
ASP.NET
Web
ASP.NET Web Forms
ASP.NET MVC
Silverlight
ADO.NET Topics and Features Map
Category
Items
Topics
ASP.NET
Data Binding
Data Models
Deployment
Disconnected Data
Encryption
Entity Sets
General
Localization
N-Tier
Remote Data
Security
Silverlight
SQL Azure
SQL Server
Streaming
XML
Features
ADO.NET DataSet
ADO.NET DataTable
ADO.NET DataReader
ADO.NET Entity Framework
Customizable Code Generator
Database First, Code First, and Model First Support
Inheritance Support
LINQ to DataSet
LINQ to SQL
LINQ to Enttities
O/RM Mapping
OData
POCO Support
State Management
WCF Data Services
APIs
System.data
Data.Common
Data.Common.CommandTrees
Data.Design
Data.Enttity.Design
Data.etntity.Design.AspNet
Data.Enttity.Design.PluralizationServices
Data.EntityClient
Data.Linq
Data.Linq.Mapping
Data.Linq.SqlClient
Data.Linq.SqlClient.Implementation
Data.Mapping
Data.Metadata.Edm
Data.Objects
Data.Objects.DataClasses
Data.Objects.SqlClient
Data.Odbc
Data.OleDb
Data.OracleClient
Data.Services
Data.Services.BuildProvider
Data.Services.Client
Data.Services.Common
Data.Services.Common
Data.Services.Design
Data.Services.Internal
Data.Services.Providers
Data.Sql
Data.SqlClient
Data.SqlTypes
ASP.NET Topics and Features Map
Category
Items
Topics
Auditing and Logging
Authentication
Caching
CSS 2
Data Access
Deployment
Exception Management
Health and Instrumentation
HTML 5
JavaScript/JSON
Performance
Security
Session and State Management
Validation
Visual Studio and ASP Development
Features
Ajax / Jquery
ASP.NET MVC
Caching
Controls
Data Controls
Navigation
Request Processing
Themes and Skins
View more …
Accessibility conforming HTML output
ASP.NET AJAX
ASP.NET Dynamic Data
ASP.NET Model View Controller (MVC)
ASP.NET Web Parts (Real time user-modifiable content)