Microsoft documenta informações técnicas sobre como portar aplicativos do iPhone OS para o Windows Mobile 6.5
Quem se cadastrou no programa de desenvolvimento da Apple para o iPhone OS sabe que uma das questões feitas por ela é especificar as plataformas com as quais você trabalhou no passado. A empresa do nosso “querido” tio Ballmer, porém, já é mais ousada: em um documento publicado na Microsoft Developer Network, ela descreve o estudo de um caso de desenvolvedor da plataforma móvel da Maçã interessado em portar seu aplicativo para o Windows Mobile.

Imagem: Gizmodo
A análise em questão foi feita para complementar o conhecimento de certos desenvolvedores, interessados em ingressar na loja de aplicativos móveis que a Microsoft vai abrir entre o final do terceiro e o quarto trimestre. Nela, foi utilizado como exemplo o Amplitude, um aplicativo para iPhone capaz de amplificar o áudio ao redor do usuário.
Ao que tudo indica, ele é bem difícil de ser portado, mas é interessante para o caso pois fornece uma carga de aprendizado considerável para futuros projetos (a quem interessar possa :-P). O aparelho usado foi um HTC Touch Pro, com um formato de tela diferente do iPhone (resolução de 460×640 pixels) e hardware diferenciado, então o desenvolvedor que trabalhou no projeto, Luke Thompson, teve um trabalho extra para as coisas se acertarem. Pelo menos ele reconheceu que é mais complicado trabalhar com C# (linguagem usada pelo sistema da Microsoft) do que com Objective-C (usada pela Apple).
Não precisamos analisar toda a documentação da gigante de softwares sobre o assunto para tecer algumas impressões sobre os seus planos. Posso até estar errado, mas, com ou sem um artigo desses para referências, teremos desenvolvedores interessados em portar seus aplicativos para Windows Mobile quando essa nova loja da empresa der as caras para os usuários. Mais interessante ainda será ver como eles tratarão de concluir esse processo mirando gadgets com diversas características, pois uma das razões que tornam o fluxo de desenvolvimento para iPhone OS simples é o fato de que os aparelhos suportados têm características semelhantes — para não dizer iguais, em algumas áreas.
Porém, mesmo com casos de aplicativos que veremos por aí rodando em mais de uma plataforma, o início do Windows Mobile Marketplace não dá sinais de que será espontâneo, assim como não foi o do Android Market — tivemos um concurso de desenvolvedores apoiado pelo Google, que por sinal está rolando também neste ano. A Microsoft oferecerá prêmios para produtos populares ou muito bons, o que ajuda a incentivar o trabalho de desenvolvedores em portar soluções para um novo ambiente, mas também limita as possibilidades de novas criações originais, capazes de nos motivar a comprar um Windows Phone.
Um consolo para isso é saber que aqueles que se sentiram frustados recentemente com a App Store terão a chance de rever títulos que adoravam em seus iPhones (ou não :-P). Enquanto isso, a Microsoft tenta evangelizar investidores dizendo que a experiência de navegação do seu browser móvel supera qualquer outra, todavia, se levarmos em consideração o desempenho da sua versão desktop, esse é um truque em que muita gente deixou de cair há bastante tempo.
[Via: Macworld.]




