É viável, para aplicações desktop, utilizar interfaces com html, css e javascript?
Isso partiria para a categoria de web visando a aplicação em rede, e sim na minha concepção é viavel.
Tudo que é web e sendo uma idéia bacana, é viavel.
Hoje em dia para aplicações que havera usuarios, recomenda-se a aplicação em web.
A natureza de meu projeto é um sistema totalmente funcional para restaurantes.
PDV, Reservas de Mesas, Contas a pagar / receber, e etc.
Sei que eu posso fazer isso utilizando Java e com seu Front-End em html, flex.
Meu problema e que não estou muito acostumado com o swing e acho ele, por enquanto, um Framework
muito pobre em questões de customização e beleza. Claro, falo isso pelo meu nível ainda no caminho Java.
Perfeito. Acredito que o front-end em html e afins, será o que vai atender com mais eficiência os requisitos do sistema.
GAME-OVER
Exato. Esse é um problema complicado e de solução mais complicada ainda. O único empecilho para a realização do mesmo com tecnologia web está na nota fiscal.
Mas felizmente esse problema a cada dia chega a um veredito final.
Mas ainda vou análisar todos os casos, mas, eu já sei que parte do sistema será em tecnologia web, como cardápios para celular e tabletes e cadastro de pedidos por palm.
Você não precisa fazer todos os módulos em uma única tecnologia, veja o que for ideal para cada processo. O que exigir recursos além do possível, faz aplicação nativa. Você citou Flex, mas esqueça isso, se mantenha na ideia do HTML mesmo.
Para o seu problema e requisitos de sistemas, meu amigo, essa semana no JustJava 2013 apresentaram um SDK sensacional: www.tidesdk.org.
Você desenvolverá aplicações desktop com web development skill, ou seja, será como estivesse desenvolvendo uma aplicação web porém ela será nativamente desktop.
Entedeu? É meio confuso né…mas estou estudando o assunto e me parece muito promissor. Pelo jeito…“Era uma vez, swing, fx, e todas essas maracutais”
E aí amigão, blz?
Então mano, nativo, nativo mesmo a gente sabe que não é! Nem o Java é…se fosse, não precisariamos de uma JVM. Com exceção das JNI´S que é outra história.
Pelo que eu entendi desse tookit, quando falam em aplicações nativas ACHO que querem dizer: "Na distribuição, geram códigos nativos para a plataforma alvo"
Nesse link(http://www.slideshare.net/javamanrj/construindo-aplicaes-desktop-com-html-css-e-js-riojs-conference) tem um slide que mostra a transformação:
html/css/js -> empacota -> executável ou html/css/js -> PONTE -> Código Nativo
Vou fazer uns testes e me interar melhor pra não ficar falando bobagens aqui.
O que eu posso afirmar, é que existe uma tendência fortíssima no mercado para a triplice html/css/js ser padrão para tudo que é tipo de aplicação: Web, desktop, mobile…
Ou você acha que a Microsoft gosta da gente pra distribuir Voucher de graça para a certificação do HTML 5?
Vamos conversando amigo, essa discussão é bem bacana.
Não sou muito de ficar discutindo em forum e afins (Você pode ver de quando é meu cadastro aqui no GUJ e a quantidade de msg postada rssrssr), mas esse assunto/tema eu quero ver e vivenciar de perto com a comunidade.
Abração,
Li agora a pouco, um artigo bastante pertinente, ao tema, na Java Magazine(nº 116) deste mês.
Segue a INTRODUÇÃO do Artigo: O QUE PRECISO SABER SOBRE HTML 5 ?
E a bola da vez é o HTML 5. Se você ainda não ouviu falar sobre HTML 5, confesse: você não se preocupa em estar atualizado. Atualmente, é difícil encontrar um blog respeitável de tecnologia que não tenha abordado HTML 5. Saiba que atualmente você tem à disposição uma infinidade de materiais como sites, livros, artigos, eventos e fóruns a respeito destes temas (sim, não é um erro de português, logo mais será explicado por que ?temas? foi escrito no plural) que vêm sendo trabalhados desde alguns anos atrás, mesmo antes de surgir o nome HTML 5.
Muitos desenvolvedores Java, quando ouvem falar de HTML 5, mantêm uma certa distância. ?Não preciso gastar tempo com isso, pois eu sou um desenvolvedor back-end e este papo é coisa de web designer.? ou então ?Não me importo, pois quem gera o código-fonte HTML e JavaScript é o meu servidor de aplicações através de JSF e jQuery, então não preciso me preocupar com HTML 5, pois aposto que isto logo aparecerá no JSF e jQuery.?. Errado e errado. Quem não vencer o preconceito contra tecnologias client-side continuará defasado, construindo aplicações que logo serão passadas para trás, pois não aprenderá sobre as diversas técnicas em HTML 5 para a diminuição do tempo de resposta em aplicações web. Também não aprenderá sobre as vantagens de ter o mesmo código-fonte funcionando bem tanto em computadores quanto em dispositivos móveis. Ainda, continuará dependendo mais e mais de plug-ins e frameworks, quando há suporte nativo para a realização de diversas funcionalidades. Se você ainda acha que não precisa se preocupar com HTML 5, fica a sugestão para você VOLTAR A PROGAMAR EM SWING.
Para quem está interessado em HTML 5, saiba que o autor está muito satisfeito de lhe ter como leitor, pois é preciso ter a cabeça aberta para abraçar novas ideias. Pode parecer estranho no início, mas tenha os seguintes pontos em mente:
-
Aplicações web, mesmo sendo compostas por diversas camadas e componentes, representam um único conceito para o usuário final (assim como a maioria das aplicações em geral). Desta forma, o desenvolvedor deve estar aberto para deslocar o esforço do desenvolvimento de cada funcionalidade à camada que proporcionar a melhor experiência ao usuário (leia-se: pode ser melhor mover algumas funcionalidades do server-side para o client-side);
-
Usuários de dispositivos móveis querem navegar em aplicações web que se comportem como aplicações móveis, então é especialmente importante realizar uma parte significativa dessas aplicações no client-side. Mesmo podendo oferecer ao usuário aplicações móveis nativas ao invés de aplicações web, há diversos motivos para investir em aplicações web para dispositivos móveis (será explicado mais adiante);
-
O navegador web é a interface definitiva para aplicações nos dias de hoje, pois é acessível a todos os dispositivos, possui conceitos universais de interação com o usuário como os hyperlinks e os botões voltar, avançar, ir e parar, além de oferecer mobilidade, pois o usuário pode acessar a mesma aplicação de onde quer que ele esteja;
Fonte: http://www.devmedia.com.br/revista-java-magazine-116/28258
E aí Wellington, blz?!?!
Concordo com você. O HTML 5 não vai resolver todos os problemas e seria o maior clichê afirmar isso.
Anteriormente aos avanços da Web 2.0, ajax e das tecnologias de browsers e afins, eu apoiava fortemente que algumas aplicações com muita interação com o usuário (por quesitos de usuabilidades entre outros) fossem desenvolvidas para desktops mesmo (Delphi, VB, Swing).
Atualmente não tenho mais esse pensamento pois essas novas bibliotecas de componentes web (Jquery, ExtJS, Dojo, JSF, Prime, Rich, etc) conseguem atender bem essa interação com o usuário e, diga-se de passagem, estão cada vez mais bonitas e apreciável aos olhos do usuário.
Eu não gosto do JSF e suas extensões, acho os componentes feios, limitados e amarrados. Eu sou fã mesmo é do ExtJS da Sencha.
Cara, to pra ver componentes iguais esses viu! Se tiver oportunidade, da uma olhadinha neles: http://www.sencha.com/products/extjs/examples/
Eu só estou estranhando um pouco esse skin da moda, estilo windows 8.
Sei que o JSF agilizou muito, mas muito mesmo, o desenvolvimento de aplicações web. Mas sei lá…não curti não. Acho que é por não gostar do JSP desde o começo rsrsrs
É como o cara do artigo falou, a gente do ‘Mundo do Java’ tem um certo preconceito com essa tecnologias…eu acredito que estou perdendo esse preconceito!
E não vamos colocar o HTML 5 no pedestal, mas que ele é a bala de prata que tu falou é sim! E vai matar um monte de vampiros por aí rsrssr
Isso depende muito do que essa aplicação desktop irá fazer e de como a arquitetura dessa aplicação está sendo pensada.
Só com o que você colocou, eu diria que não é muito viável e que, se é para usar interfaces com html, css, javascript, que faça um sistema web mesmo, disponibilizado num container web (independente de ser estático ou dinâmico) e que o usuário acesse diretamente via algum browser.
Para dizer sobre sua viabilidade, precisa-se que você diga qual a intenção desse sistema e/ou os motivos que levam a ter interesse em fazê-lo dessa maneira.
Um exemplo interessante são as apps mobile. Muitas são apenas uma “casca” para um navegador “embedded” que acessam páginas html. Muitos acabam migrando posteriormente para sistema mobile completo (acessando via rede apenas informações de negócio), melhorando a performance como um todo.
[quote=luizpicolo]A natureza de meu projeto é um sistema totalmente funcional para restaurantes.
PDV, Reservas de Mesas, Contas a pagar / receber, e etc.
Sei que eu posso fazer isso utilizando Java e com seu Front-End em html, flex.
Meu problema e que não estou muito acostumado com o swing e acho ele, por enquanto, um Framework
muito pobre em questões de customização e beleza. Claro, falo isso pelo meu nível ainda no caminho Java.[/quote]Na verdade, o Swing é bem extensível e pode ser totalmente customizado para ter a aparência que desejar (porém, considerando um sistema simples, pode ser um esforço que as vezes pode não valer a pena).
Uma outra opção é utilizar JavaFX que é um pouco mais produtivo e muito mais simples de customizar (porém já notei algumas pequenas limitações de customização mas que em teu sistema, possivelmente, não vá se deparar).
Mas pelo meu entendimento, a decisão de frontend não é técnica mas sim as ferramentas que você tem a disposição e conhece.
Se não quer “se aventurar” em conhecer Swing ou JavaFX, é possível sim fazer utilizando HTML.
[quote=luizpicolo]Perfeito. Acredito que o front-end em html e afins, será o que vai atender com mais eficiência os requisitos do sistema.
GAME-OVER[/quote]Permite-me uma correção? Vai atender tuas necessidades mas discordo com relação a eficiência aos requisitos do sistema. Pode até ser mais eficiente em termos de desenvolvimento mas haverão alguns obstáculos a serem ultrapassados que, se fosse sem HTML, poderia ser mais rápido (ex.: impressora fiscal).
Boa sorte no sistema, tendo dúvidas, continue postando.
Hmmm… esta parte vc não tinha informado antes. É bom ter bem fechado o escopo do que será feito para então decidir pelas tecnologias.
[quote=Hermesnet]Para o seu problema e requisitos de sistemas, meu amigo, essa semana no JustJava 2013 apresentaram um SDK sensacional: www.tidesdk.org.
Você desenvolverá aplicações desktop com web development skill, ou seja, será como estivesse desenvolvendo uma aplicação web porém ela será nativamente desktop.
Entedeu? É meio confuso né…mas estou estudando o assunto e me parece muito promissor. Pelo jeito…“Era uma vez, swing, fx, e todas essas maracutais”[/quote]Tenho dúvidas se isso não é uma gambiarra. Mas vi que aceita Python, PHP e Ruby.
Mas sensação que tenho é que isso é mais um Navegador e um Servidor HTML embarcado em forma de aplicação.
E esse papo de nativo não é verdade. Exceto se, depois de criado o HTML, o sistema traduza as telas construidas em algum formato “proprietário” (bytecode ou algo similar).
Não é que eu considere a proposta ruim (apesar de ainda considerar os paradigmas diferentes) e até é interessante que esse movimento ocorra.
Em casa, vou dar uma olhada nesse slide.
[quote=Hermesnet]Li agora a pouco, um artigo bastante pertinente, ao tema, na Java Magazine(nº 116) deste mês.
Segue a INTRODUÇÃO do Artigo: O QUE PRECISO SABER SOBRE HTML 5 ?
E a bola da vez é o HTML 5. Se você ainda não ouviu falar sobre HTML 5, confesse: você não se preocupa em estar atualizado. Atualmente, é difícil encontrar um blog respeitável de tecnologia que não tenha abordado HTML 5. Saiba que atualmente você tem à disposição uma infinidade de materiais como sites, livros, artigos, eventos e fóruns a respeito destes temas (sim, não é um erro de português, logo mais será explicado por que ?temas? foi escrito no plural) que vêm sendo trabalhados desde alguns anos atrás, mesmo antes de surgir o nome HTML 5.
Muitos desenvolvedores Java, quando ouvem falar de HTML 5, mantêm uma certa distância. ?Não preciso gastar tempo com isso, pois eu sou um desenvolvedor back-end e este papo é coisa de web designer.? ou então ?Não me importo, pois quem gera o código-fonte HTML e JavaScript é o meu servidor de aplicações através de JSF e jQuery, então não preciso me preocupar com HTML 5, pois aposto que isto logo aparecerá no JSF e jQuery.?. Errado e errado. Quem não vencer o preconceito contra tecnologias client-side continuará defasado, construindo aplicações que logo serão passadas para trás, pois não aprenderá sobre as diversas técnicas em HTML 5 para a diminuição do tempo de resposta em aplicações web. Também não aprenderá sobre as vantagens de ter o mesmo código-fonte funcionando bem tanto em computadores quanto em dispositivos móveis. Ainda, continuará dependendo mais e mais de plug-ins e frameworks, quando há suporte nativo para a realização de diversas funcionalidades. Se você ainda acha que não precisa se preocupar com HTML 5, fica a sugestão para você VOLTAR A PROGAMAR EM SWING.
Para quem está interessado em HTML 5, saiba que o autor está muito satisfeito de lhe ter como leitor, pois é preciso ter a cabeça aberta para abraçar novas ideias. Pode parecer estranho no início, mas tenha os seguintes pontos em mente:
-
Aplicações web, mesmo sendo compostas por diversas camadas e componentes, representam um único conceito para o usuário final (assim como a maioria das aplicações em geral). Desta forma, o desenvolvedor deve estar aberto para deslocar o esforço do desenvolvimento de cada funcionalidade à camada que proporcionar a melhor experiência ao usuário (leia-se: pode ser melhor mover algumas funcionalidades do server-side para o client-side);
-
Usuários de dispositivos móveis querem navegar em aplicações web que se comportem como aplicações móveis, então é especialmente importante realizar uma parte significativa dessas aplicações no client-side. Mesmo podendo oferecer ao usuário aplicações móveis nativas ao invés de aplicações web, há diversos motivos para investir em aplicações web para dispositivos móveis (será explicado mais adiante);
-
O navegador web é a interface definitiva para aplicações nos dias de hoje, pois é acessível a todos os dispositivos, possui conceitos universais de interação com o usuário como os hyperlinks e os botões voltar, avançar, ir e parar, além de oferecer mobilidade, pois o usuário pode acessar a mesma aplicação de onde quer que ele esteja;
Fonte: http://www.devmedia.com.br/revista-java-magazine-116/28258
[/quote]
Opa, então, ao invés de ir para Swing, vou para JavaFX hehehe (brincadeira).
Esse texto é o típico texto da “bala de prata” que resolve todos os problemas. Hoje a “bala de prata” é o HTML 5. Nada contra ele, pelo contrário, acho ótima essa evolução e ela deve continuar sendo difundida. Mas não devemos colocar o HTML5 num pedestal como a solução perfeita para sistemas. Por exemplo os sistemas móveis: muitos migraram de uma interface web para uma interface nativa. A interface Web foi boa para disseminar rapidamente a aplicação mas a necessidade de evolução levou esses mesmos sistemas a migrarem para interfaces nativas por diversos motivos.