Criando sistema do zero- Começar pela codificação da regra de negócio ou pela interfaca( Swing)

99 respostas
L

Pessoal estou fazendo dois sistemas diferentes em java, um para uma petshop e o outro para uma loja que vende e conserta móveis. Embora as regras de negócios não sejam tão complexas, estou em dúvida se codifico tudo primeiro persistencia e tals, ou se inicio pelo swing . Igual já comecei as regras e estou fazendo a persistencia, mas como tenho que fazer o outro sistema, gostaria de saber qual o melhor caminho.

Obrigada.

99 Respostas

J

Vai iniciar um projeto novo com uma tecnologia morta (Swing)?

Independente da sua escolha técnica, se já levantou os requisitos funcionais, então você deve iniciar pelo protótipo do que vai ser priorizado desenvolver.

L

Olá,

Obrigada pela sua resposta, eu estou estudando sozinha e a maioria dos materiais que tenho (deitel, caelum e facul) falam do swing, mas com a sua resposta vi que agora a tecnologia seria o JavaFX, vou estudar então e fazer nela já que não fiz nada de gui ainda.
Valeu mesmo, essa dúvida tava me tirando o sono.

W

Nem toda tecnologia nova é sinal de produtividade. Muito cuidado com as modinhas que o pessoal andam pregando por ai. Eu utilizei o JavaFX e não tive uma experiência muito boa não. Pelo que me parece a tecnologia tem muito a evoluir, mas criar um sistema utilizando javafx 100% pode se tornar um erro calculado. Acredito que o SWING ainda vai reinar por tempo ainda. Quanto a sua questão, eu sempre quando inicio um projeto eu começo pelo levantamento dos requisitos, depois eu parto para a UML ligando os atores externos a regra de negócio; com a regra formada eu codifico as classes necessárias. Assim eu acostumo deixar o FrontEnd para depois. Espero ter ajudado.

L

Obrigada William,realmente acredito que uma tecnologia não fica ultrapassada assim de uma hora para outra, tem várias empresas que trabalhei que estão recém migrando sistemas de forms and reports, delphi etc para tecnologias mais atuais, então penso que o swing tem bastante chão pela frente. No caso, eu pensei e como tenho que fazer dois sistemas, vou fazer um no swing e outro no javafx para conhecer e comparar os dois. Sobre o gui eu prefiro também fazer primeiro o backend, mas pelo que andei lendo a boa prática diz para iniciar pela interface e depois codificar. Enfim, como não tenho experiência, sinceramente fico em dúvida em que fazer, estou fazendo no feeling mesmo.

Obrigada pelo seu comentário ; )

J

Ambas as tecnologias não são as melhores e nem as mais usadas para aplicações desktop. Oracle está sepultando o Swing e JavaFx fica eternamente como “promessa”.

J

Ambas as tecnologias não são as melhores e nem as mais usadas para
aplicações desktop. Oracle está sepultando o Swing e JavaFx fica
eternamente como “promessa”.

JavaFX e’ promessa pra quem não programa com ele.

JavaFX e’ uma ótima opção para desktop, em relação a ser melhor ou pior depende da experiencia e necessidade de cada um e de cada projeto.

J

Pessoal estou fazendo dois sistemas diferentes em
java, um para uma petshop e o outro para uma loja que vende e conserta
móveis. Embora as regras de negócios não sejam tão complexas, estou em
dúvida se codifico tudo primeiro persistencia e tals, ou se inicio pelo
swing . Igual já comecei as regras e estou fazendo a persistencia, mas
como tenho que fazer o outro sistema, gostaria de saber qual o melhor
caminho.

Obrigada.

Isso depende de cada um, você precisa saber como se sente mais confortável e onde e’ mais produtiva. Em relação ao Swing, já gastei até a cor das teclas do teclado com ele e hoje programo usando o JavaFX na vida real.
Se quer mesmo saber, prefira o JavaFX, é ótimo para desktop, quando falo em desktop não falo necessariamente em sistemas comerciais.

W

Só para aguçar sua curiosidade, tente popular uma Tabela com JavaFX e depois faça o mesmo com o Swing. Ai voce vai tirar suas conclusões.

A

O TableView do Fx é realmete diferente do JTable, pra facilitar minha vida criei um TableView em que seto um "TableModel " similar ao JTable.

Mas com relação à pergunta, faça primeiro o modelo de dados, porquê é meio difícil criar as telas sem saber o que elas vão guardar.

Sobre Fx ou Swing escolha o que mais se adequa à situação, sempre indico o JavaFx pelas possibilidades e experiência do usuário que ele proporciona, além de (em muitos casos) ser mais fácil de codificar. Vim entender melhor o Swing depois que comecei a trabalhar com o Fx.

Sucesso.

J

Só para aguçar sua curiosidade, tente popular uma Tabela com JavaFX e depois faça o mesmo com o Swing. Ai voce vai tirar suas conclusões.

Fiquei curioso, tenho um monte de TableView aqui populada, qual e’ o problema ?
Vale lembrar que ta’ bem mais simples programar em JavaFX que em Swing. a coisa que não gosto no JavaFX e’ o runLater, mas isso não deve ser um obstaculo comparado a todas as vantagens de JavaFX.

