gildot

Topo
Sobre
FAQ
Tópicos
Autores
Preferências
Artigos
Sondagens
Propor artigo


8/3
gildicas
9/30
jobs
10/9
perguntas
10/25
press

 
Desenvolvimento de software em Windows
Contribuído por chbm em 31-08-02 23:42
do departamento cygwin
Microsoft gjm escreve "Como muitos de vós sabem, quando conseguimos um projecto de desenvolvimento de software aplicacional este é quase sempre (e por exigência da empresa contratadora) em ambiente Windows.
Ora acontece que, na grande maioria das vezes, não é feita qualquer exigência relativamente às ferramentas. O único requisito é mesmo o SO.
Gostaria de saber qual ou quais são, na opinião dos utilizadores do Gildot, as ferramentas (open-source, claro!) disponíveis a quem queira desenvolver software (open-source ou não) em Windows, sem estar dependente dos MS Visual {insira a sua linguagem preferida aqui}. "

Project Wars, ou como nao matar um projecto de TI. | Roubaram-nos a todos... novamente  >

 

gildot Login
Login:

Password:

Referências
  • Mais acerca Microsoft
  • Também por chbm
  • Perguntas
  • Como se pode ter o seu próprio host ?
  • Linux preparado para 'enterprise'?
  • Produtividade: linha de comando vs IDE
  • Sistemas operativos: O que são?
  • linux distribuído nas revistas, sim ou não ?
  • Pergunte ao Gildot: qual o melhor codificador de mp3?
  • staroffice
  • Esta discussão foi arquivada. Não se pode acrescentar nenhum comentário.
    Isto tudo (Pontos:2, Informativo)
    por Cirruz em 01-09-02 0:18 GMT (#1)
    (Utilizador Info)
    Java + VIM + Ant + WinCVS + Apache + Tomcat + Xerces + etc...
    Alternativas não faltam (mas proprietárias) (Pontos:2)
    por Astrónomo em 01-09-02 1:11 GMT (#3)
    (Utilizador Info)
    Se quisesses desenvolver aplicações em modo texto, ainda haveria alguns soluções open source. Porém, se pretendes desenvolver aplicações stand-alone com interface gráfico, não há fuga possível: as melhores ferramentas são proprietárias. É claro que isso não significa que é indiferente a ferramenta ser Microsoft ou de outra empresa. Faz diferença, e muito!

    Java é a melhor linguagem generalista da actualidade e é a linguagem de eleição para desenvolvimento de software empresarial. Com a vantagem, sempre interessante (numa perspectiva de futuras transições para Linux) de ser multi-so. Como ambientes de desenvolvimento tens o Borland JBuilder, o Sun ONE Studio ou o IBM Visual Age For Java. Todos contam com versões básicas que são gratuitas (embora para o teu caso, talvez precises mais do que estas versões oferecem).

    Delphi é um ambiente de desenvolvimento muito rápido (tão rápido quando VB) e as aplicações resultantes tem um desempenho óptimo. Permite programação totalmente orientada a objectos, e podes contar com milhares de componentes já feitos por uma vasta comunidade de utilizadores.

    Para C++, contrariamente à mitologia popular, o melhor ambiente de desenvolvimento não é o VC++, mas sim o Borland C++ Builder.

    E há muitos mais. As alternativas à Microsoft não faltam, se bem que em Portugal, às vezes, fiquemos com uma impressão contrária...

    ----
    aqui porque não deves utilizar IE, Outlook, Windows Media e Messenger.

    Re:Alternativas não faltam (mas proprietárias) (Pontos:2)
    por jneves em 01-09-02 9:31 GMT (#5)
    (Utilizador Info) http://silvaneves.org/
    Desculpa, mas estás enganado. Se não houver a alternativa de fazer uma aplicação web, kits como o wxWindows ou, para jogos, SDL dão-te tudo o que precisas para fazer programas que correm não só em windows mas em múltiplas plataformas.
    Re:Alternativas não faltam (mas proprietárias) (Pontos:2)
    por Astrónomo em 01-09-02 13:01 GMT (#8)
    (Utilizador Info)
    O wxWindows é interessante mas não é uma ferramenta RAD, como as que mostrei. Além disso, apenas utiliza C++, que é uma opção discutível como linguagem para aplicações empresariais.

    ----
    aqui porque não deves utilizar IE, Outlook, Windows Media e Messenger.

    Re:Alternativas não faltam (mas proprietárias) (Pontos:1)
    por Vx em 02-09-02 8:43 GMT (#12)
    (Utilizador Info)
    Errado. Os projectos sérios sao desenvolvidos em qualquer linguagem. Desde que as pessoas saibam o que estão a fazer até pode ter coisas em VB. Java, PERL e PHP são sobejamente utilizados. E até ASP (antigo, nao o dot net) fazem coisas muito boas. Vejam o caso do home banking do BPI. Quando se sabe e ha dinheiro para investir, as coisas saem decentes. Se bem que prefiro PERL e mod_perl e mason, mas pronto.. são opções.
    Vx
    ----------------------------------------
    Accept that some days you are the pigeon and some days the statue.
    ------------------------------
    Re:Alternativas não faltam (mas proprietárias) (Pontos:0, Interessante)
    por Anonimo Cobarde em 02-09-02 9:23 GMT (#13)
    Estás a confundir dois mercados muito diferentes:
    1. Aplicações baseadas em serviços web
    2. Aquilo que designarei, à falta de melhor, aplicações PC tradicionais, ou seja, correndo sobre o SO, para executar tarefas específicas, desde processamento de texto até pings, clientes de IRC, supervisão de redes de PLC, aquisição de dados, controladores de eixos, whatever.
    Os ambientes de desenvolvimento que descreves, ASP, PHP, etc só se aplicam a cosias do tipo 1. Para o resto, em Windows, só há básicamente três ou quatro alternativas:
    1. C++
    2. VisualBasic
    3. Delphi
    4. Java
    5. LabView ou LabWindows
    Vou tentar explicar isto de forma sintética:

    O LabView e o LabWindows são ferramentas de nicho e não vêm muito a propósito.
    O Java não é opção em muitos tipos de problemas, nomeadamente pelos recursos da máquina que "come".
    O Delphi é um bom RAD, mas não é adequado a muitos problemas. O código é de manutenção problemática por falta de generalização, ou seja encontrar pessoas qualificadas em Delphi não é fácil.
    O VisualBasic (pelo menos antes do .net, o .net não conheço) é uma treta. Pesado, ineficiente, pouco flexível para todos os problemas que saiam fora do "típico" da ferramenta -- e isso dá pano para mangas. Também tem propensão a gerar código com bugs atrás de bugs. Problemas em run-time é mato. A ferramenta preferida dos chicos-espertos.

    Finalmente, C++. C++ é a única linguagem de uso geral, capaz de resolver todos os tipos de problemas e criar código flexível e bug-free. No mercado há frameworks e bibliotecas adaptadas para quase tudo e podem-se criar de base componentes para o resto. Oferece controlo quase total sobre o código, ao contrário dos RADs (VB, Delphi, LV, LW). São as razões principais que a levam a ser a linguagem em que todos os projectos "a sério" neste tipo de aplicações, a nível mundial, são programados. O resto, reitero, é lixo.

    Em Portugal as empresas gostam muito de VB por causa do "chico-espertismo". Também por isso depois os produtos são tão maus.

    Re:Alternativas não faltam (mas proprietárias) (Pontos:1)
    por ^S^ em 02-09-02 10:56 GMT (#15)
    (Utilizador Info) http://www.zbit.pt/~luis
    O maior chico-espertinho aqui ainda me parecem ser os anónimos cobardes que não fazem a mínima ideia o que é Delphi/Kylix.
    Devias ler umas coisitas sobre o assunto, sim.
    Deixo-te com a pergunta: Delphi/Kylix como RAD não oferece controlo total sobre o código?
    ^S^
    Re:Alternativas não faltam (mas proprietárias) (Pontos:2)
    por raxx7 em 02-09-02 14:17 GMT (#17)
    (Utilizador Info) http://raxx7.no.sapo.pt/
    1º, Delphi/Kylyx são plataformas de RAD, não linguagens. A linguagem em questão chama-se Object Pascal. Embora o Kylix3 suporte C++ também.
    Quanto à questão do controlo sobre o código, o único código cujo controlo o Delphi/Kylix te retira é o código responsável por construir o GUI. E até esse pode controlar se realmente quiseres, sem ter de abdicar do uso do CLX.

    2º, em C++ também não existe uma forma standard de aceder aos endereços de I/O tal como não existe em Object Pascal -- embora tenha existido em Turbo Pascal -- sem ser em inline assembly.
    E C++ não oferece a possibilidade de incluir código em assembly. Alguns compiladores (como o GCC por exemplo) oferecem essa possibilidade como extensão própria à linguagem. E o inline assembly de Object Pascal é bastante prático de usar, principalmente se for para fazer algo como ler/escrever nos endereços de I/O na minha opinião.
    Mas isso é pouco relevante porque os tempos do DOS em que era comum as aplicações lerem no espaço de I/O directamente e terem ISRs já lá vai. Actualmente usam-se drivers e as apliações não têm de lidar directamente com isso. E o Delphi/Kylix foram concebidos para desenvolver aplicações!

    Remember to be the Killer, not the Victim! (Nuklear Girl)

    Re:Alternativas não faltam (mas proprietárias) (Pontos:1)
    por ^S^ em 02-09-02 16:31 GMT (#20)
    (Utilizador Info) http://www.zbit.pt/~luis
    Outra vantagem é em C++ poderes derivar classes a partir das classes dos objectos GUI da framework que usares (whatever that is, desde MFC a wxWindows) e personalizar o comportamento desses objectos. Não sei se podes fazer isso em Delphi.


    R: Perfeitamente. E já não é de agora.
    ^S^
    Re:Alternativas não faltam (mas proprietárias) (Pontos:2)
    por raxx7 em 02-09-02 18:21 GMT (#21)
    (Utilizador Info) http://raxx7.no.sapo.pt/
    Não gosto de canivestes suiços. Tentei desapertar um parafuso com um e ele torceu-se.
    E em que situação é que podes fazer um driver em C++ e não podes fazê-lo em Object Pascal?
    Em Object Pascal também podes derivar classes. Para mal dos meus pecados, o modelo de objectos é quase igual ao de C++.
    O inline assembly, tal como outras extensões, varia de compilador para compilador. Por exemplo, o do GCC é algo que nunca consegui digerir.

    Remember to be the Killer, not the Victim! (Nuklear Girl)
    Re:Alternativas não faltam (mas proprietárias) (Pontos:2)
    por raxx7 em 03-09-02 12:43 GMT (#25)
    (Utilizador Info) http://raxx7.no.sapo.pt/
    Sim, isso não discuto.

    Remember to be the Killer, not the Victim! (Nuklear Girl)
    Re:Alternativas não faltam (mas proprietárias) (Pontos:2)
    por Astrónomo em 02-09-02 15:42 GMT (#19)
    (Utilizador Info)
    "Código bug-free" e C++ é uma combinação muito difícil de alcançar. Com efeito, se há linguagem que mais propicie a criação de software com bugs é o C/C++. É esse um dos problemas que o Java vem minimizar.

    ----
    aqui porque não deves utilizar IE, Outlook, Windows Media e Messenger.

    Re:Alternativas não faltam (mas proprietárias) (Pontos:1)
    por ^S^ em 01-09-02 10:57 GMT (#7)
    (Utilizador Info) http://www.zbit.pt/~luis
    Borland

    Windows: Delphi 7
    Linux: Kylix 3.0

    Windows: C++ Builder 6
    Linux: Kylix 3

    Tal como referido anteriormente, são rápidos como os Visual {qq coisa} e a linguagem em si, seja OP ou C/C++, são tão capazes como as demais.

    Claro que isto de ser Cross-Platform, fica-se por Windows e Linux, é pena, mas não é tão "bloated" como Java.

    Cheers.

    ^S^
    PHP, claro! (Pontos:4, Informativo)
    por mlemos em 01-09-02 4:17 GMT (#4)
    (Utilizador Info) http://www.ManuelLemos.net/
    Se perguntas que ferramentas, é porque tens opção de escolher, o que não me parece ser uma coisa muito comum. Porém, se realmente tens opção de escolher, recomendo que uses PHP.

    Quem não estiver bem informado, ainda pode pensar que PHP é apenas uma linguagem para aplicações Web baseadas em Linux/Unix. Isso não é verdade.

    De qualquer forma, se puderes recomendo que se for viável, baseies ao máximo as aplicações em Web, principalmente por questões de segurança. O que se passa é que muito provavelmente a tua aplicação vai precisar de usar uma base de dados para armazenar informação persistente.

    Se a aplicação for tipo cliente servidor, de alguma forma tens de abrir portas de acesso ao servidor da base de dados a partir dos computadores de clientes, com a eventual possibilidade da existência de vulnerabilidades de abuso de privilégios internos por pessoas não autorizadas porque os programas clientes fazem acesso directo à base de dados. Se a aplicação for baseada em Web, não tem que haver permissão de acesso directo à base de dados.

    Um outro eventual interesse de usar PHP é no caso da aplicação não precisar de recursos específicos do Windows e por isso poder ser desenvolvida de forma portátil abrindo a possibilidade no futuro se usarem servidores que não sejam baseados em Windows, livrando a empresa do pagamento de eventuais licenças que parece que cada vez estão mais onerosas para quem usa Windows.

    Se aplicação precisar mesmo de recursos do Windows, também não é problema para PHP que pode fazer interface directo com diversas APIs do Windows, como os objectos COM.

    Mesmo que a aplicação precise de ter alguma espécie de interface gráfico que permita maior interactividade que um ambiente Web, isso pode ser feito através do PHP-GTK que são classes de objectos para interfaces gráficas usando o Gnome ToolKit que também funcionam em Windows.

    Isto tem mais que se lhe diga, mas para quem se interessa recomendo este livro programação em Windows com PHP.
    Sun[tm] ONE Studio 4 (Pontos:3, Informativo)
    por MavicX em 01-09-02 9:41 GMT (#6)
    (Utilizador Info)
    É claro que a linguagem por exelencia para multiplataforma é o Java. E a melhor ferramenta para desenvolver aplicações em qualquer Sistema operativo (ok Windows, Linux, Solaris e possivelmente freeBSD) é o recente Sun One Studio 4 que é um ambiente grafico para desenvolvimento de aplicações java e para a plataforma Sun ONE. O community edition é totalmente á borla e sem restrições.

    Mais info em http://wwws.sun.com/software/sundev/jde/index.html

    Pedro Esteves

    Python (Pontos:2)
    por mvalente em 01-09-02 22:28 GMT (#10)
    (Utilizador Info) http://www.ruido-visual.pt/
    wxPython

    wxWindows

    wxDesigner

    BlackAdder

    WingIDE

    Cumprimentos

    Mario Valente

    GTK+ (Pontos:1)
    por Duke em 01-09-02 23:58 GMT (#11)
    (Utilizador Info) http://www.urbanmyth.ipfox.com
    Também existe o GTK+ e o Glade(n tenho a certeza) para Windows (C++) e acho que há versões (do GTK) para outras linguagens
    God is NoWHere...
    Qt (Pontos:2, Informativo)
    por blacksheep em 02-09-02 9:58 GMT (#14)
    (Utilizador Info)
    Sugiro o Qt, biblioteca utilizada pelo KDE, compatível com Linux(e outros Unixes), Windows, MacOSX e palmtops.
    É desenvolvida em C++ e muito fácil de programar, o único senão é que a versão comercial é um pouco cara.
    + info: www.trolltech.com

    Como ambiente de desenvolvimento podes utilizar o KDevelop sob Linux e quando quiseres criar um executável para win32, basta ires às opções de projecto e seleccionar win32 na máquina 'target'.
    O Qt vem com dois programas q auxiliam o desenvolvimento: QtDesigner e QTranslator.

     

     

    [ Topo | Sugerir artigo | Artigos anteriores | Sondagens passadas | FAQ | Editores | Preferências | Contacto ]