1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Programa Universal, multi plataformas

Discussão em 'Programação' iniciada por rszeus, 23 de Novembro de 2007. (Respostas: 32; Visualizações: 1903)

  1. rszeus

    rszeus [email protected] Member

    Boas.
    A ideia é fazer um programa que funcione pelo menos em duas plataformas... windows e mac os.

    O programa precisa de ter dados protegidos pelo que em pricipio tudo ficará no programa.
    E precisa de ser acedido/modificar dados nestas duas pataformas.

    Para já tenho duas ideias:
    Utilizar uma distribuição live de um SO, e o problema aqui seria a cada vez que quero iniciar o programa ter de reiniciar o computador aonde o programa vai correr.

    Outra ideia seria fazer um programa para windows e outro para mac os, e o problema aqui seria proteger os dados.

    Ideias novas ou então possiveis soluoes para os meus roblemas seriam bem-vindas,
    Muito obrigado
     
  2. [knap]

    [knap] Power Member

  3. slack_guy

    slack_guy Power Member

    Perl, que por sinal tem ports para mais plataformas que o Java :-)
     
  4. Hipnoted

    Hipnoted Power Member

    Também tens PHP se for orientado a Web...
     
  5. rszeus

    rszeus [email protected] Member

    Esqueci-me de referir que a aplicação é para funcionar sem o utilízador ter de recorrer a outro software.
    Com java existe a probabilidade de o utilizador não ter o java instalado, então à partida o java parece-me fora de questão.
    Só nao estará fora de questao se der para ter o java em conjunto com o programa.
    Obrigado
     
  6. rszeus

    rszeus [email protected] Member

    Perl nao conheço, tenho de investigaq.
    obrigado.
     
  7. HecKel

    HecKel The WORM

    Multi-plataforma e não queres estar dependente de software extra, neste caso framework?

    Então programa em ANSI C, dá o source code e diz ao utilizador para compilar o programa no seu SO. De resto, não tens alternativas.

    Sinceramente recomendava-te a ires para o C#, em windows tens a plataforma .NET, em *NIX tens o mono. Vais estar sempre dependente de uma framework.
     
  8. rszeus

    rszeus [email protected] Member

    Não será orientada para a web. Mas por acaso nao tinha pensado nisso e vou pesquisar.
    A aplicação é para ser portável. Para andar numa PEN.
    Conseguirei ter um servidor web que funcione em windows e mac com php e myspl, e fazê-lo correr a partir da pen?
    Obrigado
     
  9. rj.rodrigues

    rj.rodrigues Power Member

    Na minha humilde opinião, aconselho-te o java, pk n custa nada ao utilizador ter o java instalado, (podes tb fornecer o jre junto com o programa o que não obrigaria o utilizador a ter o java, mas ai teria o teu programa ficava com + espaço). Mas tirando esse inconveniente, só tens vantagens.
    Como é uma linguagem interpretada, que existe para todas a plataformas, o teu programa poderia ser utilizado em qq uma. É mais fácil de programar. Cometes menos erros. Tens melhor documentação e assistência online. O resultado final, por norma, fica melhor.
     
  10. rszeus

    rszeus [email protected] Member

    Agora só na segunda é que poderei pesquisar, daí estas perguntas todas.
    Entao o java pode ir na pen sem ser necessário o utilizador instalá-lo?
    obrigado
     
  11. rj.rodrigues

    rj.rodrigues Power Member

    Sim podes. Copias o jre do teu PC, mas tens k criar um launcher para o programa e configurar o directório do jre nele.
    Para fazer um laucher para o windows podes usar o launch4j. Para linux podes fazer um ficheiro sh
     
  12. rszeus

    rszeus [email protected] Member

    Tinha o java quase de lado pelo facto de se puder dar o caso de o utilizador ñ o ter instalado.
    Assim sendo, vou estudar esta hipotesse e võltar a considerar o java uma opção.
    Mais ideias sao bemvidas
     
  13. slack_guy

    slack_guy Power Member

    Só para tua referência: se usares Perl podes criar um .exe com toda aplicação. O utilizador apenas executa esse ficheiro, sem necessidade de instalar máquinas virtuais e extravagâncias dessas :-) Se não sabes programar Perl, se sabes programar Java e se tens pouco tempo, não vejo muitas opções além do Java.

    Todas? where's the list? :-)

    Tudo é fácil quando se sabe.

    True: como só podes programar da forma que a Sun quer, não te podes enganar muito :-)

    Qualquer linguagem de programação actual disponibiliza 'paletes' disso.

    Eu cá diria essa frase assim: "O resultado final, dizem os marketeers, fica melhor" :-P
     
  14. Lupino

    Lupino I'm cool cuz I Fold

    É natural que o Perl tenha mais ports que o Java.. já que o Java nao tem ports nenhuns!

    No caso do java apenas compilas uma vez o teu programa e ele corre em qualquer sistema operativo que tenha a virtual machine instalada..

    No caso do Perl.. esse .exe que falas nao corre em Linux por exemplo!
     
    Última edição: 24 de Novembro de 2007
  15. slack_guy

    slack_guy Power Member

    Só se não quiseres ;-)
    Código:
    # echo '#!/usr/bin/perl\nprint "Hello World!\\n"' > foo.pl; pp -o foo.exe foo.pl; ./foo.exe; ls -lh
    Hello World!
    total 3,2M
    -rwxr-xr-x 1 root root 3,2M 2007-11-24 21:20 foo.exe
    -rw-r--r-- 1 root root   39 2007-11-24 21:20 foo.pl
    
    Nota 1: O executável (com 3,2Mb) parece grande demais só para dizer 'Hello World'. Mas mesmo assim, compara isso com o tamanho do ficheiro Java para fazer o mesmo :-)

    Nota 2: Desde que o ficheiro seja executável (+x), e se tiver código válido, pode ser executado. A extensão é irrelevante (do ponto de vista operativo, é desnecessária, mas tem utilidade na medida em que auxilia o utilizador a perceber o tipo de ficheiro).

    Nota 3: Eu não estou a dizer que o Perl seja a _melhor_ solução para resolver o problema colocado, nem a sugerir que o Java não o seja. Além da portabilidade, existem muito mais variáveis que devem ser consideradas e que não foram explicitadas. Portanto, na ausência de mais informação, o Perl é tão boa solução quanto o Java ;-)
     
    Última edição: 24 de Novembro de 2007
  16. Lupino

    Lupino I'm cool cuz I Fold

    Atenção que eu também não estou a dizer que neste caso concreto o Java seja a melhor opção... se bem que quando se fala Multiplataforma o Java seja o que me ocorre mais rapidamente..

    Também não quero estar a criar com isto um Java Vs Perl, mas um Hello World em Java ocupa qualquer coisa como 1kb :)

    O que eu quis dizer com o .exe nao correr no Linux, era que a primeira coisa que me ocorreu quando falaste no .exe era de que tinhas criado um executavel para ser corrido em ambiente windows.. e nao linux.. ou seja...
    Com o MESMO .exe podes executa-lo em qualquer sistema operativo sem qualquer tipo de problema ( os tais que mencionaste em cima no post dos ports ) ?
     
  17. slack_guy

    slack_guy Power Member

    Repara: se instalares um dos ports do Perl, não precisas de criar o executável, tens o interpretador - e mais um monte de módulos - disponíveis. Se distribuires o .exe, não precisas de instalar o Perl: as dependências vão 'empacotadas' (se for essa a opção) no próprio ficheiro.

    Honestamente, não te sei dizer se o mesmo .exe funcionará em _todas_ as versões do windows, foi coisa que nunca experimentei e não vi referências sobre isso.
    Quanto ao Mac, não há muito para dizer: é *NIX e vem com o Perl instalado e configurado de 'fábrica'.

    espertalhão :-P E quantos kbs tem a VM?
     
    Última edição: 25 de Novembro de 2007
  18. CrazyBomber

    CrazyBomber Power Member

    Ok, isso assim com perl é a mesma coisa, tens de ter alguma coisa instalada no pc para poderes correr o programa.

    Se queres multi-plataformas vais ter sempre de abdicar de alguma coisa. Tens 2 opções:

    1- Fazes numa linguagem como perl ou java (my choice :D), e os pc's onde a aplicação vai correr necessitam de ter algum componente extra (JVM, no caso do java) para correr o programa.

    2- Fazes numa linguagem como C ou C++, mas depois tens de compilar o código para CADA SO em que é para correr o programa. Na pior das hipóteses, terás também de fazer alterações no código específicas para algum(s) SO's.

    Eu voto em Java :)
     
  19. Datwo

    Datwo I'm cool cuz I Fold

    Python, Perl ou Java.

    Ansi C com bibliotecas POSIX tb é bom, com a desvantagem de teres de compilar um executável para cada SO.
     
  20. zbuh

    zbuh Power Member

    Solução Multi-plataforma

    O que procuras chama-se RealBasic! :001:

    link
     

Partilhar esta Página