P

Desenvolvimento de software é um processo iterativo e geralmente não faz diferença onde começa um círculo.

ps: não perca seu tempo com Swing e Javafx, são tecnologias sem futuro.

W

Você já tentou utilizar Java Web para desenvolvimento de aplicativos que até então acreditávamos ser somente para Desktop?

J

Você ta’ falando do que exatamente ???

P

aplicativo pra celular?

J

A baixa adoção já diz muita coisa.

J

A baixa adoção já diz muita coisa.

Baixa adoção não tem nada a ver com promessa. As pessoas que gostam de JavaFX e programam nele, não precisam da permissão, tão pouco da benção de quem não gosta ou não usa. Agora daí a falar que não e’ real e’ delírio.
Se você não gosta de JavaFX ou Java em si’ e’ direito seu. Agora não venha querer me catequizar.

J

Não quero “catequizar”, é só a minha opinião, ninguém é obrigado a concordar, você pode apostar no que quiser

J

Não quero “catequizar”, é só a minha opinião, ninguém é obrigado a concordar, você pode apostar no que quiser

Você programa em JavaFX ?

J

Lógico que não uso JavaFx, poucos usam profissionalmente, não acho bom fazer o cliente pagar por apostas.

J

Então esse e’ seu problema, falar de coisa de não usa. Eu uso profissionalmente e meus clientes estão satisfeitissimos.

J

Até chegar o momento dos seus clientes precisarem de outras pessoas para dar continuidade, com poucos profissionais qualificados e interessados.

J

O mercado está cheio de programadores Java, quem programa Java, programa JavaFX sem nenhum problema.

J

A maior fatia de programadores Java são focados em web.

J

Java e’ sempre Java, e quem programa Java web programa desktop tambem, o importante e’ saber programar.

J

Isso na teoria, quis dizer que o cara não vai estar disponível para atuar com desktop, pois em Java a demanda é maior para web.

J

Isso na pratica. A curva pra quem ja’ programa Java, programar em JavaFX e’ minima. Falo isso porque eu programo e sei que to falando.

J

Isso na teoria, quis dizer que o cara não vai estar disponível para atuar com desktop, pois em Java a demanda é maior para web.

Ai que está o pulo do gato, se tiver menos programadores especializadas o valor do contrato e’ maior.

Quando eu comecei, eu comecei com assembler e pascal, depois passei pra cobol na area de sistemas comerciais.
Depois programadores como você falavam que clipper iria destronar o cobol e em parte isso aconteceu, mas eu disse em parte, porque hoje em dia os bancos e grandes empresas ainda usam cobol e pagam uma fortura pra programadores e consultores cobol. Falo isso pois tenho um parente que e’ consultor de ti.

J

Uma coisa é tecnologia antiga que “pegou” na época, isso sim valoriza, outra coisa é tecnologia nova que ainda não pegou. Eu não falei de Cobol, você está maluco?

J

Em primeiro lugar eu não tô maluco apenas dei um exemplo porque na epoca cobol era recente tambem, “aprenda a ler”, e JavaFX já não e’ tão novinho assim, a versão 9 dele já esta ai. E ao contrario do que você diz, tem sim muita gente usando

J

Está maluco sim, não cite a pessoa em algo que ela não falou, sempre falo que Cobol virou um excelente nicho.

Tem razão, JavaFx tão não é novinho mesmo, e até hoje não pegou, dessa forma na prática para o mercado ainda é uma tecnologia nova, sem efetivo profissional.

J

Maluco ta’ você !!. Que fala de coisa que desconhece e demonstra ser um belo preconceituoso.
E que trata linguagem de programação como fosse religião, a ponto de ficar toda hora soltando veneno contra JavaFX.

J

Conheço que quase ninguém usa profissionalmente, então não coloco o cliente diante desse fato, tem que ser profissional. Como já te falei, você pode apostar no quiser, pode ser que no futuro pegue, você vai se dar muito bem se isso acontecer e o cliente não vai ficar na mão, mas pelo menos ainda não é algo consolidado profissionalmente. Religião? Estou defendendo exatamente o contrário, de não seguir a religião de usar Java pra tudo, Java é mais consolidado para web.

J

Conheço que quase ninguém usa profissionalmente, então não coloco o
cliente diante desse fato, tem que ser profissional. Como já te falei,
você pode apostar no quiser, pode ser que no futuro pegue, você vai se
dar muito bem se isso acontecer, mas pelo menos ainda não é algo
consolidado profissionalmente. Religião? Estou defendendo exatamente o
contrário, de não seguir a religião de usar Java pra tudo, Java é mais
consolidado para web.

Religião sim. Você parace aquele povo chato das testemunhas de Jeova’.
Tem Java em quase tudo em consta em mais de 3 bilhoes de dispositivos.
Se eu quero desenvolver um aplicativo em JavaFX que seja desktop ou não e queira vender isso e’ problema meu.

Veja os numeros e para de bancar instituto de pesquisa “javaflex”.

https://www.java.com/pt_BR/about/

J

