Pergunta

Eu estava actualmente a desenvolver uma aplicação desktop em C # usando mono e testando em SuSE e Windows. O conceito não importa muito, mas é um programa "lint web" que irá analisar um site e retornar possíveis problemas com a segurança e / ou compatibilidade cross-browser. No entanto, eu quero ser capaz de oferecer binários para várias plataformas. Devo ficar com o Mono, ou há outra plataforma que me daria uma melhor availablility de plataformas, como em Macs, Windows, Linux, e outros (possivelmente plataformas móveis), e torná-lo mais fácil para a porta?

Foi útil?

Solução

C # e Mono é provavelmente o suficiente cross-platform para a maioria dos ambientes de trabalho. O truque será a exigência de "plataforma móvel".

sistemas operacionais móveis são muito diversificado e não há muita coisa que você pode fazer para generalizar. Alguns têm Java, como o Blackberry. C # você pode obter em plataformas baseados no Windows Mobile. iPhones fazer suas próprias coisas. Você praticamente tem que escolher uma plataforma e direcionar essa. Isso pode acabar informar sua escolha plataforma desktop.

Outras dicas

Bem, sua melhor aposta é sempre usar uma linguagem que realmente existe em todas as plataformas. Isso normalmente significa Java, eu acho, embora mesmo perl tem sabores para plataformas móveis (dependendo da plataforma móvel em questão).

Eu faço a maioria do meu trabalho multi-plataforma em C e Perl, mas há algumas dores de cabeça com C (lotes de # ifdef de) e perl pode não ser em uma plataforma móvel você se preocupa com (ainda). Você terá que avaliar as línguas / compiladores / intérpretes que são comuns a todas as plataformas que quer alvo e, em seguida, escolher a partir dessa lista. Sem conhecer a lista completa de tais plataformas, nós vamos ter um tempo difícil dizer o que usar, embora Java tem o suficiente buzz verbalidade para provavelmente ser um forte candidato.

Iff você sabe C ++, Qt irá abranger várias plataformas.

Apenas vara para o Mono, certifique-se de que você tem Gendarme inspetor de código (FxCop para Mono) verificar o seu código para problemas de portabilidade, e você deve ser fino.

Java será executado em Windows, Linux e Macs. Deve ser fácil de transição de C # - uso Apache HTTPClient para pegar o conteúdo web que está a digitalizar, eo código de varredura deve ser mais ou menos o mesmo. No entanto, a desvantagem é que requer que o usuário tenha o tempo de execução Java instalado.

Python é outra opção - você pode construir executáveis ??stand-alone para Windows, e vem com a maioria das distribuições Linux, por padrão, e também Mac OS X (carece de fontes?;)). Isto é muito menos incómodo para os utilizadores do Windows (linguagem é compilado para o executável, há outros downloads necessário).

Se mono roda em Mac OS X, então certamente que é uma plataforma de bom assim?

É realmente depende do que você quer fazer. Para o desenvolvimento web, se HTML / JavaScript é suficiente, em seguida, ficar com ela. Se você precisar de material mais avançado que eu usaria ASP.NET com Mono (o que você provavelmente fez) desde que você já sabe disso. (Você pode usar Visual Studio aqui.)

Outra opção poderia ser (uma vez que você é um desenvolvedor C #) para usar o Silverlight. Isso dá-lhe plataformas Windows e Mac coberto e espero luar cobrirá plataforma Linxu mais tarde. (Você pode usar o Visual Studio e Expression Blend aqui.)

Se precisar de aplicação desktop, em seguida, Java é provavelmente o mais fácil desde que você já sabe C #. Mas se você sabe C / C ++ tentar dar uma olhada wxWidgets por exemplo.

Por que limitar-se ao tradicional C # / Java? Dê uma olhada no Adobe AIR e Microsoft Silverlight

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top