OFF TOPIC - INFORMATIVO DELPHI
Ontem fiquei sabendo de um amigo que trabalha a anos com DELPHI e tem um ERP, que após a quase morte dessa ferramenta, foi lançado recentemente um novo recurso que permite programar uma mesma IDE (semelhante VS), mas uma única linguagem o DELPHI e compilar para qualquer plataforma o mesmo programa, seja Windows, Web, Androide ou IOS, não sei se há outras.
Agora me pergunta, será que fiz a escolha certa de mudar de VB6 para C#?
é sabido que a Microsoft não tem nenhum interesse em criar frameworks para outros sistemas operacionais, como Linux, Androide, IOS, etc... então ficamos presos a Windows. Porém o mercado está se diversificando muito, principalmente com os hardwares móvies (celulares, tablets, etc...) o que está popularizando muito o ANDROIDE que já está com versão para Windows.
Até a Apple está ficando mais acessÃvel, com o IPAD sendo um tablet muito vendido, e notebooks também conseguindo boa fatia no mercado.
Fiquei muito curioso com a [Ô]Tal flexibilidade[Ô] de programação do Delphi, onde se faz um único código que poderá ser compilado para qualquer plataforma desejada com um simples click. Além disso para dispositivos móveis, há um visualizador em tempo real para ver o layout e funcionalidade do código em qualquer dispositivo, com a reprodução de dimensões, etc...
Isso parece incrÃvel.
ALGUÈM sabe se algo semelhante existe nas versões mais recentes do VS 2012 ou 2013?
Será que algo assim vai chegar ao VS ou a Microsoft nunca iria unir a programação de uma única linguagem para outras plataformas ou dispositivos diferentes, pois pelo que sei há programas especÃficos para cada dispositivo, ex asp para web, CE para telefones, etc...
http://www.techtudo.com.br/tudo-sobre/s/visual-studio.html
Isso está disponÃvel apenas para o VS 2013 que roda apenas em Windows 8.1..
Espero ter respondido sua pergunta! :D
Só que tem que ver que todos estes dão suporte nativo para o desenvolvimento na plataforma dele.
Se você usa o Xararin.Android você desenvolve apenas para Android, o Xamarin.Mac desenvolve apenas para Mac e assim por diante, pois em vez de tentar fazer algo genérico eles quiseram dar o máximo de recursos possÃveis da plataforma de forma a ser possÃvel criar programas realmente nativos para a plataforma, quase sem limitações quando comparado a linguagens oficiais usadas na plataforma.
Então o desenvolvimento multi-plataforma fica a cargo do desenvolvedor saber separar o que é especÃfico de cada plataforma para poder reutilizar o máximo de código possÃvel em todas.
No caso do Mono para o Linux ainda é até possÃvel ter um mesmo programa que rode no Windows e no Linux, mas provavelmente vai precisar ser usado alguma outra biblioteca para criar a interface, como por exemplo o GTK#, pois a implementação do Windows Forms para o Linux até onde me lembre não era boa o suficiente para ser usada.
Eu atualmente utilizo o Xamarin.Android, tenho um programa que possui versão Android e Windows, e eu estou trabalhando agora em atualizar a versão Windows para usar o mesmo código da versão Android, e da forma que fiz geralmente quando tenho algum bug para corrigir preciso fazer isso apenas em um lugar e a correção já vai para o Windows e para o Android, só mesmo quando tem alterações nas telas é que preciso fazer nos dois separadamente, já que a tela é feita de forma diferente para cada plataforma.
Foi considerado também a criação de uma versão para iOS do meu programa, mas a ideia foi abandonada pois iOS não permite conectar a dispositivos bluetooth não homologados pela Apple, que é um requerimento básico do meu programa, e no futuro talvez tenhamos uma versão para Windows Phone e interface moderna do Windows 8, onde eu provavelmente só vou precisar fazer as telas e isso se não der para aproveitar bem as que já tenho do Windows já que eu já uso WPF para elas.
Citação::
Existem frameworks para o Linux também, o mais famoso é o Mono, o qual inclusive é a base de todos os produtos da Xamarin
Só que tem que ver que todos estes dão suporte nativo para o desenvolvimento na plataforma dele.
Se você usa o Xararin.Android você desenvolve apenas para Android, o Xamarin.Mac desenvolve apenas para Mac e assim por diante, pois em vez de tentar fazer algo genérico eles quiseram dar o máximo de recursos possÃveis da plataforma de forma a ser possÃvel criar programas realmente nativos para a plataforma, quase sem limitações quando comparado a linguagens oficiais usadas na plataforma.
Então o desenvolvimento multi-plataforma fica a cargo do desenvolvedor saber separar o que é especÃfico de cada plataforma para poder reutilizar o máximo de código possÃvel em todas.
No caso do Mono para o Linux ainda é até possÃvel ter um mesmo programa que rode no Windows e no Linux, mas provavelmente vai precisar ser usado alguma outra biblioteca para criar a interface, como por exemplo o GTK#, pois a implementação do Windows Forms para o Linux até onde me lembre não era boa o suficiente para ser usada.
Eu atualmente utilizo o Xamarin.Android, tenho um programa que possui versão Android e Windows, e eu estou trabalhando agora em atualizar a versão Windows para usar o mesmo código da versão Android, e da forma que fiz geralmente quando tenho algum bug para corrigir preciso fazer isso apenas em um lugar e a correção já vai para o Windows e para o Android, só mesmo quando tem alterações nas telas é que preciso fazer nos dois separadamente, já que a tela é feita de forma diferente para cada plataforma.
Foi considerado também a criação de uma versão para iOS do meu programa, mas a ideia foi abandonada pois iOS não permite conectar a dispositivos bluetooth não homologados pela Apple, que é um requerimento básico do meu programa, e no futuro talvez tenhamos uma versão para Windows Phone e interface moderna do Windows 8, onde eu provavelmente só vou precisar fazer as telas e isso se não der para aproveitar bem as que já tenho do Windows já que eu já uso WPF para elas.
Bem falado, mas hoje eu vejo que as aplicações tendem a ser mais para parte web, pois desta forma atingirÃamos todas as plataformas com apenas um projeto... Para meus alunos de faculdade eu aconselho a eles darem uma boa estudada na área web pois a desktop está decaindo cada vez mais... O exemplo disso é o próprio visual studio 2013 ter a vantagem de rodar na web sem a necessidade de ser instalada. Acredito que o principal problema de os app web não terem passados os desktop é a infra-estrutura de redes do Brasil que sinceramente é decepcionante.
No meu caso por exemplo não tem como, pois preciso usar bluetooth. Existem casos que se precisa acessar certos hardwares ou mesmo ter acesso ao sistema de arquivos local do PC que impossibilitam de se ter um sistema web, e quando se tem um sistema web ele não precisa necessariamente ser hospedado em um provedor, ele pode ser hospedado internamente dentro da empresa se ele for usado apenas lá dentro.
Agora isso que você disse do VS.Net 2013 rodar direto da Web eu não vi nada falando, até porque você pode instalar ele no PC, então se você tiver um link sobre rodar ele direto da Web que puder passar pra gente isso parece ser algo bem interessante
Isso já ocorre com MS Officer, Visual Studio e outros softwares.
Apesar da tendência da Web ser real e irreversÃvel, no Brasil não vejo isso como algo que ocorrerá nos próximos anos, mas sim em 10 ou 20 anos talvez. Aqui a internet, redes telefona, e tudo é feito nas [Ô]coxas[Ô] sem responsabilidade, comprometimente e seriedade, veja os programas de telefonia móvel e fixa, G4 etc... uma palhaçada.
Então ficar dependente da Web para certas corporações é altamente delicado. Fiz uma pesquisa ano passado, para saber de meus clientes (empresas de médio e grande porte), quais desejavam que meu sistema passasse para web. 85% disseram que não usariam a versão Web, se deixasse de ser desktop trocariam de software.
Para mim foi uma surpresa, além de um alÃvio kkkk, por isso a nova versão (migração do VB6 para Dot.Net) também é desktop. Apesar de futuramente pensar em criar a interfece Web, pois seriam basicamente as telas acredito eu e conexões, pois as BLL e DAL já estariam prontas e se manteriam.
O ponto forte disso é realmente não instalar nada, não ter plataforma dependente, só um navegador qualquer, isso é fantástico, os pontos negativos, são segurança e acesso instável ou muito lento a Web, pois há muitos lugares sem internet decente, celular [Ô]vagalume[Ô] entre outros problemas sérios.
Concordo com você... Hoje graças as três camadas os sistemas podem ser web e desktop.
Ocelot:
Infelizmente não tenho nenhum link no momento, até porque a ferramenta é nova, mas no technet tem uma reportagem falando do Xamarin que vai vir integrado e da interface web para facilitar correções remotamente.
Claro que, cada caso tem suas particularidades que definem a melhor escolha.
Citação:é sabido que a Microsoft não tem nenhum interesse em criar frameworks para outros sistemas operacionais, como Linux, Androide, IOS, etc... então ficamos presos a Windows. Porém o mercado está se diversificando muito, principalmente com os hardwares móvies (celulares, tablets, etc...) o que está popularizando muito o ANDROIDE que já está com versão para Windows.
Na verdade essa afirmação é bem equivocada !
Procure referências sobre o mono e você vai descobrir que tem C# em muito mais dispositivos do que você pensa. Eu sou programador de jogos em C# e tenho a felicidade (e a facilidade) de com um clique compilar meus jogos para IOS/WEB/WINDOWS/LINUX tudo isso graçãs ao MONO (que já tem um Visual Studio embutido e é de graça)
Lendo agora vejo que o projeto está apoiado pela Novel, porém a versão free estável não possui muitos detalhes, sobre compatibilidade etc...
Não entendi direito como funciona isso, pois tem a versão IDE do Mono, mas para quem tem um projeto C# 2008 já em desenvolvimento (framework 3.5) seria compatÃvel 100%?
O que informaram é que o VS 2013 vem com o XAMARIN para compilar para outros SO, numa parceria com a Novel. Não sei exatamente quais as compatibilidades e para quais SO já estão embutidos, mas no site do projeto Mono tem as versões do Xamarin para comercializar para MAC e ANDROID apenas.
Apesar de confuso, não sei ao certo que problemas, integrações e incompatibilidades isso irá gerar, pois desenvolver no Windows para testar nos outros SO acaba sendo bem complicado.
O Mono pelo que entendi programa em Windows ou outro SO para compilar para ele. No Windows parece que se pode compilar para Linux, mas para os outros SO, tem de comprar o XAMARIN?
A compilação funciona de que maneira, ao usar o Builder você seleciona qual plataforma irá gerar é isso, ou tem de fazer via linha de comando ou algo assim?
Se alguém que já usa puder ser mais objetivo e até passar um passo a passo de como implementar essa ferramenta agradeço, informando qual versão baixar, como configurar etc...