Microsoft quem diria… "Pegar carona nessa calda de cometa…"
Tal como no Mac OS as apps costumam ter melhor aspecto do que no Windows, no iPhone OS têm melhor aspecto que no Windows Mobile. :D;)
(Sou o André Torga e este é o meu novo nick.)
tbm achei o aspecto no iPhone OS beem melhor.
anh depende, a interface zuneística do winmobile 6.5 é bonita, o que ferra são os programas feitos pra ele.
Se for comparar objective-c com C#, objective-c não é tão mais simples!! Na verdade apesar de amar a Apple, acho que o C# seja mais produtivo. Nem briguem comigo, só opinião.
A curva de aprendizado do objective-c é mais alta.
tb achei isso quando dei uma olhada no objective-c.
o c# é mais fácil.
Pensei a mesma coisa "esse cara tem certeza do que tá falando?".
Trabalho com ObjC, C#, Delphi, GML, VB, e outras linguagens menos conhecidas, e com certeza C# é a melhor delas. Eu detesto a Microsoft, mas sei reconhecer que fizeram algo muito bom ao desenvolver o C#, totalmente bem pensado.
pelas telas do aplicativo, fica claro como a interface do windows é bemmm mais tosca. tudo botões e caixas anos 90.
O que vejo que tornam as coisas bem mais difícies para programar para o Windows Phone em relação ao iPhone é o seu software rodar em telas de N tamanhos diferentes e diversos tipos de hardware, isso força o desenvolvedor a preparar o software para se adaptar em qualquer tipo de tela, dificultando bem mais o seu desenvolvimento, só pra curiosidade, o custo para inscrição do desenvolvedor é de R$ 217,00 anuais, mais R$ 217,00 por software enviado.
Esse esquema por software já foi eliminado, cerca de uma semana depois de anunciarem essa taxa.
A menos que voltaram com isso agora. Mas pelo que tenho acompanhado (estou desenvolvendo) não estão (e nem estarão) cobrando.
Existe a cobrança por software enviado sim Douglas, pelo menos é o que consta no site.
"Há uma taxa de envio de um aplicativo para o processo de certificação?
Sim. A taxa do envio de um aplicativo para certificação é de R$ 217. Isso se aplica a aplicativos pagos e gratuitos. Como uma introdução ao Marketplace, estamos oferecendo uma promoção até o término de 2009, no qual ISVs terão cinco envios de aplicativos gratuitos com o registro inicial. "
Fonte: https://developer.windowsmobile.com/Help.aspx?id=...
Existe a cobrança por software enviado sim Douglas, pelo menos é o que consta no site.
"Há uma taxa de envio de um aplicativo para o processo de certificação?
Sim. A taxa do envio de um aplicativo para certificação é de R$ 217. Isso se aplica a aplicativos pagos e gratuitos. Como uma introdução ao Marketplace, estamos oferecendo uma promoção até o término de 2009, no qual ISVs terão cinco envios de aplicativos gratuitos com o registro inicial. "
Fonte: https://developer.windowsmobile.com/Help.aspx?id=...
Realmente, compatibilidade com tudo que é tamanho de tela é o terror dos desenvolvedores.
@Steve, Eu só concordo com você por ela (C#) ser mais parecida com Java e C, mas didadicamente eu acho objective-c mais simples.
Objective-C é mais legível pra um leigo que C#, já que tem uma escrita mais humana. Além de que o interface builder do Xcode ser mais dinâmico e mais rápido de linkar eventos que C#.
É minha opinião.
Pra quem esta acostumado com C e Java realmente é um tanto complicado a trânsicao. =]
Cara, respeito muito sua opinião. Sério mesmo.
Mas…
O que você chama de "linkar eventos" no C# é muito mais tranquilo no que no ObjC.
Pode ser que eu faço da forma errada, mas vamos lá…
C# pelo VisualStudio:
1 – Colocar o botão na tela.
2 – Dar dois cliques no botão.
3 – Escrever seu código do que faz esse botão.
Observação: Se for uma aplicação Web, você vai ter que gerenciar os disparos para o CodeBehind e coisas do tipo, mas nada muito complexo.
Observação 2: Dinamicamente você assina eventos usando "Botao.Click =+ seuMétodoAqui";
ObjC pelo XCode:
1 – Abrir o .Xib da aplicação pelo Interface Builder, colocar o botão.
2 – Declarar um IBOutlet no código, que irá representar o botão.
3 – Declarar o cabeçalho do método (IBAction) que será executado ao pressionar o botão. (no arquivo .h)
4 – Programar a rotina referente ao método que será executado ao pressionar o botão. (no arquivo .m)
5) Compilar, ir até o Interface Builder, selecionar o botão e arrastar o OnTouchDown (ou semelhante) até a classe controladora, onde você desenvolveu o método.
6) Salvar e compilar novamente, para ter efeito. Pronto.
Observação: Se for para uma outra classe ou controle, você sai na vantagem, porque será o mesmo procedimento.
Observação2: Se for dinamicamente, tem que usar @selector, e tudo mais do tipo.
Entenda, que isso é só um exemplo, podem existir situações que o ObjC seja mais fácil.
Eu concordo que a forma que você chama os métodos no ObjC, com o uso de palavras auxiliares que não interferem no método, seja muito mais legível a um leigo, mas a forma que a Apple utiliza pra isso (vinda do NextStep) não chega nem perto de qualquer padrão adotado para esse tipo de coisa. E se uma pessoa não for capaz de entender um método tradicional de outras linguagens, provavelmente não terá capacidade para usar outros recursos do ObjC, que embora básicos, tem implementação bastante complexa.
Novamente, respeito sua opinião, porém tenho uma diferente, no qual expliquei acima.
Artigo muito bom!
Eu trabalho tanto com Windows Mobile como com iPhone e esse estudo de caso será muito útil pra mim, já que no futuro penso em migar meus produtos de uma plataforma para a outra.
Quanto a discussão sobre as linguagens, eu acho o C# do Windows Mobile mais fácil que o Obj-C, contudo o .Net Compact Framework retirou muitas funcionalidades da plataforma .Net no Windows Mobile, então o desenvolvimento para iPhone passou a ser bem mais fácil, devido a quantidade muito superior de recursos e APIs.