Não me mande link da bíblia. Olha o que essa bíblia fala “3 Bilhões de Telefones Celulares Executam o Java”. Os telefones mais usados hoje são Android e iOS, ambos não suportam aplicações Java.

J

Não me mande link da bíblia. Olha o que essa bíblia fala “3 Bilhões de
Telefones Celulares Executam o Java”. Os telefones mais usados hoje são
Android e iOS, ambos não suportam aplicações Java.

Alem de preconceituoso e’ mal informado. Os paíse pobres quase não tem acesso a nova tecnologia. Bom !! certo mesmo deve estar o instituto de pesquisa “javaflex”, o lider religioso anti java. Alias o que acontece, a linguagem que vc programa não tem gente por la’ e você vem aqui profetizar o fim do java ?

J

Você está no tempo do Symbian ainda, este sim executava aplicações Java. Não profetizo fim do Java, que é bem consolidado para web. Eu programo atualmente com C#/.NET, já trabalhei com Java para web e não teria problema em voltar se for o caso.

J

Você está no tempo do Symbian ainda, este sim executava aplicações
Java. Não profetizo fim do Java, que é bem consolidado para web. Eu
programo atualmente em C#, já trabalhei com Java para web e não teria
problema em voltar se for o caso.

Pra mim C# e’ um lixo e nem por isso vou ficar te retrucando la’ no seu espaço. Afinal de contas eu não tenho culpa se você e’ ruim de Java ou somente programou pra web.

J

Você manda um link daquele falando que “3 Bilhões de Telefones Celulares Executam o Java” e eu que sou ruim de Java? Cresce cara.

J

Voce sim deve crescer e aprender a respeitar quem pensa diferente de você.

Se você tá duvidando dos numeros do java, vai contar. Ja’ que você tem um instituto particular.

J

“3 Bilhões de Telefones Celulares Executam o Java”

Vamos começar a contar então, você ainda usa celular com Symbian?

J

3 Bilhões de Telefones Celulares Executam o Java"

Vamos começar a contar então, você ainda usa celular com Symbian?

O que existe e’ um mercado potencial mundial que usa java e se pode lucrar com ele.

Como aconteceu com o whatsapp, ao contrario do que pensam, a maioria absoluta de usuarios dele era e continua sendo j2me.;

Eu sou a minoria, para de pensar que somente existe eu e você no mundo.

J

Se pra você a maioria hoje em potencial usa Symbian, ao invés de Android e iOS, tudo bem, não vou discutir sobre isso.

J

Pega os dados da venda do whatapps e você vera que não sabe onde o galo cantou.

Que alias, voce devia usar seu tempo pra ajudar gente em dificuldade com C#, deixa de ser invejoso em relação a Java.
e para de encher o saco.

J

Tudo bem, boa sorte com j2me.

J

Tudo bem, boa sorte com j2me.

Obrigado e boa sorte com C#, e vê se some das postagens do Java.

O que as pessoas ignorantes precisam entender e’ que eu não preciso sempre de um computador de mao com uma ram de 8 giga custando 1500 reais, pra programar um chip por exemplo que vai consumir 200 kbytes e custa R$ 8,00.

I

Caramba o @j-menezes escrevendo merda aqui também.
Não liga não @javaflex, da próxima vez só olha de quem foi a resposta, dependendo nem responde de novo.

J

Pra vc ve, não e’ somente voce que tem o prazer de cagar.

J

Pois é cara, tem que ficar ligado.

J

E’ javaflex aproveita a dica e muda o seu tambem !! alias sugestões não vão te faltar.

J

Seja mais profissional e menos infantil.

J

Olha só quem fala !!! o cara programa C#, usa windows e acha que é profissa mesmo!!
Faça-me rir. !!!
Teve uma epoca que programar em clipper alguns programadores diziam que era o mesmo que mexer com droga.

J

Eu desenvolvo pra atender o que meu cliente usa, sou analista de sistemas, não sou programador da linguagem X.

J

Por isso você escreve tanta asneira. Eu devia mesmo ter desconfiado, não programa uma linha e fica dando pitaco em quem programa java.

J

Aprende a interpretar textos rapaz.

A

Ainda nisso? Cara Java, C# nada disso importa o que importa é o produto final, se vai ser em JavaFx, Swing, Forms, WPF, JSF, ou sei lá o quê, o que manda é o que você domina.

J

Isso e’ falsidade ideologica, uma hora programa C# outra hora não programa mais, fala serio, deixa de ser ridiciulo

J

Ainda nisso? Cara Java, C# nada disso importa o que importa é o produto
final, se vai ser em JavaFx, Swing, Forms, WPF, JSF, ou sei lá o quê, o
que manda é o que você domina.

Eu concordo com você. Mas o que vem acontecendo neste forum e’ urubu contra o java enchendo o saco toda hora.
Ao invés de ajudar na duvida real, o que quer mesmo e’ falar mal do java. Horas se gosta de C# tudo bem, vai lá no espaço e discute a tecnologia.

W

