{"id":14995,"date":"2022-04-11T15:23:08","date_gmt":"2022-04-11T18:23:08","guid":{"rendered":"https:\/\/enotas.com.br\/blog\/?p=14995"},"modified":"2023-01-25T14:44:58","modified_gmt":"2023-01-25T17:44:58","slug":"net-framework","status":"publish","type":"post","link":"https:\/\/enotas.com.br\/blog\/net-framework\/","title":{"rendered":"O que \u00e9 o .NET Framework? Quais as vantagens?"},"content":{"rendered":"<p dir=\"ltr\">Acompanhe o nosso guia clicando no player e descubra o que \u00e9 o .NET Framework e qual a import\u00e2ncia dessa tecnologia para aplica\u00e7\u00f5es de c\u00f3digos.<\/p>\n<p dir=\"ltr\">A utiliza\u00e7\u00e3o de .NET frameworks j\u00e1 est\u00e1 inclusa no dia a dia de muitos desenvolvedores. Mas&nbsp; o que seria um?<\/p>\n<p dir=\"ltr\">Por mais que esse termo esteja presente na vida de todo dev, d\u00favidas ainda pairam no ar quando o assunto \u00e9 esse framework da Microsoft, o que ele representa e qual o seu principal benef\u00edcio.<\/p>\n<p dir=\"ltr\">Neste texto, voc\u00ea esclarecer\u00e1 todas essas quest\u00f5es, confira!<\/p>\n<blockquote style=\"\"><p><strong>Veja outros materiais que voc\u00ea tamb\u00e9m pode se interessar:<\/strong><\/p><\/blockquote>\n<blockquote><p><a href=\"\" style=\"outline: none;\" target=\"_blank\" rel=\"noopener\"><\/a><a href=\"https:\/\/enotas.com.br\/blog\/webhook\/\" style=\"outline: none;\" target=\"_blank\" rel=\"noopener\">O que \u00e9 webhook? Entenda mais sobre esse recurso de automa\u00e7\u00e3o<\/a><\/p><\/blockquote>\n<blockquote><p><a href=\"\" target=\"_blank\" style=\"outline: none;\" rel=\"noopener\"><\/a><a href=\"https:\/\/enotas.com.br\/blog\/devops\/\" style=\"outline: none;\">Boas Pr\u00e1ticas de DevOps: Guia explicativo<\/a><\/p><\/blockquote>\n<blockquote><p><a href=\"\" style=\"outline: none;\" target=\"_blank\" rel=\"noopener\"><\/a><a href=\"https:\/\/enotas.com.br\/blog\/erp\/\" style=\"outline: none;\">ERP: o que \u00e9 e como escolher o melhor software de gest\u00e3o<\/a><\/p><\/blockquote>\n<h2 dir=\"ltr\" id=\"indice-0\" data-indice=\"0\" data-viewport=\"indice\">O que \u00e9 o .NET Framework?<\/h2>\n<p dir=\"ltr\">O .NET Framework \u00e9 um ambiente de execu\u00e7\u00e3o criado pela Microsoft e gerenciado para Windows que oferece uma s\u00e9rie de servi\u00e7os voltados ao desenvolvimento web, reutilizando e reaproveitando c\u00f3digos, entre suas principais fun\u00e7\u00f5es.<\/p>\n<p dir=\"ltr\">\u00c9 um ambiente outsource&nbsp; que possui componentes para a cria\u00e7\u00e3o de c\u00f3digos em determinadas linguagens, como C#, VB.NET e F#.<\/p>\n<p dir=\"ltr\">Pode-se dizer que o .NET Framework engloba dois componentes principais, como:<\/p>\n<ul>\n<li dir=\"ltr\">\n<p dir=\"ltr\"><strong>CLR (Common Language Runtime)<\/strong>: um mecanismo de execu\u00e7\u00e3o que manipula aplicativos em execu\u00e7\u00e3o;<\/p>\n<\/li>\n<li dir=\"ltr\">\n<p dir=\"ltr\"><strong>Biblioteca de classes<\/strong>: o .NET Framework oferece uma biblioteca de c\u00f3digos testados e reutiliz\u00e1veis que os desenvolvedores podem chamar de seus pr\u00f3prios aplicativos.<\/p>\n<\/li>\n<\/ul>\n<p dir=\"ltr\">O .NET Framework pode ser hospedado por componentes n\u00e3o gerenciados \u2014&nbsp; que carregam o Common Language Runtime em seus processos e iniciam a execu\u00e7\u00e3o de c\u00f3digo.<\/p>\n<p dir=\"ltr\">Isso possibilita a cria\u00e7\u00e3o de um ambiente de software que explora recursos gerenciados e n\u00e3o gerenciados.<\/p>\n<p dir=\"ltr\">Outra funcionalidade bem \u00fatil do .NET Framework (tamb\u00e9m chamado de dotNET) \u00e9 que ele \u00e9 pensado para a utiliza\u00e7\u00e3o de linguagens e tecnologias Microsoft, dispensando o uso de bibliotecas diferentes para cada uma.&nbsp;<\/p>\n<p><strong>Curiosidade<\/strong><\/p>\n<p dir=\"ltr\">O Internet Explorer \u00e9 um exemplo de um aplicativo n\u00e3o gerenciado que hospeda o runtime (na forma de uma extens\u00e3o tipo MIME).&nbsp;<\/p>\n<p dir=\"ltr\">Usar o Internet Explorer para hospedar o runtime &nbsp;permite que voc\u00ea insira componentes gerenciados ou controles Windows Forms em documentos HTML.&nbsp;<\/p>\n<h2 dir=\"ltr\" id=\"indice-1\" data-indice=\"1\" data-viewport=\"indice\">Qual a diferen\u00e7a entre .NET Core e .NET Framework?<\/h2>\n<p dir=\"ltr\">A principal diferen\u00e7a entre .Net Core e .Net Framework \u00e9 a plataforma de utiliza\u00e7\u00e3o.<\/p>\n<p dir=\"ltr\">O dotNET Framework \u00e9 unicamente usado para a plataforma Windows, enquanto o .NET Core \u00e9 um cross-platform.<\/p>\n<p dir=\"ltr\">Isso significa dizer que sua aplica\u00e7\u00e3o \u00e9 feita em mais de uma plataforma, como o Windows, Linux e MacOS.<\/p>\n<h2 dir=\"ltr\" id=\"indice-2\" data-indice=\"2\" data-viewport=\"indice\">Quais s\u00e3o os servi\u00e7os que o .NET Framework oferece aos aplicativos em execu\u00e7\u00e3o?<\/h2>\n<p dir=\"ltr\">Dentre os principais servi\u00e7os fornecidos pelo .Net Framework, \u00e9 poss\u00edvel destacar sete.<\/p>\n<p dir=\"ltr\">Confira.<\/p>\n<h3 dir=\"ltr\">1. Gerenciamento de mem\u00f3ria<\/h3>\n<p dir=\"ltr\">O gerenciamento de mem\u00f3ria \u00e9 uma grande vantagem,&nbsp; visto que \u00e9 um atributo oferecido pelo CLR em aplicativos .NET Framework.<\/p>\n<p dir=\"ltr\">Isso tira a responsabilidade de programadores, em muitas linguagens de programa\u00e7\u00e3o, de alocar e liberar mem\u00f3ria e por identificar o tempo de vida do objeto<\/p>\n<h3 dir=\"ltr\">2. Common Type System<\/h3>\n<p dir=\"ltr\">No .NET Framework, os tipos b\u00e1sicos s\u00e3o definidos pelo sistema e s\u00e3o comuns a todas as linguagens que se destinam.<\/p>\n<p dir=\"ltr\">J\u00e1 em linguagens de programa\u00e7\u00e3o tradicionais, os tipos b\u00e1sicos s\u00e3o definidos pelo compilador, que complica a interoperabilidade entre linguagens.<\/p>\n<h3 dir=\"ltr\">3. Biblioteca de classes abrangente<\/h3>\n<p dir=\"ltr\">Como falamos, no .NET Framework, os programadores usam uma biblioteca de tipos facilmente acess\u00edvel e seus membros da biblioteca de classes.<\/p>\n<p dir=\"ltr\">Assim, n\u00e3o \u00e9 necess\u00e1rio gravar grandes volumes de c\u00f3digo para manipular opera\u00e7\u00f5es de programa\u00e7\u00e3o comuns de baixo n\u00edvel.<\/p>\n<h3 dir=\"ltr\">4. Estruturas e tecnologias de desenvolvimento<\/h3>\n<p dir=\"ltr\">O .NET Framework inclui bibliotecas para \u00e1reas espec\u00edficas de desenvolvimento de aplicativos.<\/p>\n<p dir=\"ltr\">Exemplos disso s\u00e3o o \u201cASP.NET\u201d \u2014&nbsp; para aplicativos Web \u2014 , e o \u201cADO.NET\u201d \u2014&nbsp; para acesso a dados.<\/p>\n<p dir=\"ltr\">Ainda, pode-se citar o \u201cWindows Communication Foundation\u201d para aplicativos orientados a servi\u00e7os e, tamb\u00e9m, o \u201cWindows Presentation Foundation\u201d para aplicativos da \u00e1rea de trabalho do Windows.<\/p>\n<h3 dir=\"ltr\">5. Interoperabilidade da linguagem<\/h3>\n<p dir=\"ltr\">Os programadores s\u00e3o privilegiados por conseguirem cria\u00e7\u00e3o de aplicativos em suas linguagens preferidas!<\/p>\n<p dir=\"ltr\">Isso porque essa tecnologia emite um c\u00f3digo intermedi\u00e1rio chamado Common Intermediate Language (CIL), que, por sua vez, \u00e9 compilado no tempo de execu\u00e7\u00e3o pelo Common Language Runtime.<\/p>\n<p dir=\"ltr\">A partir desse recurso, as rotinas gravadas em uma linguagem passam a estar acess\u00edveis a outras linguagens.<\/p>\n<h3 dir=\"ltr\">6. Compatibilidade de vers\u00f5es<\/h3>\n<p dir=\"ltr\">Com exce\u00e7\u00f5es raras, os aplicativos que s\u00e3o desenvolvidos usando uma vers\u00e3o espec\u00edfica do .NET Framework s\u00e3o executados sem modifica\u00e7\u00e3o em uma vers\u00e3o posterior.<\/p>\n<h3 dir=\"ltr\">7. Multiplataforma<\/h3>\n<p dir=\"ltr\">Os devs conseguem criar bibliotecas de classes que funcionam em v\u00e1rias plataformas do .NET Framework com suporte por essa vers\u00e3o do padr\u00e3o.<\/p>\n<p dir=\"ltr\">Exemplo: as bibliotecas que visam .NET Standard 2,0 podem ser usadas por aplicativos direcionados .NET Framework 4.6.1, .NET Core 2,0 e UWP 10.0.16299.<\/p>\n<h2 dir=\"ltr\" id=\"indice-3\" data-indice=\"3\" data-viewport=\"indice\">Quais vantagem do .NET Framework?<\/h2>\n<p dir=\"ltr\">Uma primeira grande vantagem do .NET Framework \u00e9 o poder de reutiliza\u00e7\u00e3o de estruturas de c\u00f3digo.<\/p>\n<p dir=\"ltr\">Isso poupa horas e horas de desenvolvimento e faz com que os desenvolvedores possam focar no que \u00e9 de fato importante e que agrega valor ao neg\u00f3cio com rela\u00e7\u00e3o ao software que est\u00e1 sendo desenvolvido.<\/p>\n<p dir=\"ltr\">Ou seja, voc\u00ea n\u00e3o precisa dedicar tempo para desenvolver a funcionalidade de login, j\u00e1 que existem frameworks j\u00e1 testados para essa finalidade.<\/p>\n<p dir=\"ltr\">Ainda, se necess\u00e1rio, voc\u00ea pode personalizar esses componentes pr\u00e9-disponibilizados de acordo com as demandas do projeto em quest\u00e3o.<\/p>\n<p><span style=\"\"><img decoding=\"async\" alt=\"lgpd-seu-software-esta-preparado\" data-id=\"14998\" width=\"168\" data-init-width=\"1080\" height=\"168\" data-init-height=\"1080\" title=\"lgpd-seu-software-esta-preparado\" loading=\"lazy\" src=\"https:\/\/enotas.com.br\/blog\/wp-content\/uploads\/2021\/01\/eNotas_Blog_Ilustracoes-para-Banners-6.png\" data-width=\"168\" data-height=\"168\" style=\"\" ml-d=\"0\" mt-d=\"-3\"><\/span><\/p>\n<blockquote style=\"text-align: center;\"><p><strong>LGPD: Seu software est\u00e1 preparado?<\/strong><\/p><\/blockquote>\n<p dir=\"ltr\">Confira o nosso guia, contendo dicas de boas pr\u00e1ticas para te auxiliar a adequar o seu software \u00e0s determina\u00e7\u00f5es dessa lei!<\/p>\n<p dir=\"ltr\">\n<h2 dir=\"ltr\" id=\"indice-4\" data-indice=\"4\" data-viewport=\"indice\">Qual a principal vantagem do .NET Framework?<\/h2>\n<p dir=\"ltr\">A principal vantagem do .NET Framework e que faz com que muitas pessoas da \u00e1rea de desenvolvimento utilizem frameworks, \u00e9 o poder de reutiliza\u00e7\u00e3o de estruturas de c\u00f3digo.&nbsp;<\/p>\n<p dir=\"ltr\">Isso poupa horas e horas de desenvolvimento e faz com que os desenvolvedores possam focar no que \u00e9 de fato importante e que agrega valor ao neg\u00f3cio com rela\u00e7\u00e3o ao software que est\u00e1 sendo desenvolvido.<\/p>\n<p dir=\"ltr\">Ou seja,&nbsp; voc\u00ea n\u00e3o precisa dedicar tempo para desenvolver a funcionalidade de login, j\u00e1 que existem frameworks j\u00e1 testados para essa finalidade.&nbsp;<\/p>\n<p dir=\"ltr\">Ainda, se necess\u00e1rio, voc\u00ea pode personalizar estes componentes pr\u00e9-disponibilizados de acordo com as demandas do projeto em quest\u00e3o.<\/p>\n<p><strong>Curiosidade<\/strong><\/p>\n<p>Se voc\u00ea n\u00e3o desenvolver .NET Framework aplicativos, mas us\u00e1-los, n\u00e3o ser\u00e1 necess\u00e1rio ter conhecimento espec\u00edfico sobre essa tecnologia ou sua opera\u00e7\u00e3o. Na maior parte, a estrutura \u00e9 completamente transparente para os usu\u00e1rios.<\/p>\n<p dir=\"ltr\"><strong>Observa\u00e7\u00e3o:<\/strong> Voc\u00ea pode ter acesso a toda documenta\u00e7\u00e3o do .NET Framework no <a href=\"https:\/\/docs.microsoft.com\/pt-br\/dotnet\/framework\/\" target=\"_blank\" rel=\"noopener\">site oficial da Microsoft<\/a>.<\/p>\n<p dir=\"ltr\">Al\u00e9m disso, podemos destacar entre os principais benef\u00edcios do .NET Framework,&nbsp; a capacidade de fornecer um ambiente de&nbsp; execu\u00e7\u00e3o de c\u00f3digo que:<\/p>\n<ul>\n<li dir=\"ltr\">Minimiza conflitos de controle de vers\u00e3o e tamb\u00e9m a implanta\u00e7\u00e3o de software.<\/li>\n<li dir=\"ltr\">Promove a execu\u00e7\u00e3o segura de c\u00f3digo \u2014 incluindo c\u00f3digo criado por terceiros desconhecidos ou nem t\u00e3o confi\u00e1veis.<\/li>\n<li dir=\"ltr\">Elimina os problemas de desempenho de ambientes de script ou interpretados.<\/li>\n<li dir=\"ltr\">Torna a experi\u00eancia do desenvolvedor consistente em v\u00e1rios tipos de aplicativos diferentes, como aplicativos baseados no Windows e aplicativos baseados na Web.<\/li>\n<\/ul>\n<h2 dir=\"ltr\" id=\"indice-5\" data-indice=\"5\" data-viewport=\"indice\">O .Net Framework precisa do Visual Studio para ser programado?<\/h2>\n<p dir=\"ltr\">A maneira mais correta de responder essa pergunta \u00e9: n\u00e3o.<\/p>\n<p dir=\"ltr\">O Visual Studio \u00e9 um editor de c\u00f3digo-fonte da Microsoft tanto para Windows quanto para Linux e MacOS.<\/p>\n<p dir=\"ltr\">Para programar o .Net Framework, no entanto, o dev pode usar qualquer editor de texto, o que passa por VS Code, Sublime Text, VIM, EMACS e o t\u00e3o popular bloco de notas.<\/p>\n<h2 dir=\"ltr\" id=\"indice-6\" data-indice=\"6\" data-viewport=\"indice\">Conclus\u00e3o<\/h2>\n<p dir=\"ltr\">O .NET Framework \u00e9 um ambiente de desenvolvimento usado unicamente em Windows, diferente, por exemplo, do .NET Core.<\/p>\n<p dir=\"ltr\">Seus servi\u00e7os s\u00e3o dos mais variados e podem compreender desde o gerenciamento de mem\u00f3ria, biblioteca de classes abrangente e a compatibilidade de vers\u00f5es.<\/p>\n<p dir=\"ltr\">Voc\u00ea pode conferir tamb\u00e9m o conte\u00fado sobre<a href=\"https:\/\/enotas.com.br\/blog\/postman\/\"> Postman<\/a>, uma ferramenta que oferece uma interface de usu\u00e1rio pr\u00e1tica e que permite realizar solicita\u00e7\u00f5es HTTP sem a necessidade de escrever um monte de c\u00f3digos e testar a funcionalidade de uma API!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Acompanhe o nosso guia clicando no player e descubra o que \u00e9 o .NET Framework e qual a import\u00e2ncia dessa tecnologia para aplica\u00e7\u00f5es de c\u00f3digos. A utiliza\u00e7\u00e3o de .NET frameworks j\u00e1 est\u00e1 inclusa no dia a dia de muitos desenvolvedores. Mas&nbsp; o que seria um? Por mais que esse termo esteja presente na vida de [&#8230;]<\/p>\n","protected":false},"author":28,"featured_media":14996,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[205],"tags":[218,272,242],"class_list":["post-14995","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tech","tag-automacao","tag-desenvolvimento","tag-nota-fiscal"],"_links":{"self":[{"href":"https:\/\/enotas.com.br\/blog\/wp-json\/wp\/v2\/posts\/14995","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/enotas.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/enotas.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/enotas.com.br\/blog\/wp-json\/wp\/v2\/users\/28"}],"replies":[{"embeddable":true,"href":"https:\/\/enotas.com.br\/blog\/wp-json\/wp\/v2\/comments?post=14995"}],"version-history":[{"count":11,"href":"https:\/\/enotas.com.br\/blog\/wp-json\/wp\/v2\/posts\/14995\/revisions"}],"predecessor-version":[{"id":27701,"href":"https:\/\/enotas.com.br\/blog\/wp-json\/wp\/v2\/posts\/14995\/revisions\/27701"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/enotas.com.br\/blog\/wp-json\/wp\/v2\/media\/14996"}],"wp:attachment":[{"href":"https:\/\/enotas.com.br\/blog\/wp-json\/wp\/v2\/media?parent=14995"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/enotas.com.br\/blog\/wp-json\/wp\/v2\/categories?post=14995"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/enotas.com.br\/blog\/wp-json\/wp\/v2\/tags?post=14995"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}