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# :
Tipagem Forte;
Uma biblioteca de classes robusta;
Programação assíncrona fácil de usar com async/await;
Garbage collection e gerenciamento automático da memória;
LINQ – language integrated queries;
Generics – List<T>, Dictionary<T, T>, etc;
Gerenciamento do Empacotamente (Package management);
Compartilhamento de binários em múltiplas plataformas e frameworks;
Facilidade de criar aplicações web com APIs Restful e frameworks do lado do cliente (Angular);
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:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#
Super DVD C# - Recursos de aprendizagens e vídeo aulas para C#
Curso Fundamentos da Programação Orientada a Objetos com VB .NET
C# - Compreendendo as palavras chaves Constantes ... - Macoratti.net
C# - Usando os novos recursos da linguagem na prática - Macoratti.net
C# - A linguagem do futuro ? O Projeto Mono. - Macoratti.net