Gente numa boa, vamos manter o nível aqui. Ninguém aqui é expert em nada, somos todos aprendizes. Se fossemos expert em alguma coisa não estaríamos neste espaço de grande valia para nós. Acredito que esse fórum tenha mediação para não permitir esse tipo de situação. Essa discussão não leva conhecimento a ninguém. Vamos todos acalmar os ânimos e torcer para que tudo dê certo para todos.

R

Sou desenvolvedor Java e trabalho na área, vou deixar minha pequena e humilde sugestão:

-> O Swing ta morto, não é que está morrendo, ta morto mesmo, mataram mas não enterraram, a própria Oracle confirma que o JavaFX é um replacement do Swing, segue o link: http://www.oracle.com/technetwork/java/javafx/overview/faq-1446554.html#6, inclusive a mesma aconselha a desenvolver usar o JavaFX, mas deixa uma dica, é possível utilizar o Swing junto com o JavaFX.

Baseado nisso, eu aconselho a ir direto pro Java FX, eu posso lhe afirmar que ele tem uma interface GUI um pouco mais bonitinha que o Swing, fora que com Java FX você pode utilizar recursos de HTML para desenvolver sua aplicação, como CSS e a própria linguagem HTML para criar componentes. E ainda tem uma IDE para o mesmo, chamada Scene Builder que não gera aquele lixo de código que o Netbeans gera, e você ainda consegue trabalhar com XML para escrever sua GUI, fora o recurso de arrastar e soltar.

No meu trabalho a gente não usa mais o Swing, estamos usando o Java FX, e tem muitos programas inclsuive open sources distribuido por ai.

-> Sobre por onde começar, eu começaria do backend, mas se você tiver uma equipe nada impede de realizar o desenvolvimento em paralelo, backend e frontend, porém, particularmente no frontend eu prefiro começar pela interface visual e depois codificar, até porque não sou expert em design, mas até quem manja de design já ouvi falar que prefere desenhar a tela e depois escrever código.

Finalizando, aconselho a usar JavaFX, mas você é obrigado? Não, você é livre pra usar a linguagem e a ferramenta que quiser, tem gente que não sai do Swing porque já tem tanta experiência e conhece tanto o Swing que não vale a pena gastar tempo desenvolvendo em Java FX, o cara consegue terminar um sistema em Swing em 1 semana enquanto que em Java FX ele vai ter que reaprender algumas coisa e prefere não querer arriscar, mas tem gente que gostou do JavaFX até pelo design novo e pela abordagem diferenciada(utilizando XML, CSS e etc.) que decidiu largar o Swing. Sobre por onde começar se tiver uma equipe média separe o backend do frontend e comece os dois juntos, sem problemas, agora se tem uma equipe bem pequena, comece com o backend, até mesmo porque lá que vocês irão validar as regras de negócios do sistema, o front é questão de usabilidade. Quando for para o frontend comece pelo Design e depois codifique.

Eu sou programador, mas nunca fiz questão de defender uma linguagem, nem de atacar outra, eu gosto é de programar, independente de linguagem, umas agradam mais que as outras pela simplicidade e/ou facilidade, mas você consegue desenvolver a mesma coisa com qualquer linguagem, até com Javascript dá pra fazer aplicativos desktop, com Lua e C você faz aplicativos Web, tudo é questão de momento, nós programadores sempre estamos querendo alguma coisa que nos ajude na nossa profissão, claro, temos o direito de escolher aquilo que nos faz sentir mais produtivos, por isso tudo tem um tempo, houve um tempo em que tudo era Java, hoje já muita coisa é Javascript/Node, e quem sabe no futuro o Java volte com algo inovador ou o PHP tenha uma remodelagem que o torne mais atrativo, a verdade é que queremos fazer o melhor para o nosso cliente da melhor forma, brigar por linguagem de programação é coisa de criança, programadores novatos ou pessoas orgulhosas que pararam no tempo e tem medo das inovações, um nome resumido pra resolver tudo isso se chama humildade, com isso você cresce e vai longe.

Abraços.

R

Mas os aplicativos nativos de Android são feitos em java, hehehehe, acho que você se preciptou :smiley:

J

Leia direito antes de se precipitar, eu disse aplicação Java, estou colocando negrito mais uma vez pra deixar claro. Na própria especificação do aparelho vem falando não suportar Java. Tente então executar uma aplicação Java no Android.

O próprio @j-menezes se mostrou experiente de entender isso e defendeu que ainda é usado em plataformas que usam JavaME/j2me.

M

Bom sou programador java e trabalho profissionalmente a uns 4 anos e nesse meio tempo pude explorar bastante das diferentes maneiras de si lidar com java.

Minha opnião entre Tecnologias desktop.

É que se o sistema for um sistema relativamente simples um retaguarda, controle de estoque. Recomendo fazer em swing mesmo, ainda mais se não tiver muita experiência.
Porque trata-se de uma tecnologia já bem difundida e você terá muitas fontes de consultas para futuros problemas, aumentando assim sua produtividade e facilidade para desenvolver.

Já o caso de um sistema mais complexo, com multimídia e efeitos visuais mais avançados, recomendo JavaFX.

Um cenário diferente agora.
Caso queira aprender uma nova tecnologia java e atual. Recomendo ir para o JavaEE.

