Para que o C# pode ser usado?
Neste post, veremos um pouco mais para que tipo de projetos o C# pode ser usado e o tipo de código para o qual os recursos específicos da linguagem o tornam mais adequado.
Nas últimas semanas, analisamos em profundidade o C#, incluindo um guia para aqueles que estão começando com a linguagem.
Então, para que o C# pode ser usado? Bem, em suma, quase tudo. É flexível o suficiente para alimentar servidores TCP / IP, o humilde Raspberry Pi e tudo mais.
O C#, é claro, tem pontos fortes específicos. A primeira menção deve ir para o desenvolvimento de aplicativos do Windows. Tal é o suporte para .NET na plataforma Windows que o C# agora é praticamente a primeira escolha de todos os desenvolvedores para criar aplicativos da área de trabalho do Windows.
Windows 8 fez muito para acelerar essa adoção. A grande maioria dos aplicativos de terceiros na Windows Store é escrita em C#. Embora a loja ainda não tenha visto a mesma popularidade ou sucesso que o equivalente móvel iOS da Apple, é sem dúvida o futuro da distribuição de aplicativos do Windows. O C# certamente tem um futuro brilhante no Windows.
O C# também dá suporte à criação de aplicativos Web, normalmente por meio de WebForms e MVC. ASP.NET MVC é uma maneira moderna e poderosa de criar aplicativos com base no padrão de arquitetura model-view-controller. O MVC descreve uma maneira de estruturar um aplicativo. O Modelo lida com dados e lógica, a Exibição se preocupa com a apresentação desses dados ao usuário e o Controlador cuida das entradas do usuário. ASP.NET MVC foi aberto em 2009 e a versão 5.1.2 foi lançada em abril de 2014.
O Microsoft 'All-In-One Code Framework' é outro recurso inestimável para desenvolvedores da Web interessados em explorar o uso de C# para aplicativos da Web.
Quando se trata de dispositivos móveis, o C# está se tornando cada vez mais popular. Xamarin está liderando o caminho nessa área, oferecendo ferramentas multiplataforma para todas as principais plataformas móveis. MonoCross é uma implementação alternativa, embora o projeto tenha ficado um pouco quieto ultimamente.
A O'Reilly, editora de longa data de livros didáticos para desenvolvedores e técnicos, também disponibiliza um recurso útil na forma de 'Desenvolvimento Móvel em C#'.
A Microsoft também está muito atrás do C# em dispositivos móveis. Recentemente, lançou uma atualização para o Visual Studio 2013 que oferece suporte a 'aplicativos universais' - ou seja, aplicativos desenvolvidos lado a lado para a área de trabalho do Windows e dispositivos móveis do Windows.
Nenhuma postagem desse tipo estaria completa sem examinar alguns dos recursos técnicos que tornam o C# útil para projetos de desenvolvimento modernos. Há um grande número de recursos e funções fornecidos pelo C#, mas três que achamos que se destacam são:
- Delegados: um delegado é um ponteiro de função fortemente tipado, representando referências a métodos com uma lista de parâmetros e um tipo de retorno específicos. Os delegados podem representar métodos de instância, bem como métodos estáticos (os pontos de função padrão são limitados a este último). Ao contrário dos ponteiros em linguagens como C++, os delegados são orientados a objetos e seguros. Os delegados são usados para passar métodos como argumentos para outros métodos e, como tal, são ideais para definir métodos de retorno de chamada.
- A palavra-chave Yield– Com o C# 2.0, a Microsoft introduziu a palavra-chave Yield, que permite que qualquer conjunto de dados seja exposto como uma lista enumerável (e iterado com um loop for each). Um dos grandes usos da palavra-chave Yield é que ela elimina a necessidade de uma classe de enumeração explícita.
- Lambdas: a versão 3.0 do .NET Framework introduziu o Lambdas, uma função anônima que pode ser usada para criar delegados ou tipos de árvore de expressão. As funções do Lambda são muito úteis ao escrever expressões de consulta LINQ.
