Eu quero criar uma biblioteca de análise SyncML ( sem interface do usuário ) que possa criar mensagens com base nas informações fornecidas pelo aplicativo host, alimentadas pelos métodos da biblioteca. Além disso, a biblioteca deve poder fazer retornos de chamada para métodos no aplicativo host.
Quero poder compilar isso e disponibilizá-lo no maior número possível de plataformas: Windows, SO Windows Phone 7, OSX, iOS, Linux, Android, BlackBerry. Basicamente, tantas plataformas quanto possível.
A prioridade é disponibilizá-lo em dispositivos móveis.
Questões:
- Que configuração devo usar? (linguagens de programação, compiladores, IDE etc.)
- Como eu compilaria essa biblioteca para essas diferentes plataformas e como eu me conectaria a ela?
- Alguma outra informação? por exemplo, artigos que abordam o assunto de desenvolvimento de plataforma cruzada?
Eu não fiz esse tipo de projeto de plataforma cruzada antes, portanto qualquer informação disponível para me colocar na direção certa seria bem-vinda.
Eu mesmo, tenho experiência em C # / .NET e Objective-C.
Você pode experimentar o Java - o Java Runtime Environment (a máquina virtual) é multiplataforma, o Java pode ser usado em dispositivos móveis com Android (ou Java ME) e o .NET é muito parecido com ele.
fonte
Esta não é uma escolha, mas muitas. Embora seja tentador encontrar uma coisa que vá a todos os lugares, nem sempre é a melhor maneira de fazer.
Por exemplo, embora seja possível espremer um código C ++ na plataforma móvel Windows, qualquer coisa que o .NET sempre seja mais fácil aqui do que sua contrapartida do ponto de vista do suporte.
Da mesma forma, é necessário fazer uma escolha importante, quer você queira que seja nativo ou em tempo de execução, e você está estritamente limitado a um poderoso centrado na Web ou mais genérico? Por exemplo, o Adobe Runtime é mais onipresente, mas limitará o que você pode fazer em comparação com as principais linguagens de programação.
O mais importante, eu acho, é o tipo e o nível da GUI que você deseja criar.
Agora vamos às escolhas mais promissoras.
uma. Para Symbian, Blackberry, Android, BREW e Bada (samsung), Java / J2ME é a maneira mais comum. Porém, em muitos casos, você pode ser melhor com o C / C ++, para itens principais nativos em alguma plataforma.
b. Para o Windows .NET com qualquer idioma suportado, seria bom.
c. Para iOS - não há escolha a não ser o objetivo C. Isso não é muito C ++, então não vou contá-lo como objetivo
Aqui está uma referência wiki que mostra o conjunto de todas as plataformas que mostra todas as opções e onde elas se aplicam.
Graças à sua pergunta, aprendi no link wiki acima que agora existem SDKs que tentam resolver o problema acima. Os dois que mais se aproximam são:
Marmalade: http://www.madewithmarmalade.com/marmalade/supported-platforms isto oferece suporte interessante a quase todas as plataformas. O Windows está prestes a ser adicionado para fazer um círculo completo.
Código de partículas: http://www.particlecode.com/
Ainda não os usei, mas soa um trabalho interessante.
fonte
O .NET dificilmente está disponível em muitas plataformas, e o Objective-C é ainda pior, mais o .NET é meio lento e o ObjC basicamente não tem suporte fora da Apple. C como idioma não vale a pena considerar, a menos que algum fator externo faça você usá-lo.
A única linguagem viável para o resultado é o C ++.
fonte