Recomendo muito começar com a programar web com JSF, pois trata-se de uma tecnologia muito fácil de se aprender, muito produtiva, e também com a diversidade de componentes já prontos você consegue fazer muito em pouco tempo e com qualidade.

Caso interesse pesquise sobre: JSF, PrimeFaces, BootsFaces, JPA. Caso já tenha alguma experiência com JSF, recomendo agregar a ultilização de CDI(Context Dependency Injection).

R

Calma cara, não precisa ficar nervoso, hehehe, tudo bem, entendi errado, desculpe. Mas os aplicativos Android são feitos em Java, não Java da Oracle, o Google tem sua própria VM, eles mesmo reimplementaram seus próprios ArrayList, HashMap, etc. Fica na paz.

W

Sempre vejo o @javaflex falando que Java pra desktop não rola. Não acho ruim, já que sou apenas um aspirante e ter a opinião de alguém que já trabalha na área é bastante importante.

Contudo, acabo ficando com algumas dúvidas e gostaria de aproveitar a discussão para saná-las.

  • O que faz Swing e JavaFX inadequadas para aplicações desktop? É por causa da plataforma Java em si ou é a forma como estas duas ferramentas foram arquitetadas? O problema está mais ligado a performance ou produtividade?

  • Vou criar uma aplicação desktop sem a possibilidade de implementá-la para web. A escolha da linguagem/plataforma não é um problema. Qual seria a melhor aposta hoje? Qual tecnologia usaria?

P

Opa, poderia passar o link das aplicações JavaFX open source que vc citou?

P

todo sistema operacional de desktop possui um kit de desenvolvimento de software. É só consultar com o fabricante do sistema operacional que você pretende suportar.

R

http://www.jrebirth.org/

Enfim, não da pra eu ficar colocando todas, mas só usar o google que você acha.

Mais alguma pergunta?

:smiley:

R

O @javaflex não é o dono da verdade, aquilo é a opinião dele, eu trabalho em uma empresa e desenvolvemos aplicações desktops com JavaFX sem problema algum, acho que ele falou em questão de popular, pois realmente para windows tem mais coisa feita em C# do que em Java.

M

De uma maneira simples de explicar Swing e JavaFX são ambas tecnologias voltadas para desenvolvimento desktop.

Quando falo desktop a execução será executada e disponibilizada na máquina em questão. E sua interface gráfica será desenhada a partir do recursos de cada sistema operacional. Semelhante a programas feito em C++.
Apesar de JavaFX abrir em HTMLViewer também, se não estou enganado. (Semelhante a alguns apps mobille)

Já o swing tem algumas limitações pois trata-se de uma tecnologia antiga. Uma das grandes dificuldade é a manipulação de arquivos multimídia(imagen, audio, video, etc…).
Já em JavaFX esse problema foi sanado. E com alguns melhorias. Por isso que ele vem substituindo aos poucos o swing que se este irá se tornará obsoleto.

Problema mais próximo a produtividade, pois se tem melhores recursos em JavaFX, porém menos conteúdo de fácil acesso.
Quanto a performance levando em conta que o código seja bem feito, a diferença creio eu que seja pouca, pois o grande diferencial que vejo entre Swing e JavaFX, é mais visual. Pois ambos rodam em cima da mesma VM.

Minha opnião:

Contras:
Alto consumo da RAM.
Necessidade da Versão do java instalado ser a mesma do que o software foi desenvolvido. (Versões diferentes podem funcionar vai depender dos recursos que o programa utiliza)

Pros:
—MULTIPLATAFORMA—
O mesmo programa roda em diferentes S.O.s pois ele não roda nativamente, mas em cima de uma máquina virtual - JVM

Grande comunidade disposta a ajudar e muito conteúdo de fácil acesso para ajudar no desenvolvimento.

Recomendo Java e VB.NET

Ambos por ser de facil aprendizagem, ênfase para o VB. Mercado de trabalho muito grande para estas duas tecnologias. Uma particularidade do java é que para migrar para web relativamente mais simples. Não que isto não seja possivel com ASP.NET.

Além do mercado de java ser maior, pois uma vez que se aprende java. Você é capaz de programar para celulares, desktops, apps web, até embarcado em alguns casos.

Outra linguagem muito interessante também é o C# pode-se facilmente programar para desktop, web, kinect (XBOX). E se assemelha muito ao java. Para quem sabe java não tem muitas dificuldades em migrar.

Espero ter esclarecido um pouco suas dúvidas.

W

@pfk66, mas será que quando alguém afirma que Java é ruim pra desktop, que é melhor usar outra coisa, está pensando em manter uma base de código diferente pra cada plataforma?

@rof20004, pensando aqui, talvez a questão esteja mesmo relacionada a popularidade. Com a adoção da ferramenta.

@Matheusrfjava, entre escolher Swing e JavaFX, o segundo ganha, mas minha dúvida é entre tecnologias Java versus outras tecnologias, sabe? Tipo, alguém diz que Java não é bom pra desktop. Beleza, mas qual seria a opção recomendada? Esta foi a dúvida que me ficou.

