| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/12/2011 19:39:47
|
josue carrecon
JavaTeenager
![[Avatar]](/images/avatar/5000ab6d8da146cb7430ba7f99e39e60.jpg)
Membro desde: 26/11/2007 08:13:52
Mensagens: 173
Localização: uberlandia
Offline
|
AbelBueno wrote:Oi ViniGodoy,
Achei suas respostas bem esclarecedoras sobre desenvolvimento desktop.
Mas um comentário seu me despertou curiosidade:
ViniGodoy wrote:Existem poucas linguagens que considero ruins. Uma delas é o VB6.
Sobre desenvolvimento desktop em geral, com as especulações de que o windows 8 jogará as aplicações desktop para segundo plano
(Aplicações em javascript + html + css rodarão direto no windows, sem o browser), acham que esse cenário mudará muito?
Olha, o windows continua hemulando DOS ateh hoje, opinião pessoal; o pessoal do tio bill não fazem uma loucura dessas nem a pau.
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/12/2011 20:44:45
|
marcosalex
GUJ Expert
![[Avatar]](/images/avatar/0a8f8b227be2d04a675082cc9d51c127.jpg)
Membro desde: 20/02/2008 12:32:59
Mensagens: 3372
Offline
|
josue carrecon wrote:
AbelBueno wrote:
Sobre desenvolvimento desktop em geral, com as especulações de que o windows 8 jogará as aplicações desktop para segundo plano
(Aplicações em javascript + html + css rodarão direto no windows, sem o browser), acham que esse cenário mudará muito?
Olha, o windows continua hemulando DOS ateh hoje, opinião pessoal; o pessoal do tio bill não fazem uma loucura dessas nem a pau.
Lembrando que quando desenvolvia o Vista (longhorn) a Microsoft dizia que todas as suas aplicações seriam em .NET, que ninguém desenvolveria mais nas APIs nativas e que as próprias APIs Win32 rodariam sobre o .NET e não o contrário. E quem acompanhou as versões beta do Vista, viu que a cada novo beta a quantidade de .NET no SO só ia diminuindo e que até hoje o MS Office de demais ferramentas da MS rodam nativas. Até o bloco de notas continua nativo
Mas é fato que se a MS fizer isso, vai ser uma das últimas grandes a priorizar o html5, visto que Google, Apple, Facebook, Oracle, etc faz tempo que investem pesado em HTML+CSS+Javascript.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/12/2011 12:39:14
|
fuadksd
JavaTeenager
![[Avatar]](/images/avatar/92cf72685514221c79c830bfcd4aac4e.jpg)
Membro desde: 18/05/2011 08:56:02
Mensagens: 153
Offline
|
valeu as dicas.
Sobre desenvolvimento desktop em geral, com as especulações de que o windows 8 jogará as aplicações desktop para segundo plano
(Aplicações em javascript + html + css rodarão direto no windows, sem o browser), acham que esse cenário mudará muito?
eu acho que pra apps simples, com "pouca densidade visual" e pouco cálculo (apps simples) html javascript e cia sao o suficiente. permitem uma personalização boa a interface (é bem genérico).
agora tem aqueles softwares que precisem de padrões de projeto melhores, mais "profissionais" vão continuar no padrão atual.
Também gosto do Java pra desktop e acho ele muito produtivo. Existem bibliotecas que permitem inclusive integração com os widgets do Windows 7, muito fáceis, o Java 7 deixou ele menos verboso e a nova API de IO me ajudou bem no momento que eu precisei usar o recurso, pura sorte. hehehe Apesar do Eclipse e Netbeans serem os mais populares, existem IDEs comerciais em Java bem produtivas.
Que tipo de integração com as widgets? fala mais aí!
Outras APIs fantásticas, como o QT, dificilmente são citadas em faculdade. Se você quer ver um conjunto de classes sólido, bem estruturado, fácil de mexer, estude a QT.
QT é a melhor API pra GUI (levando em conta o cross-platform (sem gambiarra) e beleza (simples, mas bonito)?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/12/2011 19:54:12
|
juliocbq
GUJ Expert
![[Avatar]](/images/avatar/153704bb24a28e9a6bb49e8ffde1492e.jpg)
Membro desde: 13/11/2008 12:10:18
Mensagens: 3928
Offline
|
fuadksd wrote:valeu as dicas.
Sobre desenvolvimento desktop em geral, com as especulações de que o windows 8 jogará as aplicações desktop para segundo plano
(Aplicações em javascript + html + css rodarão direto no windows, sem o browser), acham que esse cenário mudará muito?
eu acho que pra apps simples, com "pouca densidade visual" e pouco cálculo (apps simples) html javascript e cia sao o suficiente. permitem uma personalização boa a interface (é bem genérico).
agora tem aqueles softwares que precisem de padrões de projeto melhores, mais "profissionais" vão continuar no padrão atual.
Também gosto do Java pra desktop e acho ele muito produtivo. Existem bibliotecas que permitem inclusive integração com os widgets do Windows 7, muito fáceis, o Java 7 deixou ele menos verboso e a nova API de IO me ajudou bem no momento que eu precisei usar o recurso, pura sorte. hehehe Apesar do Eclipse e Netbeans serem os mais populares, existem IDEs comerciais em Java bem produtivas.
Que tipo de integração com as widgets? fala mais aí!
Outras APIs fantásticas, como o QT, dificilmente são citadas em faculdade. Se você quer ver um conjunto de classes sólido, bem estruturado, fácil de mexer, estude a QT.
QT é a melhor API pra GUI (levando em conta o cross-platform (sem gambiarra) e beleza (simples, mas bonito)?
para desktop è o que a maioria das empresas está adotando. Vide adobe photoshop,skype, google earth
|
www.citrox.com.br |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/12/2011 22:32:28
|
paulofafism
JavaEvangelist
![[Avatar]](/images/avatar/d26b10ca0de48de1619fcefc39d00d64.jpg)
Membro desde: 02/05/2006 15:30:50
Mensagens: 475
Offline
|
ViniGodoy wrote:Eu estou no mercado desktop há mais de 10 anos e programo com freqüência nas 3 linguagens. Gosto muito das 3.
Além de moderador do GUJ, sou dono de uma comunidade no DevBrasil (C#) e participo do grupo cppbrasil.
Se você quer programar para desktop, provavelmente o Java é a pior alternativa das 3 que você citou.
O que você quer dizer com "o C++ tem uma abordagem injusta da orientação à objetos"? Injusta em que sentido?
Ele suporta tudo que o Java suporta: Polimorfismo, herança (inclusive herança múltipla).
Ele suporta encapsulamento, com melhores modificadores de acesso (e, inclusive, o acesso friend, que faz muita falta no Java).
O C++ não é uma linguagem procedural. Na verdade, ela implementa 3 paradigmas: procedural, o orientado a objetos e o genérico.
Na prática, os programas modernos em C++ utilizam pouco o paradigma procedural. Os dois últimos são os mais usados.
Quanto ao número de plataformas, creio que nenhuma supera o C++. Pegue uma biblioteca como a Qt (que é OO, por sinal), e você vai ver que sua aplicação vai rodar em praticamente qualquer lugar.
Finalmente, das 3 linguagens que você citou, o C++ é o único que dá garantias de tempo real, incluindo hard-real time (pode ser necessário em apps desktop, como as que trabalham com processamento de vídeo).
O C++ tem duas grandes desvantagens:
1. É uma linguagem difícil: pois não é uma linguagem gerenciada. E lidar com memória no braço é muito difícil (embora te dê muito controle).
2. É uma linguagem antiga: Muitas implementações não são tão legais nele, pois alguns conceitos nem sequer estavam maduros na época que eles foram implementados no C++. Há muitas más práticas que a linguagem criou por conta do legado também. Para programar com conforto em C++ é importantíssimo conhecer o que são boas práticas modernas e é importante não sair programando feito um maluco. Depois de entender a sintaxe da linguagem é fundamental pegar um livro como Effective C++ e ler de cabo à rabo (esse tipo de evolução é normal e com o tempo todas as linguagens começam a ter esse tipo de coisa. É o caso de "preferir StringBuilder no lugar de StringBuffer" no Java, ou ArrayList no lugar de Vector, só que o C++ é cheio de coisas como essa). Fique atento pois os últimos 20 anos de evolução do C++ estão na forma de se programar, não na linguagem em si (aliás, se vc não usa STL, boost, ou mesmo a QT, não programou em C++ ainda).
No caso de comparar Java e C#, eu diria que o Java peca em alguns requisitos básicos, que geralmente aparecem em aplicações desktop:
- Pouca ou nenhuma integração com o SO (nada de acessar registro, AD, etc.)
- Precária integração com hardware
- Péssimo suporte a gráficos, sons e multimídia em geral (esqueça jogos em Java).
Para os dois primeiros casos, o C# possui os unsafe methods, que são infinitamente mais fáceis, limpos e seguros do que usar JNI.
Para o último caso, você tem o XNA que, aliás, é suportado em 3 plataformas.
O C# realmente começou como uma cópia, em muitos casos mal feita, do Java. Mas hoje, o Java é que corre atrás do prejuízo. O C# já suporta coisas que o Java vem prometendo faz tempo, como as lambda expressions. E suporta mais coisas: extension methods, LINQ, partial classes, etc. Tem uma implementação mais inteligente dos generics, sobrecarga de operadores, entre outros recursos interessantes. É preciso reconhecer que os prejuízos que a Sun sofreu, associado ao período de venda e aquisição pela Oracle teve um impacto bastante negativo na evolução da linguagem, e a Oracle terá que correr muito se quiser alcançar novamente a MS (que por sinal, está fazendo um ótimo trabalho).
Coloque na mesa os critérios que são importantes para os tipos de aplicações que você quer desenvolver, e enumere o que as linguagens oferem para cobri-los. Pelo seu texto, o que mais parece é que você está preferindo o Java por gosto pessoal, e não por uma escolha técnica.
Concordo com VinyGodoy em todos os pontos. Entretanto deve-se analisar que tipo de software será desenvolvido, entre outros fatores para escolher a linguagem utilizada para desenvolvimento.
Eu particularmente gosto muito de Java e já desenvolvi algumas aplicações desktop, entretanto no último software que elaborei eu não o cogitei para desenvolver uma aplicação desktop, pois esse software faz uma integração com um coletor de dados que utiliza Windows CE 5.0, no qual o software do coletor também desenvolvi, neste caso a melhor opção foi utilizar C#, pois sem sombra de dúvidas esta linguagem é a melhor opção nesta situação de integração.
Como VinyGodoy disse: "Coloque na messa os critérios que são importantes"
|
Paulo Vinícius Moreira Dutra
Perfil Linkedin
Lattes
Paulo Viníciu's Blog
|
|
|
 |
|
|
|
|