Uma História Nunca Contada Sobre as Versões .NET

A história nunca contada sobre as versões .NET é uma viagem ao passado em 10 minutos, onde conto um pouco sobre minha experiência usando o .NET, desde quando comecei como desenvolvedor de software até os dias de hoje.

A História Nunca Contada Sobre as Versões .NET

Aquele desenvolvedor iniciante terá uma visão das diferenças das versões da plataforma .NET praticadas no Mundo Real, suas tecnologias e variações.

Por outro lado, aquele desenvolvedor mais velho (sem ofensas), que também passou por isso, sentirá a nostalgia de lembrar do Web Forms… ou talvez não.


#O meu mundo real no desenvolvimento de software

Bem, comecei como desenvolvedor profissional em 1999/2000, justamente na virada do bug do milênio, mas já me aventurava muito antes, até mesmo da faculdade, quando aprendi o @@#!S%¨¨#@ Pascal.

Inclusive, um pouco antes disso, quando eu trabalhava na Novartis Biociências, já criava alguns sites usando HTML puro com CSS e hospedava naqueles serviços gratuitos como o HPG.

Tenso mesmo eram os navegadores da época, por exemplo, usávamos o navegador Netscape Navigator.

Fabio Silva Lima DESIGN PATTERNS vol.1

Escrevendo esse artigo, eu tive que voltar aqui nesse ponto e comentar uma coisa que lembrei. No início da década de 90 eu dava aulas de MS-DOS, baseado em cursos que fiz na escola de informática BIT Company. Mas deixa quieto, o artigo é sobre o .NET.


#O IDG Now!

Iniciei como desenvolvedor atuando na manutenção de websites da empresa IDG Computerworld, mais especificamente na editoria IDG Now!

IDG Now!

Na época, o IDG Now!, usava uma plataforma chamada Zope na linguagem Python, para gerenciar as notícias e conteúdo do seu site. E foi justamente nessa época que aprendi muito sobre ferramentas de gestão de conteúdo CMS.

Zope

Comandada pela jornalista e editora Simone Freire, a equipe IDG Now! era fantástica. Tínhamos na equipe técnica, com profissionais de excelência, um desenvolvedor e um webdesigner, respectivamente Rodrigo Leme e Ricardo Untem.

Essas três pessoas da equipe IDG Now!, foram umas das 30 Pessoas que Influenciaram minha Carreira Profissional.

30 Pessoas que Influenciaram minha Carreira Profissional

Nessa época, eu utilizava para programar, acredite se quiser, a IDE Macromedia Homesite. Comparada com o Visual Studio atualmente, Homesite é um lixo. Mas para a época, acredito que era o que tínhamos de melhor. E também fui expressamente proibido em usar o Dreamweaver.

Macromedia Homesite

Em 2001 comecei a desenvolver usando linguagem de programação ASP, Active Server Pages (extensão .asp) e a aventura foi enorme, misturava HTML com CSS e com código ASP… era uma zona!

Active Server Pages


#A plataforma .NET

A Microsoft criou uma plataforma de desenvolvimento para criar sites e programinhas para windows usando linguagens de programação diferentes, como VB e C#.

Então, criou um framework poderoso, com um conjunto de bibliotecas/componentes, que junto com a IDE Visual Studio ajudavam muito a vida do desenvolvedor em vários aspectos, produtividade, facilidade, debugging entre outros, aí surgiu o .NET.

Em 2001, tive contato com o ASP.NET 1.0 e fiquei alucinado para aprender, mas os cursos não eram acessíveis, os livros muito caros e para piorar, em inglês. E também havia muita resistência na empresa por ser uma tecnologia nova, dificilmente mudariam alguma coisa do Python para ASP.NET.

Nessa época, eu ainda trabalhava na IDG Computerworld, mas eles decidiram terceirizar toda a equipe de TI e foi quando apareceu a empresa de consultoria Fuzzy e eles me fizeram uma proposta para trabalhar com eles na plataforma .NET, mas eu recusei e preferi escolher outra empresa, a Broker Consultoria de TI.


#A Broker Consultoria de TI

Fiquei na IDG Computerworld cerca de dois anos e meio, saí e vim parar na Broker Consultoria de TI, empresa especializada e conceituada no mercado de seguros.

Broker Consultoria de TI

Eu praticamente trouxe a Web para eles, pois o foco principal da empresa era o desenvolvimento de software em Delphi, então foi uma mudança bem radical de mindset.

Com o passar do tempo, outras linguagens de programação foram agregadas a plataforma .NET, entre elas o J# e F#.

Então, na plataforma .NET, além de ser possível desenvolver em mais de uma linguagem de programação, você poderia escolher o tipo de tecnologia a ser desenvolvida, como sites, executáveis, serviços do windows entre outros tipos de projetos.

ASP.NET era praticamente uma evolução do famoso ASP. Então, se você queria criar um site, você criava uma aplicação Web ASP.NET, e a tecnologia usada era o Web Forms, na linguagem VB.NET. Porém rapidamente passei para o C#, graças a Deus.

Web Forms