Já vi gente falando da performance do Java e considerando que seja mesmo a pior das opções, eu aprendi que nem sempre este é um quesito determinante, que é necessário considerar outras coisas como o conhecimento que o time já tem sobre uma certa tecnologia.

Aí penso que se o intuito é criar uma aplicação muito pesada como um editor gráfico como o Photoshop ou AutoCAD, ou um jogo com gráficos de última geração, Java seria a última das opções e o recomendado seria C++, C, e talvez Assembly.

Mas pro caso da pergunta, onde @lyah quer criar um software pra petshop, Java é mais que suficiente, não?

Enfim, para contribuir com links, aqui está um clone do jogo 2048 feito com JavaFX e portado para Android e iOS:

M

Respondi acima mas creio que não ficou muito claro.

Aqui apresentei ao menos uma alternativa ao java e poque escolhi a mesma. Opção recomendada, puro gosto. Escolhe a que te agrade mais e se sinta melhor.

Java é sim muito mais que suficiente, uma aplicação simples até mesmo javacript e php resolve.

Já com java ela poderá fazer todo o controle do petshop. Inclusive pode comunicar com a receita federal através de um webservice para captura das notas e fiscais e demais opreações.
Inclusive pode até implementar uma IA para sugerir medição a determinado animal com base em dados do monitoramento deles. (Aplicação extramente avançada. Mas que é possivel fazer em java sem muitos problemas)

Nota: Isso tudo usando Swing. Cabe a vocês decidirem se é necessário crucificar a tecnologia.

P

Quantos sistemas operacionais pra petshop existem na sua opinião?

P

Nossa realmente ficou muito mais fácil integrar animações e efeitos visuais na aplicação.

Como distribuo minha aplicação Javafx depois de pronta? Como posso monetiza-la?
Você falou em opensource, ótimo, mas nós programadores precisamos por comida na mesa de vez em quando. :slight_smile:

Minha opinião: Javafx é um avanço em relação a swing, mas não a outras tecnologias de front-end que conseguem ser tão simples quanto Javafx, além de oferecer pro desenvolvedor a possibilidade de distribuir sua aplicação para usuários e ganhar $$.

F

@lyah, tente começar já com Java EE.

Eu, assim como você, já fiz a mesma pergunta há alguns anos atrás.
Inclusive, já desenvolvi um sistema de gestão completo com Swing, e confesso que gostava bastante. Principalmente pelo suporte imenso que a comunidade dava e ainda dá.

De qualquer modo, pensando em você e na sua carreira, acredito que aprender o “Java Web” vale MUITO apena. Digo, caso seu sistema não lhe dê o retorno desejado (faço votos que dê), e você precise se colocar no mercado de trabalho, dominando esta tecnologia você facilmente conseguirá uma vaga!

Sucesso.

ps: a questão original nem era essa, sorry ^^

L

Obrigada.
Eu sou iniciante, quais seriam as tecnologias para aprender e utilizar no mercado de trabalho? Estes sistemas que estou fazendo serão usados por comércios pequenos, instalados em um desktop, qual seria a melhor tecnologia para usar? E para usar em grandes empresas, pois minha intenção é atuar no mercado de trabalho.

L

Olá Maria Obrigada pelo seu retorno.
Esses sistemas que estou fazendo, estou desenvolvendo para familiares que possuem negócios, usando o conhecimento que adquiri na facul e em livros. O que desejo mesmo é ingressar no mercado. A dificuldade que enfrento em aprender Java EE é que os materiais me parecem confusos, parecem coisas desconexas e distintas, você poderia me indicar um roteiro de aprendizado, tipo por onde começar e que caminho seguir? Obrigada!

L

Olá William

Java Web me parece confuso ainda, gostaria de dominar o java básico para depois aprender o web, que acho mais complexo.

J

Depende do caso. Opção mais profissional que possa compilar para vários sistemas operacionais? Se realmente precisa atender a diversos sistemas operacionais, C++ é o que eu considero mais profissional. Java vejo como uma opção barata, que torna a vida do programador mais fácil para recursos comuns entre sistemas operacionais. Como usuário eu não gostaria de usar por exemplo um navegador ou um Office feito em Java. Apesar de feito em Java, nem o Eclipse usa Swing ou JavaFx, usa toolkit portável que acessa componentes gráficos nativos de cada sistema operacional, o que gerou pra comunidade o chamado SWT, que sempre foi ignorado, nunca vi ninguém usando profissionalmente, e era muito melhor tecnicamente do que Swing.

No mais, tem vários tópicos que fiz considerações gerais sobre essa questão. Este é um deles: JavaFX realidade ou apenas especulação ?

Fique a vontade sobre suas escolhas, é só minha opinião como já adiantou o @rof20004. Se não é problema pro projeto e assumiram a aposta, então bola pra frente.

L

Obrigada, eu recém estou aprendendo a programar, na minha cabeça eu só conhecia o swing e o awt , nem sabia que existia o FX hehe.
Além do JavaFX quais outras ferramentas de interface existem? Eu conheço o swt também.
PS : Realmente a humildade é tudo :slight_smile:

L

Olá

