Desenvolvimento Desktop  XML
Índice dos Fóruns » Assuntos gerais (Off-topic)
Autor Mensagem
josue carrecon
JavaTeenager
[Avatar]

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.
marcosalex
GUJ Expert
[Avatar]

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.
[Yahoo!] aim icon [ICQ]
fuadksd
JavaTeenager
[Avatar]

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)?
[WWW]
juliocbq
GUJ Expert
[Avatar]

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
paulofafism
JavaEvangelist
[Avatar]

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
[WWW]
 
Índice dos Fóruns » Assuntos gerais (Off-topic)
Ir para:   
Powered by JForum 2.1.8 © JForum Team