Se você acha que é só baixar o Visual Studio, criar um projeto e sair fazendo… pare tudo, dá uma olhada nos 50 Erros Comprovados Cometidos por um Programador e muita calma nessa hora.

50 Erros Comprovados Cometidos por um Programador

Falando em Visual Studio, a versão mais popular atualmente é a Community, gratuita para qualquer desenvolvedor.


#Outras tecnologias Microsoft

Quando comecei a escrever esse artigo lembrei que, além do .NET, sabemos que a Microsoft tem muitas outras tecnologias. Aí pesquisei e encontrei esse infográfico no artigo Bird’s -eye view of Microsoft ‘Modern-Trend’ Technologies de Cesar de la Torre.

Bird’s -eye view of Microsoft ‘Modern-Trend’ Technologies


#.NET backend e frontend

Se você quisesse criar um programinha para rodar no Windows, então você criava uma aplicação Desktop e a tecnologia usada era o Windows Forms.

E também, se seu programinha não tivesse nenhuma tela (frontend), você criava uma aplicação commandline. É claro, isso não morreu, ainda existe e é muito utilizado por sinal.

Já fazendo mais uma comparação, a forma de desenvolvimento nessas tecnologias Web Forms e Windows Forms era muito parecida com Visual Basic e Delphi… calma aí, não me xingue ainda!

Falo isso, pois consistia em arrastar os objetos a partir de uma toolbar até uma tela, posicionando visualmente o objeto (por exemplo um campo de texto) e na janela de propriedades desse objeto, mudávamos comportamento, configurações, eventos e pronto!

Windows Forms

Particularmente não sou adepto dessa forma de desenvolvimento, arrastando objetos e mudando propriedades. Sempre gostei de colocar a mão direto no código fonte e foi o Rodrigo Leme, na época do IDG Now!, que me ensinou e sou muito grato por isso.

A plataforma .NET evoluiu em versões com o passar do tempo. A cada versão foram se aprimorando as funcionalidade e principalmente, a linguagem C#, que hoje se tornou muito mais popular e utilizada por muitos na comunidade de desenvolvedores.

Dizem que o C# foi uma cópia e melhoria do Java. Bom, eu já programei algumas coisas em Java e realmente, é um pouco parecido mesmo. Acredito que C# seja muito melhor, principalmente com o Visual Studio.

slideplayer.com/slide/6837602/


#Um caso de sucesso

A Broker Consultoria de TI criou um Framework em C# para que o desenvolvedor pudesse programar de maneira que funcionasse tanto no Windows Forms como Web Forms, e não estou falando apenas de classe de acesso a dados ou classe com regras de negócios, falo de tela, frontend mesmo.

Esse projeto, usado para Mapfre Seguros, foi até tema de palestra na Microsoft, onde fomos convidados a fazer uma demonstração em um dos eventos da Microsoft. O objetivo era reduzir o tempo de desenvolvimento, já que Mapfre Seguros tinha o mesmo software, tanto em desktop como na web.

Nessa época, além de todos os profissionais que participaram desse projeto, destaco alguns como Luiz Alberto Mariano, Julio Cesar Chaves, Alexandre Cancio Domingues, André Teixeira Damasceno e Marcos Porto Renó.


#Generics

O ponto alto do .NET na época foi a versão 2.0, que introduziu uma série de funcionalidades, entre elas o Generics. Atualmente, praticamente tudo tem um pouco de Generics.

O ponto alto do .NET na época foi a versão 2.0

Outras versões chamaram atenção, como a 3.0, onde apresentaram principalmente as tecnologias Windows Communication Foundation WCF, para criação de web services e Windows Presentation Foundation, mais conhecido como WPF, que na época seria uma evolução do Windows Forms, onde era possível criar telas com a linguagem de marcação XAML, muito parecido com XML e HTML.


#Xamarin Forms, o auge do XAML

O uso do XAML (Lê-se zâmel) foi ampliado para outras tecnologias, entre elas o Microsoft Silverlight, que basicamente era um concorrente direto ao Adobe Flash, onde o desenvolvedor criava animações e telas que funcionavam como aplicações Web e Desktop.

Silverlight

Avançando um pouco na história, o auge do XAML com certeza foi na chegada do Xamarin Forms, tecnologia que mais se populariza na comunidade de desenvolvedores. Criar aplicativos mobile usando linguagem de programação C#, e criar telas em XAML que funcionam nas plataformas Android e iOS, não é brincadeira não.

Xamarin Forms


#LINQ

Na versão 3.5, uma grande funcionalidade foi adicionada, o LINQ, que é usado em praticamente qualquer aplicação, para criar queries e collections.

Uma História Nunca Contada Sobre as Versões .NET 1

Voltando para as versões da plataforma .NET, apos a versão 4.0, a Microsoft praticamente estagnou a CLR, chegando a criar versões menores como a 4.7.X.

A Microsoft introduziu as funcionalidades Task com as keywords async/await para trabalhar com solicitações assíncronas sem afetar a thread principal.

Até a finalização deste artigo, a versão .NET Framework é a versão 4.7.2. Resumindo, não houveram mudanças significativas na plataforma e acho que não teremos mais mesmo e já falo porquê.