Quais seriam estas tecnologia de front end java que vc se refere?

L

Obrigada Matheus, vou iniciar já meu aprendizado em EE acho que vale a pena, outros users aqui do fórum ja me indicaram isso.
Você poderia me indicar um roteiro por onde começar e qual caminho seguir no Java EE? Pois me parece meio complexo e aprendo melhor por etapas.

Valeu!

D

@lyah Aqui uma lista de material

L

Pessoal, agradeço a todos que contribuíram, por estar aprendendo sozinha e não ter contato com outros programadores, estava indo por um caminho bem diferente do que era adequado, usando uma tecnologia antiga, como o swing e não pensando no JAVA EE. Seguirei os conselhos de vcs e sempre postarei minhas dificuldades, pois o retorno é muito bom, abriu meus olhos para muitas coisas desconhecidas. Este foi o meu primeiro post e estou amando :blush:

L

Olá Daniel, obrigada por responder, eu acho confuso o JAVA EE, o java básico, eu não enfrento dificuldades. Por exemplo, ao pegar o livro do Deitel e as aspostilas da Caelum é bem tranquilo de aprender pois há um roteiro ali, mas o JAVA EE é muito mais amplo que o Java básico, pelo que vi tem JSP ,Beans, vários frameworks, essa complexidade que falo, eu não sei o que devo aprender primeiro, pois cada apostila trata o Java EE de um jeito diferente.

R

Assim como o swing, você gera o .JAR da aplicação normalmente, pode inclusive usar o Ant também, fica a seu critério. Eu gosto de utilizar o Maven, pois já empacota, é mais fácil configurar e já inclui todas as dependências do projeto, e ainda tem um framework pago que inclui uma JRE no seu JAR, fazendo com que sua aplicação java execute standalone, sem necessidade de nada instalado na máquina do usuário, olha que legal :smiley:

Bom, isso já é algo que realmente não tenho muita experiência, sou programador concursado, não tenho experiência no meio autônomo ou freelancer, mas eu participei de uma palestra do Bruno Borges da Oracle, e ele falou sobre isso, de um app que ele criou, basicamente foi muita propaganda no facebook e ele criou um site do App e etc, assim ele foi e conseguiu mais de 1000 reais com esse app na época, não sei hoje, mas dependendo do seu aplicativo pode ganhar dinheiro fácil. Uma vez ganhei 50 reais porque fiz uma aplicativo Java para um cara que nem conheço que pegou meu e-mail em uma lista de conversas sobre linux e perguntou se eu podia fazer um programa em Java que pegasse o conteúdo de um txt e verificasse se cada link(era um link por linha) estava online, eu fiz rapidinho e ganhei 50 pilas, nada formal. Antes de virar programador eu li em uma revista no ano de 2000 ou menos que programador era a profissão do futuro, e te digo, realmente, ainda mais com esse boom do mobile crescendo.

Abraços.

J

Mercado de sistemas de informações foi para web e mobile, desktop é mais para ferramentas e módulos bem específicos. Se já sabe esse conteúdo, então é só partir pro direcionamento desse: https://www.caelum.com.br/apostila-java-web/ como @Daniel_Dias já indicou.

D

No começo é confuso mesmo, mas depois você pega o jeito. A apostila da Caelum f21 ensina passo a passo do JEE desde JSP + servlet , spring, hibernate mais pra frente.

Quando comecei a estuda JEE na minha póś, iniciei por JSP + Servlet + JDBC, depois de conhecer melhor eles, eu passei para frameworks como Struts, spring, hibernate.

F

@lyah, boa noite!

Olha, caso você esteja realmente começando, o ideal é você “dominar” o Java.

ps: Mesmo que isso nunca aconteça, pois sempre terá algo novo para aprendermos!

“COMECE DO COMEÇO!” Acredite, vale muito a pena.

Compreendo perfeitamente que já queira aprender fazendo algo “real”. A ânsia em colocar a mão na massa é quase incontrolável. Porém, muitas vezes, pecamos em deixar conceitos fundamentais passarem batidos e, simplesmente, não entendemos como as coisas acontecem. Acho que o maior segredo é este. Entenda como as coisas acontecem e o porque delas acontecerem. Entenda por exemplo, o que são: Herança, Polimorfismo, Encapsulamento, etc. Veja estes conceitos sendo aplicados nas próprias classes da Java API. Aliás, o melhor amigo do programador é a documentação. Por isso, sempre vale a pena dar uma olha aqui. Estude as principais bibliotecas da linguagem. Domine-as. O Java tem muita coisa boa para oferecer.

Então, se me permite um conselho, tente focar nisto antes de produzir um produto final. Caso não consiga superar essa vontade incontrolável (o que é bem compreensível), atente-se para não deixar passar batido estes conceitos que, acredite, serão fundamentais para sua carreira!

Espero ter ajudado de alguma forma!

Sucesso.

T

Eita, que preguiça dessa briga de “o que vai pegar futuramente” :s
Lá no meu estágio tem um menino que ta começando a programar em java agora e conheceu o JSF e primefaces… Só porque eu disse que prefiro o Spring ele sempre me fala que spring ta ultrapassado e blablabla… Preguiça demais. Igual o povo que ta tentando evangelizar que o angularJs 2 é cilada.

