JavaFx: diferenças entre revisões

Origem: Wikilivros, livros abertos por um mundo aberto.
[edição não verificada][edição não verificada]
Conteúdo apagado Conteúdo adicionado
Linha 25: Linha 25:
Em um curto espaço de tempo ''JavaFX'' evoluiu e adaptou-se a ponto de tornar comandos e técnicas de produção das antigas versões incompatível e improdutiva (diferenças entre as versões 1.0 e 2.0), onde mesmo os desenvolvedores habituado com produção direta com Java utilizando atualmente ''JavaFX'', precisaram reorganizar conceitos e técnicas para acompanhar a realidade tecnológica (conceito abordado a respeito do profissional e da linguagem adaptar-se a realidade). Não é correto afirmar que ''JavaFX'', devido ao seu grau de evolução seja superior ao ''Java'' mas concordamos que é o resultado de um processo evolutivo. A linguagem incorporou o '''CSS, HTML, JavaScript e XML''' diretamente em sua produção adaptando algumas delas para seu ambiente, como é o caso do XML que foi criado um "dialeto" com o nome '''FXML''' que serviu para um ambiente voltado para criação de layout.
Em um curto espaço de tempo ''JavaFX'' evoluiu e adaptou-se a ponto de tornar comandos e técnicas de produção das antigas versões incompatível e improdutiva (diferenças entre as versões 1.0 e 2.0), onde mesmo os desenvolvedores habituado com produção direta com Java utilizando atualmente ''JavaFX'', precisaram reorganizar conceitos e técnicas para acompanhar a realidade tecnológica (conceito abordado a respeito do profissional e da linguagem adaptar-se a realidade). Não é correto afirmar que ''JavaFX'', devido ao seu grau de evolução seja superior ao ''Java'' mas concordamos que é o resultado de um processo evolutivo. A linguagem incorporou o '''CSS, HTML, JavaScript e XML''' diretamente em sua produção adaptando algumas delas para seu ambiente, como é o caso do XML que foi criado um "dialeto" com o nome '''FXML''' que serviu para um ambiente voltado para criação de layout.