#O ASP.NET MVC mudou minha vida

Em 2010, após se cansar de trabalhar com Web Forms, Windows Forms, usar o Ajax Control Toolkit, Magic Ajax, Component Art, Telerik e muito Script Manager, algo se engatinhava bem quietinho, o tal do ASP.NET MVC.

Começei a desenvolver uma POC para o Bradesco Seguros em MVC 2 e ficou muito interessante em relação da mudança absurda de mindset entre a separação do frontend (aquilo que roda no navegador) e no backend (aquilo que roda no servidor, C# por exemplo).

Uma História Nunca Contada Sobre as Versões .NET 2

Quando mostrei a tecnologia ASP.NET MVC aos desenvolvedores da empresa, quase fui expulso. Diziam que eu era louco… Houve muita resistência até por parte daqueles que mandavam, dizendo que a curva de aprendizado era muito grande. Foi quando chegou o ASP.NET MVC 3 e as Razor Views! Aí não teve jeito, eu tinha que colocar isso para dentro da empresa.

Razor Views

Nessa época surgiu o projeto da Icatu Seguros e Sura Seguros, então criei toda uma arquitetura e padrões para trabalhar com o ASP.NET MVC e abondonando de uma vez por todas o Web Forms.


#WEB API – Serviços REST

Depois da chegada do MVC e com projetos SPA Single Page Application em alta, comecei a trabalhar com o ASP.NET WEB API para desenvolvimento de serviços REST.

WEB API

Desenvolvemos diversas aplicações WEB API, principalmente para ser utilizada em nossos frontend KnockoutJS, AngularJS e atualmente Angular e VueJs.

Angular

Em meados de 2015, a Microsoft, com a popularização de outros frameworks open source e perdendo mercado para outras tecnologias, principalmente Java e NodeJS, decidiu abrir parte do código fonte da plataforma .NET.

Foi quando começou surgir aquela história de Microsoft Ama Linux.

Microsoft Ama Linux


#O .NET Core

A Microsoft, praticamente em uma jogada de marketing, criou uma nova versão da plataforma .NET, que não é uma sequência da versão do .NET Framework e sim uma nova versão totalmente feita do zero.

ASP.NET CORE 1.0

A essa versão foi chamada de .NET CORE que atualmente, até a criação deste artigo, está na versão 2.2 e é totalmente open source. Se você é um desenvolvedor hardcore, pode ajudar a contribuir nessa versão opensource.

O ASP.NET CORE é outra arquitetura, outra realidade e está se popularizando. Um dos maiores objetivos dessa nova arquitetura era retirar a dependência da biblioteca System.Web e o IIS, de forma que a aplicação rodasse em outros sistemas operacionais como MAC OS e Linux.

#O .NET Standard

E depois dessas versões .NET, .NET Core, Xamarin Forms e outras, criaram o .NET Standard, um conjunto de bibliotecas para compartilhar aquelas funcionalidades que são em comum em qualquer plataforma ou framework.

Uma História Nunca Contada Sobre as Versões .NET 3

E a sopa de letrinhas não para por aí, fala-se em .NET, também fala-se em Docker e outros, mas isso é tema para outro artigo.

Este é um artigo vivo, que será revisitado e complementado a cada lembrança.

Para enfatizar todos as versões .NET e Visual Studio, eu criei um infográfico, que você pode conferir abaixo.

Uma História Nunca Contada Sobre as Versões .NET

Dedico esse artigo a Eduardo Ambrosini, ex-diretor de TI da Novartis Biociências, que em 1999 me contratou como estagiário com objetivo de criar relatórios usando Microsoft Access e dar suporte técnico aos 50 usuários do departamento de RH. Antes de sair da Novartis, Eduardo me disse: “Você desbancou vários outros concorrentes, inclusive alguns, que eram indicações de pessoas de confiança e sabe porquê? Em sua entrevista, eu te perguntei por que você queria trabalhar com a gente e você respondeu: Eu amo informática. Nesse momento pensei, o que vale de experiência, comparada a sinceridade e amor a uma profissão. Então Fabio, a vaga foi sua.”.

Faltou alguma coisa? Encontrou erro?
Comente, critique, compartilhe!

Obrigado e até a próxima!

Eu apoio Fabio Silva Lima

Sobre o Autor:
Trabalha como arquiteto de soluções e desenvolvedor, tem mais de 18 anos de experiência em desenvolvimento de software em diversas plataformas sendo mais de 16 anos somente para o mercado de seguros.
Revisado por:
Profissional de TI, com longa experiência na área, tendo trabalho em grande empresas como Itau, CI&T, Linx. Atualmente é CTO de uma empresa de tecnologia.


Paulistano, 20 anos apaixonado por tecnologia, trabalho com desenvolvimento de software atuando com .NET / Xamarin / AngularJS / ASP.NET CORE / MVC.


Estudante de Desenvolvimento de Jogos Digitais na PUC-SP, Estagiário na Broker, Consultoria e Soluções em TI. Amo trabalhar com informática, tanto no desenvolvimento de Software assim como hardware e montagem de computadores, Modelador Profissional e Game Designer