Sai dessa gente, amanhã pode ou não nascer algo que vai acabar com tudo que nos programamos e o jeito vai ser aprende-la tbm.

#pas

W

Entendo. Mas o caminho é esse, trilhando sempre aos poucos até chegar no objetivo. Sucesso!

P

Mas como vc distribui o jar?

Por favor, diz que vc não envia um email pro usuário dizendo pra ele clicar 2x no arquivo em anexo.

R

Você distribui como você achar melhor uai, por e-mail, cria um site pra deixar o aplicativo pra download, deixa em uma cloud storage, 4shared, facebook, AWS, pendrive, HD externo, rapa, não falta é forma de distribuir, rs. Sobre enviar por e-mail e dizer pro usuário clicar, já fiz isso e ganhei dinheiro, e não é sobre dinheiro que você está falando? rs. Se o aplicativo for direcionado a um usuário específico, não vejo mal nenhum em enviar por e-mail. Profissionalmente falando você pode fazer que nem as grandes empresas, cria um site e disponha de um link para download da aplicação.

P

Não, estou falando de javafx não ser popular, e que a razão disso é que não faz sentido developer perder tempo com javafx, criar sites, coletar e-mail de usuários, etc. quando posso desenvolver pra iOS ou Android, apertar um botão e pronto, uma nova versão do meu aplicativo esta disponível para milhoes de usuários espalhados ao redor do mundo.

Você só pode estar delirando se acha que, em 2016, javafx vai se tornar popular entre front-end developers enviando arquivos jar por e-mail.

E se javafx não for popular entre front-end developers, nenhuma empresa vai querer usar Javafx no front-end.

Todas as grandes empresas tem presença nas chamadas “lojas de aplicativos”.

R

Amigo, acho que você tem algum problema de conceito, vejamos lá.

Primeiro você manda uma mensagem pra mim assim:

1.

“pfk66:

Mas como vc distribui o jar?

Eu respondi sobre a distribuição do JAR, como você perguntou, e você me retorna falando sobre popularidade do JavaFX, uai, se quiser falar sobre popularidade, faça uma pergunta sobre popularidade. Não entendi porque você fez isso, mas, ok, a vida é sua, rs.

Então faça essa pergunta pra elas.

Eu não acho e nem pretendo perder meu tempo achando isso, você se equivoca ao tentar falar sobre o que eu penso sobre. Em nenhum post aqui nesse tópico afirmei isso.

Enfim, só posso dizer, mais alguma pergunta? rs. Estou a disposição :smiley:

P

Perguntei porque supostamente vc conhece a tecnologia, e eu queria saber como desenvolvedores Javafx distribuíam sua aplicações. Agora que sei que é enviando arquivo jar via email, posso deduzir sobre o futuro do Javafx no mercado front-end.

Espero que tenha ficado mais claro agora?

Qual pergunta?

Você afirmou ser capaz de ganhar dinheiro fácil com Javafx. Ao mesmo tempo não consegue citar uma aplicação popular escrita em Javafx (existe alguma?), ou explicar porque alguém pagaria por uma aplicação escrita em Javafx se o primeiro que comprar pode enviar pra um serviço de compartilhamento ou diretamente pros amigos via email.

R

Então, falei sobre mim, acho que não existe só eu nesse mundo certo? rs. Deduza o que você quiser, a vida é sua :smiley:

Sobre a popularidade, você perguntou sobre a distribuição, mas na sua resposta falou sobre popularidade. Nada a ver o que você falou.

Mostre minha informação onde disse ser fácil ganhar dinheiro com Javafx.

Sobre aplicações, te mostrei alguns links e mesmo assim não vê? Agora se elas não são suficientes pra você sobre monetização, o que eu posso fazer? Não preciso provar nada pra você, rs. Se pra você não serve, repito novamente, acredite no que você quiser, aceite o que você quiser, a vida é sua, Java FX é uma bosta, não dá pra ganhar dinheiro, etc etc, não quero discutir não, por favor, fique satisfeito com suas “deduções”, abraços :smiley:

P

Percebe que vc continua sem entender porque javafx nunca vai ser popular sem um esquema de distribuição integrado.

Sem duvida, estou falando que não serve pra quem precisa suportar milhares de usuários e não quer ver seu trabalho sendo pirateado por aí.

Mas se o que vc precisa é suportar uma aplicação em 5 máquinas dentro de uma repartição pública, ir com um pendrive em cada uma e fazer a instalação manualmente não chega ser um problema.

R

Isso não é problema meu.

É né.

D

com certeza o importante é evoluir sempre, ja fui pro ASP classico, ja fui pro .net. ja fui pro java, pro php pro android, pro mobile hibrido com phonegap ou com ionic.

Só adquirindo experiencia pro futuro.

o importante é vencer hoje, e pegar bagagem pro futuro, nao querer vencer no futuro com atalhos.

Criado 21 de dezembro de 2016
Ultima resposta 30 de mar. de 2017
Respostas 99
Participantes 14