Melhor coisa que vc faz mesmo, vai de Qt 5 e problema resolvido. Open-source, multiplataforma, IDE leve que roda em Windows, Linux e Mac. Utilizando QML vc consegue interfaces bonitas suportando estilos, e poder fazer/prototipar grande parte em Javascript e QML.
--
Antes de enviar um e-mail para o grupo leia:
http://www.ccppbrasil.org/wiki/Lista:AntesdePerguntar
--~--~---------~--~----~------------------------------
[&] C & C++ Brasil - http://www.ccppbrasil.org/
Para sair dessa lista, envie um e-mail para ccppbrasil-...@googlegroups.com
Para mais opções, visite http://groups.google.com/group/ccppbrasil
--~--~---------~--~----~--~-~--~---~----~------------
--
--
Antes de enviar um e-mail para o grupo leia:
http://www.ccppbrasil.org/wiki/Lista:AntesdePerguntar
--~--~---------~--~----~------------------------------
[&] C & C++ Brasil - http://www.ccppbrasil.org/
Para sair dessa lista, envie um e-mail para ccppbrasil-...@googlegroups.com
Para mais opções, visite http://groups.google.com/group/ccppbrasil
--~--~---------~--~----~--~-~--~---~----~------------
--
Hoje, estou querendo iniciar um projeto para sistema desktop, sim.. desktop.. já tenho um sistema Web, mas alguns clientes não querem usar via web, e sim na empresa.. e as vezes (quase sempre) não há como instalar meu sistema web na empresa por alguns motivos, tais como: a empresa não pode dispor de um servidor linux (que é necessário em meu sistema web) entre outros..
Há formas de você levantar uma VM quando o Windows for iniciado. Uma busca pela web você encontrará algumas soluções.
--
huh? o cara tá reclamando de lentidão do Delphi, imagina lentidão de GUI Java. Até hj eu nunca vi nada de GUIs java que sejam aceitáveis, seja IDE, seja uma programa feito em tal IDE. A única coisa em Java que tem uma gui aceitável com qual lidei é o Android, e naquelas ainda.
huh? o cara tá reclamando de lentidão do Delphi, imagina lentidão de GUI Java. Até hj eu nunca vi nada de GUIs java que sejam aceitáveis, seja IDE, seja uma programa feito em tal IDE. A única coisa em Java que tem uma gui aceitável com qual lidei é o Android, e naquelas ainda.
On 08/02/2015 05:48 PM, Fellipe Henrique wrote:1) Multi-plataforma Não funciona as mil maravilhas que a Embarcadero fala... eu tentei usar, porém para isso você deve reescrever praticamente seu produto inteiro para usar o "novo" firemonkey, porque se você for usar a VCL (biblioteca padrão), não compila a não ser para Windows.. Então temos problemas aí: Reescrever praticamente todo o código da VCL pro Firemonkey e "confiar" no firemonkey, que é recém criado e cheio de bugs.. eu mesmo já reportei diversos para a Embarcadero há 3 anos, e minha surpresa? Ainda não foram solucionados..Não estou nem comentando o que a Embarcadero fala, eu estou falando das minhas experiências testando novamente o Delphi depois de vários anos. E o Firemonkey tem funcionado muito bem sim, principalmente no XE8. Como você disse que o sistema está em Web e você quer reescrever para desktop, não tem essa de de reescrever nada da VCL, faria o mesmo se fosse mudar para C++ com Qt. Pode postar o link dos diversos bugs para eu dar uma olhada, acho estranho não serem corrigidos depois de 3 anos?2) Delphi está "estagnado" Apesar das pseudo-evoluções o delphi sim está estagnado em alguns pontos.. vou citar alguns: a) Acesso a internet: A melhor forma de se fazer acesso é usando o DataSnap, que veem de um componente antigo chamado Indy, que possui um problema sério de desempenho e consumo de memória... eu mesmo postei um problema sério quanto a isso e sem nenhuma solução.. não conseguia colocar 50 máquinas acessando via internet num servidor DataSnap..DataSnap é a pior forma de se fazer acesso à internet. Sempre foi a pior e eu nunca vi alguém em sã consciência falar que usou isto em ambiente de produção sério. A biblioteca Indy é bem antiga, mas tem sido bem desenvolvida no decorrer dos anos, principalmente depois que começou a fazer parte do Delphi por padrão, é excelente e muito rápida. Centenas de componentes Indy fazendo requisições paralelas não fazem nem cócegas em consumo de memória ou processamento. Mas o DataSnap é lixo, sempre foi, desde que lançou, nunca vi um case de sucesso que usasse ele.b) Consumo WebService: O delphi não fornecia acesso fácil ao consumo de WebServices.. problema mais visível no uso dos WS da SEFAZ para consumir a NF-e.. problemático.. passei muitos problemas com isso..O fato de 8 em cada 10 sistemas comerciais que existem hoje serem feitos em Delphi não corroboram com o que você está dizendo. Consumir qualquer WebService com Delphi é uma baba.c) IDE Super, hyper, extremamente lenta e pesada!!! 4GB de RAM somente pra IDE, no mínimo... ;)Engraçado que eu acho ela extremamente rápida e olha que eu ainda uso ela num virtualbox já que quase não uso Windows, abri aqui agora um pequeno projeto de testes que fiz estes dias e a IDE inteira está consumindo 356MB de memória. Criei vários projetos (Firemonkey e VCL), coloquei varios componentes e o consumo de memória não passou de 500MB.d) Acesso à banco de dados usando modelos.. praticamente não existe.. é usado uma abstração feita para ser simples e fácil de usar, e realmente é.. mas experimente ir no banco de dados e mudar um campo VarChar(6) para varchar(8) para ver como o delphi dá pau direto.. em todo lugar que você usa esse campo, traduzindo... facilidade de manutenção é baixa.. mudança em banco de dados, requer que você no mínimo verifique em todos os arquivos o uso deste campo para "refazer o dataset"... isso me matava, e foi um dos motivos de praticamente querer sumir da frente do Delphi.Você acessa banco de dados usando os componentes DB? Então você não quer performance, você quer facilidade e plug em play e isto você não vai encontrar pronto em lugar nenhum. Ou você programa direito, codificando, usando o que a linguagem oferece ou você se contenta com os componentes padrão prontos, se quiser a segunda opção paga-se o preço para ter acesso ao banco de dados colocando 3 componentes na tela sem escrever nenhuma linha de código. Sê você utiliza esta abstração simples e fácil de usar, tem que sentar e chorar onde ela é deficiente, é como diz o velho ditado: "Se come do meu pão, aguenta o meu rojão".3) Delphi virou um Produto muito lucrativo! Ah.. isso não deveria ser um problema, mas é.. e eu comecei a ter problemas com ele a partir do momento em que a Embarcadero começou a solucionar problemas/bugs importantes e extremamente chatos, nas versões novas! Ou seja, sempre deixando um buraco nas versões para ser corrigido nas próximas, fazendo você sempre atualizar o produto.. isso enche o saco (com o perdão da palavra) principalmente pelo preço que se paga pelo produto. E agora, eles praticamente estão "introduzindo" bugs propositais para que o usuário faça a inscrição no programa deles [1]Está seguindo a tendência de todos os softwares fechados que conheço. Não vender o sistema em si, mas vender uma subscrição de atualizações por um determinado período. A ferramenta que eu utilizo para manter meus bancos de dados PostgreSql funciona da mesmíssima forma, até o Windows vai funcionar assim. Qt não vai te cobrar nada para utilizá-lo, mas nem de longe você terá as mesmas facilidades do Delphi, vai ter que escrever código na mão para tudo.
Isto posto, por isso eu acredito que se não houver uma mudança, o Delphi está fadado ao fracasso.. porque só quem compra o delphi, é quem possui sistemas antigos e que precisam manter.. porque novos softwares, novas empresas.. dificilmente vão usar o Delphi, por conta disso tudo que eu estou falando..Na verdade eu não estou vendo isto. Haja visto o fato de que Object Pascal tem subido de forma consistente no índice Tiobe. As pessoas tem voltado a pesquisar por ele, é claro que o índice tiobe não indica "uso em novos projetos", mas demonstra que o interesse voltou a subir e isto é graças aos avanços que a Embarcadero tem conseguido. De qualquer forma, a julgar de tudo o que li em suas postagens, o que posso te adiantar é que se você espera encontrar no Qt um desenvolvimento mais suave do que você tinha no Delphi, pode esquecer, se pensa em ser mais rápido fazer as coisas usando Qt, também pode esquecer. C++ é uma linguagem para gente grande que não tem medo de codificar. Os componentes prontos para Qt não passam nem perto do que existe no Delphi, nem em número, nem em facilidades. Tudo será mais trabalhoso e mais caro de se fazer em C++ e isto é o preço que se paga para se ter controle sobre tudo o que o seu código faz. Eu já uso Qt há alguns bons anos, é muito bom e produtivo (quando comparado com o que se tem para C++), antes utilizava WxWidgets, mas não se pode comparar ao que o Delphi faz. Se o Delphi vale o preço que a Embarcadero está cobrando? não vou entrar nesta discussão, cada um sabe onde seu calo aperta. Porque eu utilizo C++ com Qt ao invés do Delphi? Porque quase todos os meus sistemas rodam no Linux, apenas 1 precisou rodar no Windows (e o Delphi ainda não compila binário para Linux). Voltando à sua pergunta inicial, "porque escolher C++?" * C++ te dá mais controle sobre o que o seu sistema faz; * C++ roda mais rápido se você sabe o que está fazendo; * C++ consome menos memória se você sabe o que está fazendo; * É mais fácil portar um programa escrito em C++ para diversas plataformas; * Programar em C++ torna você um profissional capaz de programar em praticamente qualquer dispositivo; Feito o merchan para C++, agora eu vou te fazer uma pergunta: Já passou pela sua cabeça utilizar o Python com o qual o seu sistema já é feito hoje e utilizar uma biblioteca tipo PyQt? Você aproveitaria toda a regra de negócios que você tem hoje feita em Python, reutilizaria praticamente todo o seu código e teria o seu sistema desktop com a mesma interface que teria usando Qt diretamente com C++, é claro que ficaria um pouco mais lento do que com C++, mas reaproveitar quase todo o seu código não valeria o preço? Abraços e boa sorte na sua jornada, -- Shander Lyrio
Madera
Bom dia amigos,Primeiramente me desculpem pelo post, não quero aqui criar flames.. é que só quero uma opinião de quem é do ramo do C/C++..Hoje, estou querendo iniciar um projeto para sistema desktop, sim.. desktop.. já tenho um sistema Web, mas alguns clientes não querem usar via web, e sim na empresa.. e as vezes (quase sempre) não há como instalar meu sistema web na empresa por alguns motivos, tais como: a empresa não pode dispor de um servidor linux (que é necessário em meu sistema web) entre outros..Alguns sistemas meus foram feitos em Delphi, o que é bastante razoável, sendo que para desenvolver desktop nele é beem fácil.. mas tenho alguns problemas com ele: 1) a cada ano uma nova versão com novos problemas. 2) Ide super hyper pesada 3) linguagem defasada. 4) Sem acesso fácil à internet, seja por meio de webservices ou outra coisa...Então queria ver com os amigos, o que levaria a empresa a trocar o desenvolvimento Delphi pelo C++ (estamos pensando usar o Qt), sendo que teria quer ter ao mínimo essas necessidades: 1) Ser compilável e portável para Windows, MacOs... 2) Facilidade de acesso a internet (consumir webservices e etc).. 3) Facilidade de acessos as chaves de criptografia (certificados). 4) Nao possuir visual "antiquado" igual win32...Acredito que seria isso amigos, como não uso o C++ profissionalmente, não saberia responder e ter embasamento para "peitar" o delphi nesse quesito..Conto com a ajuda dos amigos.. abraços e obrigado desde já...
Se você tem um experitise em Delphi já considerou o Lazarus (baseado no FreePascal)?É uma IDE muito leve, multiplataforma (Linux, Windows, Mac OS X), com muitos componentes prontos e uma comunidade ativa.
On Mon, Aug 3, 2015 at 7:22 PM, Djalma Rosa dos Santos Filho <drsant...@gmail.com> wrote:
Pra falar a verdade, eu também estou com um problema parecido com esse do Fellipe. No meu caso, é um sistema muito antigo que eu peguei escrito em Delphi 7 para manutenção, uma versão do ano de 2002 com muito menos recursos do que o atual XE. Fazia mais de 14 anos que não programava em Delphi, lembra aquele filme "A Volta dos Mortos Vivos", mas estou encarando a situação como uma oportunidade de negócio.Tenho conseguido compensar essa falta de recursos da linguagem com interoperabilidade, escrevendo DLL COM no Visual C++ e importando no Delphi, inclusive para a dificuldade que foi mencionada de acesso à internet / web services.O cliente está interessado em uma atualização tecnológica, foi cogitada a migração para o Delphi XE8, mas acho que não compensa, vou inclusive usar como argumento as decepções que aqui foram expostas, eu já desconfiava que não compensaria, agora fico ainda mais certo disso com a opinião de quem já usa a versão mais nova. Acho que vai ser muita dor de cabeça fazer a migração para o XE para apenas eliminar o BDE, compilar para 64 bits e ter uma biblioteca de programação paralela (que não sei se vou usar), e, no final, continuar amarrado a uma tecnologia proprietária e cara.Para escolher uma outra linguagem, como programador eu me sinto naturalmente tentado a ir para o C++ que é a linguagem que eu mais gosto e domino. Eu também sou fã do QT e concordo com o Strauss que ele seja mesmo bastante completo, até parece aquela propaganda do Posto Ipiranga, onde você encontra todos os serviços e produtos em um só lugar. Mas, do ponto de vista do negócio, a dificuldade de encontrar profissionais de QT no mercado, como também já foi mencionado, na hora de montar uma equipe pode pesar e aumentar bastante o custo de desenvolvimento.Então, estou mesmo chegando à conclusão que o meu +1 pode ir mesmo para o C# pela popularidade, praticidade e facilidade de aprender. Inclusive, não sei se é verdade, mas, nos primórdios do .NET se falava que a Microsoft contratou a equipe da Borland que fez o Delphi para projetar o Windows Forms, lenda ou não, parece haver semelhanças.Por fim, acredito que no requisito portabilidade parece muito positiva a recente sinalização de mudança da Microsoft, que, no ano passado, anunciou e disponibilizou no github o .NET como opensource e multiplataforma, mesmo que ainda seja apenas a stack server. Lembrando que, mesmo não estando incluído nessa iniciativa o Windows Forms, ainda assim, há como portar a aplicação Desktop para Linux e OSX com o Mono, AFAIK.Concordo, ia falar a mesma coisa, se a sincronia do nome do botao com o metodo eh algo preocupante, e o numero de programadores, melhor opcao eh C# mesmo (ugh), melhor que java inclusive, imo.Sim, o designer principal da linguagem C# era o designer (um dos?) do Delphi. Hans alguma coisa.
On Mon, Aug 3, 2015 at 7:22 PM, Djalma Rosa dos Santos Filho <drsant...@gmail.com> wrote:
Pra falar a verdade, eu também estou com um problema parecido com esse do Fellipe. No meu caso, é um sistema muito antigo que eu peguei escrito em Delphi 7 para manutenção, uma versão do ano de 2002 com muito menos recursos do que o atual XE. Fazia mais de 14 anos que não programava em Delphi, lembra aquele filme "A Volta dos Mortos Vivos", mas estou encarando a situação como uma oportunidade de negócio.Tenho conseguido compensar essa falta de recursos da linguagem com interoperabilidade, escrevendo DLL COM no Visual C++ e importando no Delphi, inclusive para a dificuldade que foi mencionada de acesso à internet / web services.O cliente está interessado em uma atualização tecnológica, foi cogitada a migração para o Delphi XE8, mas acho que não compensa, vou inclusive usar como argumento as decepções que aqui foram expostas, eu já desconfiava que não compensaria, agora fico ainda mais certo disso com a opinião de quem já usa a versão mais nova. Acho que vai ser muita dor de cabeça fazer a migração para o XE para apenas eliminar o BDE, compilar para 64 bits e ter uma biblioteca de programação paralela (que não sei se vou usar), e, no final, continuar amarrado a uma tecnologia proprietária e cara.Para escolher uma outra linguagem, como programador eu me sinto naturalmente tentado a ir para o C++ que é a linguagem que eu mais gosto e domino. Eu também sou fã do QT e concordo com o Strauss que ele seja mesmo bastante completo, até parece aquela propaganda do Posto Ipiranga, onde você encontra todos os serviços e produtos em um só lugar. Mas, do ponto de vista do negócio, a dificuldade de encontrar profissionais de QT no mercado, como também já foi mencionado, na hora de montar uma equipe pode pesar e aumentar bastante o custo de desenvolvimento.Então, estou mesmo chegando à conclusão que o meu +1 pode ir mesmo para o C# pela popularidade, praticidade e facilidade de aprender. Inclusive, não sei se é verdade, mas, nos primórdios do .NET se falava que a Microsoft contratou a equipe da Borland que fez o Delphi para projetar o Windows Forms, lenda ou não, parece haver semelhanças.Por fim, acredito que no requisito portabilidade parece muito positiva a recente sinalização de mudança da Microsoft, que, no ano passado, anunciou e disponibilizou no github o .NET como opensource e multiplataforma, mesmo que ainda seja apenas a stack server. Lembrando que, mesmo não estando incluído nessa iniciativa o Windows Forms, ainda assim, há como portar a aplicação Desktop para Linux e OSX com o Mono, AFAIK.Concordo, ia falar a mesma coisa, se a sincronia do nome do botao com o metodo eh algo preocupante, e o numero de programadores, melhor opcao eh C# mesmo (ugh), melhor que java inclusive, imo.Sim, o designer principal da linguagem C# era o designer (um dos?) do Delphi. Hans alguma coisa.
Enquanto isso... o velho e seguro win32 para desktop vai bem.Se o desktop tradicional vai ser substituído pelos aplicativos windows RT? Acho que é bom ficar de olho no office pois ele é que geralmente puxa as tendencias no desktop.Eu não sinto firmeza nenhuma estes aplicativos windows RT.
--
Até o momento nenhum cliente me pediu para ver se o código era bonito e fácil de fazer.
Nos dias de hoje com stack overflow e "script" se faz muita coisa e essa é a massa de programadores.
Você precisa usar a distribuição Gaussiana pra isso. A famosa média.Se você recrutou bem, poderá saber o nível to teu time. Não é tão dificil assim.
Mexicano,acho que se recrutar bem fosse algo simples, não teríamos tantos artigos, discussões, etc sobre contratação. Como é o caso do Joel, Microsoft, google, facebook, etc. Contratar bem não é algo simples, o que torna todo o resto difícil na minha opinião.
Eu entendo o Thiago, quando ele fala sobre a subjetividade da qualidade do código e o Madeira, quando diz que dá sim pra definir a qualidade. Mas eu entro com um terceiro ponto de vista. Eu atualmente acho que código é praticamente secundário com respeito a qualidade do software. Você pode seguir a risca o Scott Meyers, Sutter etc e ainda assim errar gravemente nos algoritmos e estruturas de dados que usa. Aí seu software tem uma cara linda pra qualquer critério moderno mas é uma catástrofe nos quesitos básicos. Uma pequena lista do que me preocupa atualmente
1) Estruturas de dados corretas?
2) Quão fragmentados estão seus dados na memória? Tem localidade de cache? Performance se mantém constante durante a execução do programa?
3) Algoritmo correto? Quanto você gasta de CPU?
4) Quanto de memória você usa? Isso é o mínimo? Não está desperdiçando?
O usuário em geral percebe primeiro esses requisitos primeiro.
Uma vez que eles estejam cumpridos, aí sim faz sentido se preocupar com código em sí.
Marcelo
Eu entendo o Thiago, quando ele fala sobre a subjetividade da qualidade do código e o Madeira, quando diz que dá sim pra definir a qualidade. Mas eu entro com um terceiro ponto de vista. Eu atualmente acho que código é praticamente secundário com respeito a qualidade do software. Você pode seguir a risca o Scott Meyers, Sutter etc e ainda assim errar gravemente nos algoritmos e estruturas de dados que usa. Aí seu software tem uma cara linda pra qualquer critério moderno mas é uma catástrofe nos quesitos básicos. Uma pequena lista do que me preocupa atualmente
1) Estruturas de dados corretas?
2) Quão fragmentados estão seus dados na memória? Tem localidade de cache? Performance se mantém constante durante a execução do programa?
3) Algoritmo correto? Quanto você gasta de CPU?
4) Quanto de memória você usa? Isso é o mínimo? Não está desperdiçando?
Porque a linguagem VB6 morreu. Winforms = Win32. O Office é Win32. O Chrome é Win32. Tudo é Win32. O Windows Explorer é Win32. A API do Windows 8 e 10 é COM, que é bem suportado pelo C#. E quando você precisar migrar a migração em C# será muito mais fácil, já que desenhar telinha é um uso muito comum em C#.
.NET Native uses the same back end as the C++ compiler, which is optimized for static precompilation scenarios.
"Not all metadata lookup failures in apps developed using the .NET Native tool chain result in an exception. Some can manifest in unpredictable ways in an app."
Código que foi escrito e testado pelo Compilador do C# pode explodir no Nativo... Não sei como isso pode vir a ser bom, as vezes nem exception, pode ser simplesmente access violation. Programador C# nem sabe o que é isso man.
Toda a vantagem que o C# tinha com reflection e dynamic foi jogada na lata do lixo com essa ideia da M$, desse jeito melhor vir de C++.
Att.
Vou parar de escrever que a raiva está me consumindo...
Bom dia amigos,Primeiramente me desculpem pelo post, não quero aqui criar flames.. é que só quero uma opinião de quem é do ramo do C/C++..Hoje, estou querendo iniciar um projeto para sistema desktop, sim.. desktop.. já tenho um sistema Web, mas alguns clientes não querem usar via web, e sim na empresa.. e as vezes (quase sempre) não há como instalar meu sistema web na empresa por alguns motivos, tais como: a empresa não pode dispor de um servidor linux (que é necessário em meu sistema web) entre outros..Alguns sistemas meus foram feitos em Delphi, o que é bastante razoável, sendo que para desenvolver desktop nele é beem fácil.. mas tenho alguns problemas com ele: 1) a cada ano uma nova versão com novos problemas. 2) Ide super hyper pesada 3) linguagem defasada. 4) Sem acesso fácil à internet, seja por meio de webservices ou outra coisa...Então queria ver com os amigos, o que levaria a empresa a trocar o desenvolvimento Delphi pelo C++ (estamos pensando usar o Qt), sendo que teria quer ter ao mínimo essas necessidades: 1) Ser compilável e portável para Windows, MacOs... 2) Facilidade de acesso a internet (consumir webservices e etc).. 3) Facilidade de acessos as chaves de criptografia (certificados). 4) Nao possuir visual "antiquado" igual win32...Acredito que seria isso amigos, como não uso o C++ profissionalmente, não saberia responder e ter embasamento para "peitar" o delphi nesse quesito..Conto com a ajuda dos amigos.. abraços e obrigado desde já...T.·.F.·.A.·. S+FFellipe Henrique P. Soarese-mail: > echo "lkrrovknFmsgor4ius" | perl -pe \ 's/(.)/chr(ord($1)-2*3)/ge'GitHub: https://github.com/fellipehTwitter: @fh_bash
--