Hoje no desenvolvimento web temos frameworks dentro de frameworks. Dentro de uma página HTML simples podemos usar o bootstrap ( que é um framework ) que expande as opções de design e interação com usuário e o JQuery ( que é um framework) que expande as funcionalidades do browser fazendo com que uma app web fique até melhor que uma app nativa windows.
Para reduzir o tamanho e a complexidade das aplicações os fabricantes de software separam suas funcionalidades em classes separadas pelo campo que atuam. Cada um na sua área. Se você precisa da funcionalidade do framework, incorpora o framework na sua página e usa suas funcionalidades. Senão, não precisa adicionar mas terá que lembrar que ela existe porque poderá precisar dela numa app futura.
No .NET São bibliotecas de funcionalidades criadas pela própria Microsoft focadas em expandir as funcionalidades da linguagem .NET. Essas 'funcionalidades' estão agrupadas por finalidade. Por exemplo, todas as funcionalidades que trabalham com rede estão na biblioteca NET e todas as funções que trabalham com arquivos estão na biblioteca file.io.
Note que essas bibliotecas são enormes, grandes mas uma das funções do compilador é eliminar as funções das bibliotecas que não são usadas pela ferramenta. Por exemplo, se meu programa usa a função A da biblioteca mas não usa a função B da biblioteca, ao compilar, o compilador remove a função B da biblioteca e compila só o necessário.
Normalmente quando criamos um projeto .NET a IDE ( Visual Studio / Code ) sabe do que o projeto precisa e já traz todas as funcionalidades para ele funcionar. Contudo podemos adicionar funcionalidades não previstas pelo 'default' inicial do projeto e é bom saber quais são as principais.
Namespace | Classe de Funções |
System | Contém algumas classes de baixo nível usadas para trabalhar com tipos primitivos, operações matemáticas, gerenciamento de memória etc. |
System.Collections | Implementa pilhas, suas filhas e listas encadeadas. |
System.Data,
System.Data.Commom, System.Data.OleDb, System.Data.SqlClient |
São as NameSpaces que trabalham com dados. Oledb são fontes de dados como Excel, Word, sql server, etc. O SqlClient é o cliente para acessar o servidor SQL. Note que o muitas vezes esse 'cliente' precisa ser instalado na máquina ( não é nativo como o MySQL, Oracle, etc.). |
System.Diagnostics | Contém as funcionalidades que gerenciam o computador como o acesso ao Log de Eventos, medição de performance, classes para gerenciamento de processos, depuração. |
System.Drawing e suas sub-classes | Contém a biblioteca .NET com os componentes para trabalhar com gráficos, chamada GDI+. |
System.IO | É a NameSpace degerenciamento de arquivos etc. |
System.NET | É a namespace que abriga as funcionalidades de rede, sockets etc. |
System.Reflection | Gera código em tempo de execução, descobrir tipos de variáveis etc. |
System.Runtime.InteropServices e System.Runtime.Remoting |
Esta NameSpace permite o acesso a componentes não nativos do .NET. Por exemplo, temos uma classe nesse namespace para acesso ao OFFICE mas não a base de dados ( que seria o oledb ) mas sim a, por exemplo, correção ortográfica do office. |
System.Security | Nesta NameSpace temos os serviços de Criptografia, acesso, permissões e a interface de segurança entre o windows e o .NET. |
System.Threading | Esta NameSpace contém as funcionaliadades necessárias para o desenvolvimento de aplicações multithread, síncronas e assíncronas. |
System.Web | Contém as funcionades do ASP.NET que se referem a Web, Web services. |
System.Windows.Forms | Contém as funcionalidades para o desenvolvimento de aplicações nativas do windows bem tradicionais. |
System.XML | Contém as bibliotecas de funcionalidaes que permitem a interação com documentos XML. |
Nota : Em negrito estão as NameSpaces que você precisa conhecer para passar numa entrevista de emprego. NameSpaces como System, System.Web são adicionadas automaticamente ao criar um projeto mas é bom saber porque caso a coisa saia muito errada você saberá onde procurar.