Suporte ao Visual Studio Code e .Net Core ARM

15

Eu sou novo na plataforma Raspberry Pi e tenho coletado recursos e tentado determinar para que o pequeno computador é (não) adequado.

Entendo que o Python é o ambiente de programação essencial para controle e automação de acessórios e controladores R-Pi; Mal posso esperar para experimentar isso. No entanto, também estou tentando determinar como usar o Pi para algum desenvolvimento de aplicativo da web (teste).

Tenho certeza de que você já ouviu falar da Microsoft disponibilizando sua estrutura .Net Core como código-fonte aberto, bem como seu (realmente ótimo) editor de código, o Visual Studio Code. A partir de agora, os arquivos binários foram liberados apenas para as arquiteturas Linux ia32 / x64 (entre outras).

Alguém viu algum progresso no ramo ARM? Talvez você tenha visto algumas soluções alternativas ou lançamentos não oficiais que valem a pena conferir?

Agradecemos antecipadamente a sua contribuição.

Felicidades!

Michal M. Maslowski
fonte

Respostas:

14

A comunidade está em andamento para tornar o dotnet core trabalhando no ARM. A Samsung ingressou recentemente na fundação dotnet para (principalmente) trabalhar no ARM.

.NET é uma ótima tecnologia que aumenta drasticamente a produtividade do desenvolvedor. A Samsung tem contribuído para o .NET Core no GitHub - especialmente na área de suporte a ARM - e estamos ansiosos para contribuir ainda mais com a comunidade de código-fonte aberto do .NET. A Samsung tem o prazer de se juntar ao Grupo de Direção Técnica da .NET Foundation e ajudar mais desenvolvedores a aproveitar os benefícios do .NET.

- Hong-Seok Kim, vice-presidente da Samsung Electronics

A comunidade está acompanhando o progresso dos testes de regressão em um problema do github: https://github.com/dotnet/coreclr/issues/3977

Para visualizar todos os problemas abertos, pesquise no tagnet ARM do dotnet / coreclr: https://github.com/dotnet/coreclr/labels/ARM

SynerCoder
fonte
4

Atualmente, a classe de idiomas .NET é suportada no Raspberry Pi 2 se você usar o Windows 10 IOT como seu sistema operacional.

A versão IOT do sistema operacional é um pouco diferente do Windows padrão. Ele foi projetado para ser um dispositivo sem cabeça. Como tal, ele não terá uma tela ou uma área de trabalho tradicional.

Se você deseja usar o .NET no Raspbian, pode experimentar um pacote de software chamado Mono. Não é oficial, mas é muito popular para desenvolvedores de C # no Linux.

Jacobm001
fonte
3
1. Microsoft Windows 10 "IoT Core" não é decapitado, mas você só pode executar um (1) aplicativo em tela cheia por vez 2. O Xamarin / Mono está atualmente integrando código da Microsoft, não sei se e como isso é visível em Raspbian
flakeshake
@flakeshake: Meu entendimento é que ele é decapitado e você precisa adicionar a capacidade de exibir um aplicativo por meio de um módulo. Isso está correto?
Jacobm001
Não, na primeira inicialização, a tela já exibirá informações (endereço IP etc.). Os aplicativos da UWP são implicitamente completos.
flakeshake
Obrigado pelas respostas até agora, ótimo! Sim, eu estou familiarizado com a plataforma Windows IOT; Dito isto, eu estava pensando mais em manter o sistema operacional Linux como base e usá-lo como um computador comum. Vou manter suas sugestões em mente, com certeza.
precisa saber é o seguinte
Existe algum progresso nisso? O .NET Core será lançado em alguns dias oficialmente. Deve haver uma maneira de executar aplicativos .NET Core no Raspbian, por exemplo.
SuperJMN
2

O Mono roda bem no raspberry pi, mas saiba que ele sofre de problemas de desempenho ( o que eu uso é o compilador Mono JIT versão 3.2.8 (Debian 3.2.8 + dfsg-10) ).

Eu corro um punhado de aplicativos de console no RBP (escrito em .Net 4.5). Os aplicativos fazem basicamente duas chamadas REST. É um aplicativo de monitoramento e, quando a leitura dos dados é normal, o aplicativo grava no console que tudo está bem e termina. Nenhuma chamada sofisticada e de descanso é feita usando o pacote RestSharp. Aplicações simples de cima para baixo - sem loops, etc.

Meu aplicativo leva cerca de 3 segundos para ser executado no Raspberry Pi. Muito lento quando comparado a outras coisas que meu RBI faz.

Conclusão: sim, o mono funciona, mas aceitaria usá-lo apenas com um grão de sal.

Encontrei este artigo ao pesquisar o desempenho Mono no Raspberry pi.

Sri
fonte
0

O .Net Core ainda é muito novo e carece de muitos recursos.

Mas o Mono é realmente a escolha se você quiser fazer unix, mesmo no ARM, na verdade o Mono está realmente sendo patrocinado pela própria Microsoft, até mesmo a Xamarin, a empresa por trás do Mono que a Microsoft comprou pela Microsoft, e o Mono está no roteiro do .net desenvolvimento pela Microsoft.

Na verdade, ele tem qualidade pronta para produção, eu uso em muitos servidores com linux e no meu rpi 2.

E você pode simplesmente programar o que deseja no Windows com o Visual Studio 2015 Community Edition, compilá-lo e enviar para o seu rpi o programa, ele funcionará (mas cuidado, o Forms tem um suporte muito ruim, se você direcionar os programas de console ou serviço, terá não tem problema, senão você pode criar um projeto GTK muito parecido com formulários, mas usando o MonoDevelop).

Apenas uma observação, ele deve ser um Rpi 2, o mono agora usa hard float e o Rpi1 não o suporta (ou você pode compilar-se no rpi mono e desativar o suporte ao hard float).

Gusman
fonte