A Oracle criou um método de trabalho que revolucionou as regras para criação de telas utilizando a linguagem FXML. Uma [http://pt.wikipedia.org/wiki/API API] ('''Scene Builder''') cria o layout e grava em arquivos interpretados pelo ''JavaFX''. Uma técnica simples, rápida e elegante para desenvolver aplicativos sem carregar o código principal da aplicação.
Entre os diversos modelos de desenvolvimento dentro da tecnologia ''JavaFX'', a Oracle aprimorou um método de trabalho que mudou as regras para criação de telas utilizando a linguagem FXML. Uma [http://pt.wikipedia.org/wiki/API API] ('''Scene Builder''') cria o layout e grava em arquivos interpretados pelo ''JavaFX''. Uma técnica simples, rápida e elegante para desenvolver aplicativos sem carregar o código principal da aplicação e que pode ser implantado em diversos projetos, inclusive os projetos para ''Computação em Nuvem''.


Desenvolvedores sabem que ''design'' gráfico, programação e banco de dados são habilidades distintas. ''Designers'' gráficos ou [http://pt.wikipedia.org/wiki/Webdesign Webdesign] focam na interação humana com a aplicação e seu objetivo maior é manter o interesse humano e tornar o sistema mais intuitivo usando técnicas audiovisual. Os [http://pt.wikipedia.org/wiki/Desenvolvedor Desenvolvedores ou Programadores] estão tipicamente preocupados em implementar lógica de negócio e interagir com os servidores ''back-end'' usando conceitos de Programação Orientada a Objetos. Por outro lado os Data Bank Administrator ([http://pt.wikipedia.org/wiki/DBA DBA]) estão com o foco na linguagem para estrutura de armazenamento dos dados seguindo conceitos como consultas, relacionamentos, transação e replicação. É uma espécie rara os que possuem as três habilidades. O nosso objetivo é construir ligação entre este segmentos produtivo. O ''designer'' gráfico se aprofunde no visual do empreendimento o ''desenvolvedor'' implemente as regras do negócio enquanto o ''DBA'' se preocupe com o método de armazenamento.
Desenvolvedores sabem que ''design'' gráfico, programação e banco de dados são habilidades distintas. ''Designers'' gráficos ou [http://pt.wikipedia.org/wiki/Webdesign Webdesign] focam na interação humana com a aplicação e seu objetivo maior é manter o interesse humano e tornar o sistema mais intuitivo usando técnicas audiovisual. Os [http://pt.wikipedia.org/wiki/Desenvolvedor Desenvolvedores ou Programadores] estão tipicamente preocupados em implementar lógica de negócio e interagir com os servidores ''back-end'' usando conceitos de Programação Orientada a Objetos. Por outro lado os Data Bank Administrator ([http://pt.wikipedia.org/wiki/DBA DBA]) estão com o foco na linguagem para estrutura de armazenamento dos dados seguindo conceitos como consultas, relacionamentos, transação e replicação. É uma espécie rara os que possuem as três habilidades. O nosso objetivo é construir ligação entre este segmentos produtivo. O ''designer'' gráfico se aprofunde no visual do empreendimento o ''desenvolvedor'' implemente as regras do negócio enquanto o ''DBA'' se preocupe com o método de armazenamento.

Revisão das 15h31min de 27 de agosto de 2013

Índice

Desenvolvimento de Aplicações RIA (Rich Internet Application)

Sumário

Estamos presenciando o nascimento de uma tecnologia de desenvolvimento fascinante e não é sempre que temos esta chance. Em um instante da história onde participamos de um turbilhão de criações que apesar de serem bem elaboradas desaparecem como se nunca estivesse existido. Onde olhamos incrédulos para nossos equipamentos (recém adquiridos) e muito tempo não se passou e já não conseguimos efetuar upgrades, correções nem encontrar um firmware no site do fabricante. Estar diante de uma tecnologia de desenvolvimento que ofereça rapidez, segurança, confiabilidade, portabilidade (usar o mesmo aplicativo em diversos aparelhos com sistemas de diferentes fabricantes) e outras que se formos citar não tem fim, é perturbador conceber tal tecnologia.

Recebemos todos os dias, informações sobre uma nova tecnologia implantada em determinado aparelho que facilitará o dia-á-dia de milhares de pessoas ou tornará mais dinâmico o controle de tal operação, na verdade não importa, são novas tecnologias, Interface Háptica, touchscreen, telas retina da Apple, Projeto Glass da Google,Computação em nuvem, utilização de Banco de Dados Remoto, Distribuídos ou Orientados ao Objeto e muitas outras surgirão.

Mas o que existe por trás de tudo isto que as faz funcionar?

Precisamos imaginar que linguagens de programação foram envolvidas para tornar estes dispositivos operantes e que estas novas tecnologias provavelmente serão incorporadas ou repassadas para as linguagens de desenvolvimento do mercado. Então nos deparamos com a questão: A linguagem e técnica de trabalho que você está utilizando possui capacidade adaptativa para lidar com estas mudanças?

Perceba que não estamos interessados em linguagens sofisticadas e que atenda a realidade do momento, mas que a mesma seja capaz de acompanhar as mudanças tecnológicas, pois todos sabemos que investir anos e anos em conhecimento e domínio de linguagem, técnica de desenvolvimento e produtividade e tornar-se mão de obra ultrapassada e obsoleta antes mesmo de ingressar no mercado de trabalho é decepcionante.

Acreditar em projetos de linguagens que irá solucionar problemas é perda de tempo. Precisamos saber se a linguagem possui característica de adaptação para os novos conceitos, técnicas e tecnologias.

Senhores e Senhoras bem vindo ao desenvolvimento de Aplicação de Internet Rica (RIA - Rich Internet Application) usando JavaFx.

Dispensamos comentários a respeito do Java que é a linguagem de origem (do projeto atual) do JavaFx (Linguagem de Script Orientada a Objetos). O que percebemos pela estrutura de organização do projeto lançado pela Sun Mycrosystems e adquirido pela Oracle é que todo o projeto inicial foi repensado criando um promissor e envolvente segmento.

Em setembro de 2005 a empresa SeeBeyond Technology Corporation desenvolveu um projeto chamado F3 (Form Follows Function) que era baseado em uma linguagem interpretada e tinha como seu responsável criador Chris Oliver. A Sun comprou a empresa e Chris Oliver tornou-se funcionário. F3 foi alterado para o nome atual e se tornou open source no JavaOne 2007.

Em um curto espaço de tempo JavaFX evoluiu e adaptou-se a ponto de tornar comandos e técnicas de produção das antigas versões incompatível e improdutiva (diferenças entre as versões 1.0 e 2.0), onde mesmo os desenvolvedores habituado com produção direta com Java utilizando atualmente JavaFX, precisaram reorganizar conceitos e técnicas para acompanhar a realidade tecnológica (conceito abordado a respeito do profissional e da linguagem adaptar-se a realidade). Não é correto afirmar que JavaFX, devido ao seu grau de evolução seja superior ao Java mas concordamos que é o resultado de um processo evolutivo. A linguagem incorporou o CSS, HTML, JavaScript e XML diretamente em sua produção adaptando algumas delas para seu ambiente, como é o caso do XML que foi criado um "dialeto" com o nome FXML que serviu para um ambiente voltado para criação de layout.

Entre os diversos modelos de desenvolvimento dentro da tecnologia JavaFX, a Oracle aprimorou um método de trabalho que mudou as regras para criação de telas utilizando a linguagem FXML. Uma API (Scene Builder) cria o layout e grava em arquivos interpretados pelo JavaFX. Uma técnica simples, rápida e elegante para desenvolver aplicativos sem carregar o código principal da aplicação e que pode ser implantado em diversos projetos, inclusive os projetos para Computação em Nuvem.

Desenvolvedores sabem que design gráfico, programação e banco de dados são habilidades distintas. Designers gráficos ou Webdesign focam na interação humana com a aplicação e seu objetivo maior é manter o interesse humano e tornar o sistema mais intuitivo usando técnicas audiovisual. Os Desenvolvedores ou Programadores estão tipicamente preocupados em implementar lógica de negócio e interagir com os servidores back-end usando conceitos de Programação Orientada a Objetos. Por outro lado os Data Bank Administrator (DBA) estão com o foco na linguagem para estrutura de armazenamento dos dados seguindo conceitos como consultas, relacionamentos, transação e replicação. É uma espécie rara os que possuem as três habilidades. O nosso objetivo é construir ligação entre este segmentos produtivo. O designer gráfico se aprofunde no visual do empreendimento o desenvolvedor implemente as regras do negócio enquanto o DBA se preocupe com o método de armazenamento.

Para entendermos JavaFX com maior facilidade vamos imaginar um ambiente de desenvolvimento corporativo, pois, o conceito de errar passa a ter um significado diferente daquele que temos em um ambiente puramente didático, no ambiente de trabalho erro significa perda de tempo e prejuízo mas que a regra é comete-los em menor número já que não podemos evita-los. Para isto a empresa cria mecanismos e conceitos como equipe de trabalho, organização, qualidade, produtividade e disciplina e a experiência cria as normas e regras a serem cumpridas. Novas idéias e conceitos devem sempre ser incentivados dentro do ambiente de trabalho, desde que os riscos sejam estudados e os resultados analisados pela lógica e pela razão.

A inspiração vem de uma empresa focada no ramo de produção de aplicativos multiplataforma constituída do quadro de funcionários contendo Analista de Sistemas, Engenheiros, Desenvolvedores, Operadores, outros profissionais e departamentos necessário. O leitor assumirá o cargo de Desenvolvedor e acompanhará de perto todas as etapas do projeto, assumindo riscos, cometendo erros e ajudando a equipe a superar dificuldades e corrigir falhas.

O Administrador da empresa solicita evitar utilização de módulos, classes, componentes e ferramentas de terceiros que venham causar qualquer tipo de dependência principalmente aquelas que dificultam ou proíbem acesso ao código original. Poderá ser utilizado API e/ou Frameworks nativos ou de empresas, organizações e instituições comprometidas em contribuir para o avanço tecnológico da linguagem, oferecendo serviços com clareza e transparência sem nunca inserir no código do projeto rotinas que sejam obscuras ou desvie do conceito original provocando falta de controle e compreensão. Ciência e tecnologia aplicada a experiência com resultado de sucesso comprovado conta muito para um trabalho concluído, portanto deveremos optar sempre pela técnica de reaproveitamento como forma de agilizar a produtividade, reinventar a roda é perda de tempo, o que faremos é o reaproveitamento de técnicas aplicada com sucesso e adaptando-as a nossa necessidade.

Produzir com técnicas para multiplataforma implica em reduzir ao máximo o consumo dos recursos dos dispositivos pelos aplicativos produzidos. Portanto tornar a empresa produtiva evitando métodos complexos e adotar simplicidade é desafio e o lema para todos participantes deste projeto.

"A leitura traz conhecimento, mas para o bom profissional, apenas conhecimento não é suficiente. É preciso experiência. Para adquirir experiência é necessário praticar. A prática requer sucessivas tentativas entre erros e acertos, falhas e sucessos. Portanto é sábio dizer que muitos afirmam que sabem, alguns fazem mesmo sem saber e poucos sabem o que faz."