C# - Porque apostar no C# e o .NET Core (ASP .NET Core, Xamarin) ?


  Porque a linguagem C# e o .NET Core devem ser consideradas uma boa opção para o desenvolvimento de software para o futuro ?

Vou começar exibindo o ranking de popularidade das linguagens para mês de outubro/2017 obtido do TIOBE programming index :

Vamos a algumas considerações:

- A linguagem C# esta entre as 5 linguagens mais usadas e mais populares;
- A .NET Core é uma plataforma open-source que vem sem popularizando e com isso alavancando o uso do C#;
- Aplicações ASP .NET Core, que rodam no .NET Core e que usam C#, estão sendo usadas cada vez mais em produção;

E quais seriam os motivos porque você deveria apostar no C# e na plataforma  .NET ?

1-  C# é uma linguagem fácil de aprender

Se você já programou alguma vez em C, Java ou mesmo JavaScript vai perceber que a sintaxe da linguagem C# será bem familiar para você.

A linguagem C# possui uma sintaxe simples de entender e de ler. Além disso existe uma comunidade muito grande na internet em Fóruns e Blogs que tratam da linguagem C#.

Existem também muitos recursos on-line para ajudá-lo a aprender C#. Muitos são gratuitos e alguns também são de baixo custo.

- Udemy - Cursos de baixo custo com bom contéudo sobe a C# e plataformas que usam C# como Xamarin Forms, ASP .NET Core, etc;
- Pluralsight - Plataforma de aprendizagem com subscrição de baixo custo para um excelente conteúdo educacional
- Microsoft Virtual Academy - Vídeos e avaliações gratuitas
- Microsoft Getting Started with C# - Tutoriais interativos gratuitos
- Curso de C# Grátis - Um Curso gratuito para iniciantes;
- Curso C# Vídeo Aulas - Meu curso de C# em Vídeo Aulas;

2-  C# é uma linguagem Moderna com ótimos recursos


Já faz 15 anos que a linguagem C# foi lançada e durante todo esse tempo ela têm evoluído de forma constante e agregado diversos recursos e melhorias como Generics, LINQ, asycn/await, MVC, etc.  Com o advento do .NET Core, como uma plataforma open-source, que inclui o C# e a ASP .NET Core, agora os desenvolvedores poderão trabalhar e desenvolver para Windows , Mac e Linux.

Além disso o Xamarin abriu as portas do desenvolvimento para o mundo mobile tanto no Android, no iOS e no Windows Phone e ele usa a linguagem C#.

A seguir temos alguns dos recursos mais importantes do C# :

3- Versatilidade: Web, Mobile, Servidor, Desktop, Client

Um dos grandes trunfos da linguagem C# e do .NET Core é a sua versatilidade.

Com ela você pode escrever e criar aplicações desktop, web, serviços backend, aplicações mobiles multiplataformas (nativa) sem precisar conhecer muito de outros recursos a não ser um pouco de JavaScript e TypeScript.

As aplicações web criadas com ASP .NET Core, que também é open-source, e C# usam o BootStrap e se integram facilmente a bilbiotecas do lado do cliente como Angular, React e Vue.

Essa versatilidade é um grande negócio porque o seu investimento na aprendizagem da linguagem pode ser usado para uma grande variedade de coisas. Seu conjunto de habilidades é altamente portátil. Você também pode pular da construção de aplicativos web para aplicativos móveis se quiser misturar o que está fazendo. Esta é uma grande diferença para a maioria das outras linguagens de programação que funcionam apenas no lado do servidor.

E não vamos esquecer o suporte do Microsoft Azure. Nunca foi tão fácil começar a criar e por para funcionar aplicações na nuvem com apenas alguns cliques. O contêiner Docker também é suportado, o que facilita a implantação de seu aplicativo no AWS ou em outros provedores de hospedagem também.

4-  Padronização de habilidades

A  plataforma .NET vem com um conjunto muito bom de bibliotecas de classe base, e essa ampla gama de classes da base diminui consideravelmente a necessidade de pacotes externos. A Microsoft também se apoia em alguns projetos comunitários, como JSON.NET, para ter bibliotecas chave amplamente utilizadas na maioria dos projetos.

A Microsoft fornece um conjunto muito bom de padrões e práticas para o .NET. Por exemplo, existem frameworks de acesso a dados padrão como o Entity Framework e o modelo-view-controller (MVC) incorporados.

A maioria dos desenvolvedores usa essas estruturas padrão e, isso facilita a movimentação entre equipes. Dessa forma seu conhecimento e habilidades tornam-se mais portáteis e fácies de usar em equipes multidisciplinares.

5-  .NET Core, ASP .NET Core e Xamarin são open-source

Quem imaginaria o cenário atual da Microsoft a uns 20 anos atrás ?

Uma das maiores mudanças que já aconteceu com a plataforma .NET foi a abertura de código em diversos aspectos.

Praticamente todo o código agora está no GitHub para qualquer um avaliar e contribuir. Esta é uma grande mudança que a maioria das pessoas na indústria nunca pensou que acontecesse.

Como desenvolvedor, de vez em quando você precisa olhar o código para ver o que seu código realmente está fazendo e isso ajuda muito em uma situação mais crítica, pois se você pode acessar o código fonte de alguma forma, você pode verificar rapidamente certos tipos de problemas para tentar entendê-los.

Mesmo que você não contribua com o código fonte, você se beneficia da enorme comunidade que faz isso. Problemas e melhorias são rapidamente discutidos, codificados e divulgados para que você use em uma base regular.

É passado os longos períodos que tinhamos que aguardar pela atualização, incorporação de melhorias e correção de bugs.

Agora como desenvolvedor .NET você tem um amplo espectro de opções desenvolvimento que inclui o Windows, o Mac e o Linux

Conclusão

Com C# e a plataforma .NET você tem a disposição ferramentas que podem ser usadas para uma ampla gama de atividades e objetivos.

O problema com muitas das linguagens de programação existentes é que elas são boas em um caso de uso. Ruby e PHP são incríveis para aplicações web. Swift ou Objective C são excelentes para criar aplicações iOS ou MacOS; se você quiser escrever um serviço em segundo plano, você poderia usar Python, Java ou outras linguagens.

Neste cenário seria mais difícil para você aplicar as suas habilidades para um amplo conjunto de problemas se você tiver que aprender muitas linguagens de programação; isso limita suas oportunidades de trabalho e toma muito do seu tempo.

Com C# você possui uma grande versatilidade que pode ser  usada para uma grande variedade de aplicações, ambientes, plataformas e frameworks.

Se você levar em conta o .NET Core trabalhando com MacOS e Linux e o Xamarin criando aplicações nativas multiplataformas, praticamente não existe limite para o que você pode fazer com C#.

Tudo isso na minha humilde opinião, 'with a little help from my friends...'

Disseram-lhe, pois: Onde está teu Pai? Jesus respondeu: Não me conheceis a mim, nem a meu Pai; se vós me conhecêsseis a mim, também conheceríeis a meu Pai.
João 8:19

Veja os Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) : clique e confira !

Quer migrar para o VB .NET ?

Quer aprender C# ??

Quer aprender os conceitos da Programação Orientada a objetos ?

Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ?

Referências:


José Carlos Macoratti