Qual a linguagem mais adequada pra desktop?
Qual a vantagem?
Delphi já foi pro limbo há muito tempo…
Java e .NET são boas opções.
Queria saber se o visual basic também foi pro limbo também, para fazer uma festa de comemoração!
EU ODEIO VB 6.
fiquei sabendo que o Java é melhor para interfaces graficas do que o Delphi. A unica desvantagem é o acesso ao DB que é mais lento, isso é verdade ?? O acesso ao DB para java é pior que o Delphi ??
Melhor em que sentido? Facilidade de implementação? Velocidade? Pra dar uma resposta certa teria-se que fazer um bench mark com os dois. Mas vou te dizer que temos aplicações Java usando Oracle, SQLServer e PostGres e todas funcionam muito bem e rápido. Trabalhamos com volumes de dados muito grande, te garanto. T+
pra algumas situações eu acho bem questionável o uso do Java para apilações desktop…
aplicações q não precisem de muita coisa…por exemplo um sisteminha de cadastro para uma lojinha, por exemplo…acredito q a utilização de Delphi ate mesmo VB, eh bem valida, pela facilidade e velocidade no desenvolvimento e tb pela facilidade de manutenção…
não eh possível escolher “a linguagem mais adequada pra desktop”, acredito q cada caso eh um caso, e vai da necessidade do cliente…tipo assim, o muleque q mora ali na esquena q eh sobrinha da Dona Maria, sabe fazer um sisteminha em VB, se isso serve pra loja do seu Manuel, otimo, perfeito, ele vai gastar pouco, o muleque vai estar sempre ali na esquina se der algum problema, etc…
eu sou a favor do ambiente web inclusive para aplicações locais, a interface em qq sistema em ambiente web, não vai fugir muito de qq site q qq usuário está acostumado, para ampliar a disponibilidade desse sistema é muito simples, sem gastar muito mais, vc pode oferecer os dados do cliente na internet (marketing nervoso, hehehe), outra coisa, com Java, acredito q o desenvolvimento para web seja muito mais produtivo do q para desktop…
bom, isso tudo eh uma discussão sem fim…
flw
Não. É totalmente falso. O acesso a DB no java é muito melhor, mais eficaz, mais flexível e mais globalizado que em delphi.
[quote=“pedrobusko”]
eu sou a favor do ambiente web inclusive para aplicações locais, a interface em qq sistema em ambiente web,
flw[/quote]
Eu tenha a opinião exatamente contrária. Web só deve ser usada em aplicações dirigidas ao publico geral como e-commerce, ou portais como este. Aplicações coorporativas deveriam usar swing. Isto pq os requerimentos normalmente são mais simples de implementar em swing.
É claro que isso aumenta a complexidade do sistema a um nivel que poucos programadores e desenvolvedores java estão habituados.
eu acho que a qualidade do software esta muito mais a “quem desenvolve” do que “em que desenvolve”, programador tosco faz coisa tosca em qualquer linguagem.
quanto a interface web ou swing, ao meu ver, com web fica muito mais bonito e moderno, mas, com swing da pra ter mais recursos fica mais funcional e também da pra deixar bonito ( ai vai dar mais trabalho… )
Eu também sou totalmente a favor do ambiente WEB. Se eu tiver um sisteminha de agenda eu vou querer acessá-lo de qualquer lugar, ainda qu seja via JWS.
[quote=“sergiotaborda”]Eu tenha a opinião exatamente contrária. Web só deve ser usada em aplicações dirigidas ao publico geral como e-commerce, ou portais como este. Aplicações coorporativas deveriam usar swing. Isto pq os requerimentos normalmente são mais simples de implementar em swing.
É claro que isso aumenta a complexidade do sistema a um nivel que poucos programadores e desenvolvedores java estão habituados.[/quote]
Eu já acho que tudo quanto é tipo de aplicação deve ser disponibilizada através da WEB. O grande problema é que aplicações corporativas quase sempre são enormes e como uma empresa com usuários distribuídos poderia disponibilizar o sistema da forma mais simples possivel ?
Quanto a implementação em Swing eu acho que bem mais “chatinha” do que HTML/XHTML. É muito mais fácil implementar uma tela em HTML do que em Swing (é claro que com o Matisse a disputa fica boa ).
[quote=“pregospan”]eu acho que a qualidade do software esta muito mais a “quem desenvolve” do que “em que desenvolve”, programador tosco faz coisa tosca em qualquer linguagem.
quanto a interface web ou swing, ao meu ver, com web fica muito mais bonito e moderno, mas, com swing da pra ter mais recursos fica mais funcional e também da pra deixar bonito ( ai vai dar mais trabalho… )[/quote]
Isso é verdade o cara quando é ruim faz merda em qualquer linguagem. Esse papo de que Swing oferece mais recursos do que WEB é passado, agora com AJAX/Laszlo as interfaces WEB ficaram bem mais ricas.
[quote=“sergiotaborda”] os requerimentos normalmente são mais simples de implementar em swing.
É claro que isso aumenta a complexidade do sistema a um nivel que poucos programadores e desenvolvedores java estão habituados.[/quote]
requerimentos? não entendi muito bem, se estamos falando de regras de negocio, essas regras serão aplicadas numa camada específica independente do ambiente. Hoje a disponibilidade de informações é essencial…
será q realemnte é valido, construir uma aplicação local (swing, por exemplo), e uma outra para disponibilizar os dados na web? não é mais facil uma única aplicação onde o usuário estará acostumado a utiliza-lade qualquer lugar que ele esteja?
por exemplo, MVC é um padrão originalmente idealizado para aplicações desktop, e foi adaptada para web. Independente do ambiente toda a parte Model, será praticamente igual implementando os requsitos…
bom poderíamos discutir por horas, dias, sei lá, cada um defendendo suas idéias…mas isso q eu acho bacana neh…hehehehe
Flw!
Programo em Delphi desde a década de 90, mas devido aos altos custos do upgrades e do destino incerto da linguagem, estou aprendendo Java para migrar as minhas aplicações e também aprender uma linguagem de aplicações mais amplas.
Atenção que disponibilizar é diferente de desenvolver. Eu posso desenvovlver swing e disponibilizar via web como o usem jws (que tb tem suas limitações). Eu aposto no jws para destribuir e no swing para desenvolver, mas como disse antes, swing e html têm fionalidades diferentes.
A questão é entre swing e html. Qual é melhor para um aplicação coorporativa ? A resposta é : depende da aplicação. Mas em geral, swing permite um controlo muito maior da visualização que html. A menos que vc inlcuar Ajax e javascript, mas ai, vira tão complexo quanto swing (no meu entender mais ainda)
Não acho que seja mais chatinha não. Eu adoro swing. Dizem que é lento e dificil , Isso é conversa. É rápido e poderoso. Esperimente fazer uma tabela editável em html e me diga se é fácil. Em swing não só é possivel e simples, como é o padrão que a pessoa espera. O exemplo clássico de pedido e items. Se o pedido é um form, os itens devem ser uma tabela editável desse form. Isso em html , mesmo com ajax é um inferno.
Quanto ao Matisse pode ser muito bom para o programador iniciante - e não me entendam mal, programadores iniciantes são bem vindos - , mas o netbeans gera um monte de codigo sozinho e isso nunca é bom. Isso é o que o VB e o Delphi e o .NET fazem e que é exatamente o ruim dessas linguagens. Eu acho muito bem que tenham criado o Matisse, para RAD é muito bom, mas RAD e “aplicação séria” não cabem na mesma frase.
[quote=“pedrobusko”][quote=“sergiotaborda”] os requerimentos normalmente são mais simples de implementar em swing.
É claro que isso aumenta a complexidade do sistema a um nivel que poucos programadores e desenvolvedores java estão habituados.[/quote]
requerimentos? não entendi muito bem, se estamos falando de regras de negocio, essas regras serão aplicadas numa camada específica independente do ambiente. Hoje a disponibilidade de informações é essencial…
[/quote]
requisitos era o que ue queria ter escrito
E não estamos falando de regras de negocio. Estamos falando de regras de visualização. Essas pertencem apenas à camada de view. E podem ser variadas, desde colocar campos inválidos com cor diferentes até fazer desaparecer campos , desabilitar ,etc… on-the-fly.
O tipico se o campo A = x então desabilita B, coloca C em negrito e faz D ser obrigatorio… coisas desse tipo
repare que swing não é sinonimo de local. A aplicação pode ser destribuida (aka não local) e ser em swing. É que uma aplicação Web não é destribuida e ai é que está a diferença e a dificuldade de fazer uma aplicação swing destribuida ( tem que se pensar diferente nas coisas)
Mas para o usuário, swing sempre será mais facil de usar. Tens teclas de atalho, menus , grqaficos dinamicos, etc etc… que em web, tb podes ter, mas dá um trabalhão …
Se a aplicação for complexa o suficiente em termos de edição de dados, web não comporta e/ou o usuário tem que sofrer muito.
Na realidade o MVC que é implementado pelo Swing e pelo JSF (por exmeplo) são o mesmo padrão. Só que as pessoas confundem o MVC do Swing com o MVC da sua aplicação e ai é que vaca vai pro brejo…
Repara que o Swing é apenas o V do MVC da tua aplicação (tal qual o HTML), embora ele, internamente implemente o seu ppr MVC.
Depois que se entende isto programar swing é simples, o problema é conseguir entender isto.
[quote=“pedrobusko”][quote=“sergiotaborda”] os requerimentos normalmente são mais simples de implementar em swing.
É claro que isso aumenta a complexidade do sistema a um nivel que poucos programadores e desenvolvedores java estão habituados.[/quote]
requerimentos? não entendi muito bem, se estamos falando de regras de negocio, essas regras serão aplicadas numa camada específica independente do ambiente. Hoje a disponibilidade de informações é essencial…
[/quote]
requisitos era o que ue queria ter escrito
E não estamos falando de regras de negocio. Estamos falando de regras de visualização. Essas pertencem apenas à camada de view. E podem ser variadas, desde colocar campos inválidos com cor diferentes até fazer desaparecer campos , desabilitar ,etc… on-the-fly.
O tipico se o campo A = x então desabilita B, coloca C em negrito e faz D ser obrigatorio… coisas desse tipo
repare que swing não é sinonimo de local. A aplicação pode ser destribuida (aka não local) e ser em swing. É que uma aplicação Web não é destribuida e ai é que está a diferença e a dificuldade de fazer uma aplicação swing destribuida ( tem que se pensar diferente nas coisas)
Mas para o usuário, swing sempre será mais facil de usar. Tens teclas de atalho, menus , grqaficos dinamicos, etc etc… que em web, tb podes ter, mas dá um trabalhão …
Se a aplicação for complexa o suficiente em termos de edição de dados, web não comporta e/ou o usuário tem que sofrer muito.
Na realidade o MVC que é implementado pelo Swing e pelo JSF (por exmeplo) são o mesmo padrão. Só que as pessoas confundem o MVC do Swing com o MVC da sua aplicação e ai é que vaca vai pro brejo…
Repara que o Swing é apenas o V do MVC da tua aplicação (tal qual o HTML), embora ele, internamente implemente o seu ppr MVC.
Depois que se entende isto programar swing é simples, o problema é conseguir entender isto.
Não confundam destribuição via web com interface html , nem aplicação desktop swing com aplicação standalone. Essas coisas não têm nada a ver.
[quote]sergioborda escreveu:
Não confundam destribuição via web com interface html…[/quote]
Oq vem a ser distribuição via web? e aplicação distribuída? Oq vc quis dizer com interface html?
[quote]sergioborda escreveu:
…nem aplicação desktop swing com aplicação standalone. Essas coisas não têm nada a ver.[/quote]
Qual a diferença entre aplicação desktop swing e aplicação standalone?
Outra dúvida que tenho é sobre a interface swing…como coloca-la na web?
Abraços
sergio…
admito q minha experiencia com swing eh reduzida, e talvez eu não entenda como vc falou q devemos para torna-lo simples…
mas uma coisa eu acho certa, programando para web ou swing(local ounão, como vc disse), eu não quero fazer tela, não sou designer e não tenho conhecimentos de IOC suficientes para determinar padrões…sou programador…
ja participei de grandes projetos web onde a interação com o usuário era dinâmica e eficiente, conceitos como tableless e ajax, e a união dos dois, fornecem uma ferramenta poderosa, permitindo paginas incriveis, e com tudo isso q vc falou de forma simples…
como eu disse antes, poderiamos ficar horas discutindo sobre isso…e acho q nunca iriamos concordar 100%, hehehehehe…o lance eh cada um fazer o seu…
flw
[quote=“gbazilio”][quote]sergioborda escreveu:
Não confundam distribuição via web com interface html…[/quote]
Oq vem a ser distribuição via web? e aplicação distribuída? Oq vc quis dizer com interface html?
[/quote]
Aplicação distribuída é aquela em que , grosso modo, o código roda em mais do que uma máquina. Uma aplicação feita em jsp ou afim , não é distribuída (normalmente não é. O ajax veio mudar isso).
Distribuição usei como sinônimo de deploy (tlv infelizmente - pq não tem nada a ver com aplicação distribuída). Distribuição é o ato de fornecer a aplicação ao seu usuário final.
Interface html referia-se a interface gráfica no browser escrita em html.
Então uma aplicação feita com jsp, por exemplo, cuja interface é html no browser, é distribuida via web (http). Mas uma aplicação feita com swing,cuja interface gráfica não é html, tb pode ser distribuida via web (tecnologia jws)
Aplicação standalone é aquela que não depende de um servidor central.
(o eclipse, ou o netbeans são aplicações standalone). Todas as aplicações jsp , por exemplo , dependem, e portanto não são standalone.
Aplicação desktop swing é uma aplicação que corre no desktop e cuja interface foi feita em swing.
Uma aplicação feita em swing e que corre no desktop ñ é necessáriamente uma aplicação standalone, pois é possivel fazê-la comunicar com um servidor de forma semelhante à que um browser usa. Aliás, esse é um dos usos possíveis da tecnologia EJB. Com isto, toda a logica está no servidor e a aplicação no desktop é apenas uma interface. A vantagem é que é um interface muito rica e que pode comunicar com a máquina local (aceder o regestry, usar dlls, sokets, periféricos, etc…)
É só usar a tecnologia JWS (Java Web Start) - a aplicação é instalada e começa (start) através de um browser ,mas corre desacoplada dele.
Isso é uma forma de distribuir uma aplicação swing via web. ( A única coisa que o usuário necessita é um browser. Ajuda se tiver um JVM , mas se não , pode ser instalada junto)
Básicamente, desenvolve-se a aplicação swing normalmente, com uma classe que tenha o metodo main e depois cria-se uma arquivo xml que contém certas propriedades que o JWS usará para baixar a aplicação de um servidor e executá-la.
Nem tanto. A DisplayTag está aí para isso
Também gosto de Swing, aliás comoçei em Java como muitas pessoas: programando em Swing. Hoje há muito mais ferramentas para se trabalhar com Swing do que há um tempo atrás. O JGoodies é um bom exemplo de framework que facilita bastante a construção de interfaces.
Eu já acho o contrário, programadores iniciantes devem ter menos contato possível com RAD. Como você disse, o NetBeans gera uam série de códigos sozinho, sem que o programador inicante saiba o que está acontecendo de verdade.
Programadores iniciantes em Swing devem de preferência, utilizar o bloco de notas para começar a se familiarizar com todos os componentes, listeners, etc…
Não entendi. Porque uma aplicação construiída em JSP não pode ser uma aplicação distribuída ? e se tiver EJBs na camada de negócio ?
E o que o Ajax tem a ver com isso ?
O Ajax é apenas uma tecnologia (não muito nova) que visa aumentar a interatividade usuário-aplicação.