Conheça o Framework Javascript ExtJS

ExtJS é um framework JavaScript que inicialmente foi desenvolvido para ser uma extensão do framework YUI. Ele era chamado no início de seu desenvolvimento de yui-ext e tinha o YUI como sua base para funcionar, sendo assim, seu funcionamento não era possível sem a utilização do YUI.

Sua distribuição é feita através de duas licenças, uma licença comercial e uma outra licença open-source (código aberto). E além dessas duas licenças, há o serviço de suporte cobrado que poderia estar sendo adquirido individualmente, onde o usuário adquiria o direito não só de suporte através dos fóruns, mas também através de e-mails, telefone, e caso necessário, o usuário poderia adquirir um nível de associação mais alto e ter direito também a suporte via onsite, tendo acesso ao SVN da ExtJS, onde poderia encontrar as versões do ExtJS em desenvolvimento e que ainda não tinham sido liberadas para o público.

O yui-ext, ao longo de seu desenvolvimento, foi recebendo novos adaptadores que servem para fazer a ligação entre ele e outros frameworks JavaScript, tais como, Prototype e jQuery.

O crescimento de suas funcionalidades e componentes de interface, que trouxeram valorização aos frameworks JavaScript mais populares, como YUI, jQuery e Prototype, fez com que fosse rapidamente reconhecido pelos desenvolvedores e colaboradores, gerando maior velocidade para o surgimento de várias versões do yui-ext 0.x., antes de finalmente ser lançada sua versão final 1.0, onde ai sim recebeu a alteração de seu nome para ExtJS. mostrando que ExtJS deixou de ser apenas uma extensão para o framework YUI.

Mas ele veio se tornar realmente um framework depois que a versão 1.1 foi lançada, não sendo mais apenas uma extensão limitada para outro framework, mesmo ainda tendo a possibilidade de ainda ser usado como tal.

A partir desse momento, novas versões continuaram a ser desenvolvidas e com elas vieram novas funções e componentes básicos redesenhados para serem mais eficazes e necessitarem menos linhas de código.

Suporte

O ExtJS atualmente tem suporte pelos navegadores mais populares.

  • IE 6 ou superior.
  • Firefox 1.5 ou superior.
  • Safari 3 ou superior.
  • Opera 9 ou superior.

Instalação

Para que possamos usar o ExtJS, precisamos primeiramente realizar o download do mesmo através do seguinte link: http://www.sencha.com/products/extjs/download/ext-js-4.0.7.

Nesta página encontramos duas opções de download: a versão gratuita e a versão comercial.

Página de download do ExtJS

Figura 1: Página de download do ExtJS

Para o download da versão gratuita, clicamos em “Download fot Ext JS 4.0.7 GPL”. Salve em um diretório de sua preferência.

Após o download ser concluído, basta descompactarmos o arquivo .zip que baixamos, que nos dará a seguinte estrutura de pasta:

Estrutura de pasta do ExtJS

Figura 2: Estrutura de pasta do ExtJS

Prática

Para iniciarmos nossa prática, vamos criar os arquivos “index.html” e “index.js”, dentro do diretório onde se encontra a pasta “ext-4.0.7-gpl”, ficando da seguinte maneira a estrutura de pasta:

Arquivos necessários para uso do ExtJS

Figura 3: Arquivos necessários para uso do ExtJS

Dentro do arquivo index.html vamos carregar os arquivos necessários para o funcionamento do ExtJS dentro do cabeçalho, ou seja, dentro do <head>.

  • Ext-all.css: Arquivo que contém todos os estilos CSS do ExtJS.
  • Ext-all.js: Arquivo que contém todos os códigos referentes aos componentes, sejam eles visíveis ou não para os usuários.
  • Ext-base.js: Este arquivo pode ser usado tanto com o ExtJS quanto com outras bibliotecas, tais como, jQuery.

E por último carregamos o arquivo index.js que criamos, que vai conter todo o nosso código necessário para o exemplo que estamos criando.

Listagem 1: Importação dos arquivos necessários<!DOCTYPE html><html>    <head>        <title>Testando o ExtJS</title>        <link rel="stylesheet" href="ext-4.0.7-gpl/resources/css/ext-all.css" type="text/css" />        http://ext-4.0.7-gpl/adapter/ext/ext-base.js        http://ext-4.0.7-gpl/ext-all.js        http://index.js    </head>    <body>        <input type="button" id="btClose" value="Fechar janela"></input>    </body></html>

Agora vamos abrir o nosso arquivo index.js e colocarmos o seguinte código:

Listagem 2: Arquivo index.jsExt.onReady(function(){    var win = new Ext.Window    ({        height: 200,        width: 300,        title: 'Teste',        html: '<b>Tstando uma aplicação feita com  ExtJS</b>'    })         win.show();         Ext.get('btClose').on('click', function()    {        win.close();    })})

Vamos agora compreender o que foi realizado nesse código acima.

Dentro do Ext.onReady definimos uma função por parâmetro, quando fizemos a utilização de uma function (função) por parâmetro e conhecida por call-back, por que essa função vem a ser executada por alguma outra parte do código, que não possui conhecimento algum dessa função. Esta função somente é carregada após todos os outros elementos da nossa aplicação terem sido carregados, desse modo, evitando eventuais problemas que possam vir a ocorrer. E é nessa função que inserimos todo o código que desejamos que seja executado ao abrirmos nossa página.

Dentro dessa função começamos criando a variável “win” e ligamos uma janela “ext.Window” com as dimensões 300px de largura e 200px de largura, e definimos um texto para ser exibido dentro dessa janela.

Depois da criação dessa janela através da nossa variável “win”, utilizamos o método “Show”, no qual fazemos com que essa janela que criamos seja exibida ao usuário. Como não definimos qual será seu posicionamento, ela automaticamente se posicionará exatamente no centro da tela do navegador.

E por fim usamos “Ext.get()”. Podemos comparar esse método com o já conhecido document.getElemetByID().

Agora que já terminamos de inserir os códigos nos dois arquivos que criamos no início do exemplo, vamos testa-lo. Para isso, abra o arquivo “index.html” em qualquer navegador de sua preferência e devemos obter o seguinte resultado: uma janela azul no meio do navegador e se clicarmos no botão fechar, janela essa janela azul será fechada, conforme mostrado na figura a seguir. Porém, como é um objeto do ExtJS, podemos perceber que com o Ext.get o objeto retornado possui todas as propriedades e métodos do objeto Ext.Element. E a propriedade Ext.get(‘IdDoElementoDesejado’).dom nos traz as mesmas coisas que o “document.getElementByID”, dessa forma, usando o Ext.get podemos utilizar de eventos com facilidade. Como podemos perceber, nesse caso associamos um evento ao botão com id ”btclose” utilizando o método “on”, que recebe três parâmetros:

  • Nome do evento que desejamos associar;
  • A função call-back que será utilizada quando o evento for acionado;
  • E o escopo, sendo esse um parâmetro opcional.

Traduzindo, ligamos uma função ao evento click do nosso botão que pegou a variável onde possui a janela e com isso executa o método “close” para fechar.

Resultado do exemplo de teste do ExtJS

Figura 4: Resultado do exemplo de teste do ExtJS

Caso o resultado não seja igual ao mostrado na figura 4, verifique se seu código está igual ao mostrado acima.

Conclusão

Neste artigo conseguimos concluir que ExtJS agiliza bastante o desenvolvimento de aplicações web, com suas ferramentas para o desenvolvimento de interfaces atraentes, eficientes e principalmente funcionais. Isso por que o ExtJS deixa o desenvolvedor sem a preocupação com a parte visual, que na maioria das vezes não é tão importante quanto a parte de tratamento dos dados. Podemos resumir o ExtJS em três palavras: bom, bonito e barato.
E se você se interessou por esse framework recomendo o conteúdo da BSource eles são uma empresa especializada em Ext JS e produzem conteúdo através do Youtube e Blog eles detalham mais coisas sobre o Ext JS.

Espero que o artigo tenha sido do agrado de todos os leitores.Até a próxima.

Conteúdo para programadores

Com a quarta revolução industrial, a Internet se tornou o principal meio de comunicação entre as pessoas. Isso é muito fácil de notar, basta perceber o número de pessoas que andam com os seus celulares na mão respondendo a mensagens, lendo artigos e notícias, acessando as suas redes sociais etc. (e se você não esbarra em uma todo dia no meio da rua atrapalhando o caminho, provavelmente é você quem está fazendo isso, rs!)

No entanto, não somente a comunicação quebrou barreiras, mas como o conhecimento também. O que antes era exclusivo de poucos que podiam pagar no mundo acadêmico se tornou público e acessível. Isso até hoje ajuda muita gente que deseja entrar na área, afinal, há inúmeras formas de aprender sobre programação na rede, o que é maravilhoso.

Mas, apesar disso, conversando com meus amigos e amigas, colegas de trabalho e pessoas que atuam no mercado de tecnologia como empregadores e empregados e com programadores e programadoras em geral, notei uma tendência preocupante nessa nova geração de profissionais: a de negligenciar o negócio.

Para contextualizar o ponto em que quero chegar, vou utilizar a minha própria experiência. Há alguns anos — bem antes de pensar em trabalhar com educação — fiz parte da equipe de desenvolvimento de uma empresa de Healthcare. Em resumo, essa empresa desenvolvia soluções web para laboratórios, clínicas e hospitais de todos os portes. Havia soluções para medicina diagnóstica, gestão laboratorial, diagnóstico por imagem, logística e afins.

Quando eu comecei, mal sabia o que estava fazendo. Somente codificava funcionalidades e telas de acordo com as especificações que eram passadas nas estórias (usávamos o Scrum na época). Mas, com o tempo, fui promovido como Scrum Master e comecei a lidar mais diretamente com os clientes, os produtos e suas integrações. E foi aí que o bicho começou a pegar…

Para começar, eu tinha uma dificuldade tremenda para atender aos suportes (problemas em produção) e alterar as integrações. Isso porque eu não entendia nada sobre como o negócio e as coisas deveriam funcionar. “Será que faz sentido um exame do tipo X estar agrupado com um do tipo Y?”, “Um documento desse tipo pode ser exibido na Internet?”, “Os valores padrões de visualização estão corretos?”. E como você faz quando está com todas essas dúvidas enquanto o paciente está lá esperando ou quando você está muito próximo do deadline do projeto?

Outra coisa que começou a acontecer muito foram reclamações sobre os layouts e os fluxos das telas. Era comum escutar coisas assim do cliente: “Mas os médicos não precisam aprovar procedimento X para fazer Y”, “Os médicos estão tendo que acessar muitas telas para liberar o exame”, “Os pacientes não conseguem acessar os exames, está confuso”.

Ou seja, como eu não entendia o negócio, não fazia ideia de como fazer as telas e os fluxos de maneira que fizessem mais sentido ao dia a dia dos profissionais que iriam usar.

Enfim, chegou um momento em que finalmente caiu a ficha: apesar de saber programar bem, eu não atendia de forma satisfatória às demandas dos clientes. Depois que essa ficha caiu (e demorou para acontecer!), consegui tomar algumas atitudes para melhorar esse meu lado não técnico. Óbvio que não consegui fazer isso da noite para o dia, mas algumas simples atitudes ajudaram muito, como:

  • Conversar mais com o meu gerente/líder: mostrei interesse em me aproximar da área de negócios. Com isso, ele começou a abrir espaço para que eu participasse de mais reuniões com os clientes.
  • Ler sobre o assunto: um aspecto importante é sempre a leitura. A área médica é bastante ampla e complexa, mas me dediquei a aprender o máximo que pude sobre os procedimentos em que eu atuava.
  • Não fugir dos problemas em produção: muitos dos problemas em produção, como foi citado, aconteceram por que eu e minha equipe não compreendíamos como o usuário pensa. Quando essas situações aconteciam, comecei a usá-las como experiência para aprender mais sobre o meu cliente e o negócio como um todo.

Vejo toda essa situação pela qual passei se repetir cada vez mais… A empolgação de aprender algo novo nos desvia do verdadeiro objetivo de agregar valor ao cliente. Isso acaba se resultando em projetos subestimados, atrasados e caros.

Acredite, em grande parte dos casos, não vai interessar para o cliente se você utilizou tecnologia X ou Y, mas sim se você conseguiu resolver o problema de forma eficaz.

Ao alinhar o seu conhecimento técnico ao conhecimento de como o negócio em que você atua funciona, você conseguirá:

  • Entregar demandas com mais qualidade
  • Fazer melhores sugestões/críticas sobre os pedidos do cliente
  • Ter menos retrabalho, pois você errará menos
  • Atender de forma mais satisfatória o seu cliente, pois você irá otimizar o processo de trabalho dele

A mensagem que quero passar se resume em:

Jamais deixe de aprender e se divertir no trabalho, mas, como profissional, se preocupe sempre em atender o cliente de forma precisa e no contexto em que ele vive, e não com o que você quer fazer/usar no projeto, com essa exigência nossos projetos são desenvolvidos se você quer desenvolver um software para sua empresa entre em contato conosco.

Tendencias tecnológicas

A tecnologia mobile revolucionou a relação das pessoas com a tecnologia. Atualmente, usamos aplicativos para as mais diversas funcionalidades e, além disso, as empresas têm investido pesado no uso de apps para aprimorar a sua relação com o consumidor.

Entretanto, há alguns detalhes que podem potencializar o sucesso de um aplicativo. Um app multiplataforma, por exemplo, oferece a vantagem de poder ser executado em quaisquer aparelhos e seus diferentes sistemas operacionais. Pensando nisso, resolvemos apresentar as peculiaridades do aplicativo multiplataforma. Preparado? Então, nos acompanhe!</p>

O desenvolvimento multiplataforma

Cross-platform ou multiplataforma refere-se aos aplicativos que são desenvolvidos com versões para diferentes sistemas operacionais em um único processo de desenvolvimento. Dessa forma, uma mesma ferramenta pode ter versões tanto para iPhones, quanto para aparelhos Android, Blackberry, Windows Phone e outros.

Esse tipo de desenvolvimento acontece por meio de frameworks que fazem uso de linguagens de programação como Javascript, HTML5, CSS3, entre outras suportadas pelos principais sistemas operacionais mobile do mercado. Dessa forma, os desenvolvedores podem usar o mesmo código para criar ferramentas que funcionarão em diversas plataformas mobile.

Suas vantagens e ressalvas

Por diversas razões, que listaremos a seguir, esse tipo de trabalho representa algumas diferenças em relação ao desenvolvimento nativo. 

A experiência do usuário

A experiência do usuário em um aplicativo multiplataforma deve ser norteada pelas características de cada sistema em que funcionará, entretanto, mantendo um padrão e uma identidade na experiência do usuário em cada versão.
Apps multiplataforma como Uber, Whatsapp e Netflix são exemplos disso, pois, apesar de serem bastante otimizados para cada plataforma, ainda apresentam usabilidade compatível e natural tanto em Windows Phone quanto em Android ou iOS.
Além disso, aspectos como cores na paleta gráfica da interface, os caminhos, as configurações e o desempenho dessas aplicações são bastante similares aos apps nativos de cada plataforma.

Vantagens econômicas

Em relação à viabilidade financeira desse tipo de app, temos alguns dados contrastantes. O uso de um framework multiplataforma pode baratear os custos no desenvolvimento da aplicação. No entanto, há sempre a necessidade de mais ajustes, pelo menos em relação ao app nativo, depois da finalização e do lançamento do aplicativo multiplataforma, o que eleva um pouco os custos.
No entanto, no final das contas, os custos do desenvolvimento em um framework multiplataforma ainda mostram-se bem menores do que os gerados com uma versão nativa para cada plataforma, o que demandaria, muitas vezes, o trabalho de equipes diferentes trabalhando nos códigos para cada sistema operacional.

Limitações desse tipo de app

Há algumas ressalvas sobre o uso de apps multiplataforma. Uma delas é que eles apresentam desempenho um pouco inferior aos apps nativos. Esses, por sua vez, por serem compilados em código de máquina referente ao sistema operacional específico — Android, iOS ou Windows Phone —, podem interagir melhor com as funcionalidades dos sistemas e com o hardware dos dispositivos. Ainda assim, essa diferença de performance entre o app multiplataforma e o nativo não é tão grande assim.

Agora que você já sabe tudo sobre aplicativo multiplataforma, não deixe de seguir nosso blog, se você quer saber mais sobre tecnologia voltada para programação recomendo o Blog da BSource lá você encontrara dicas e noticias sobre os melhores praticas e tecnologias do mercado

Importância da experiência do usuário em um software online

Os processos de produção em massa fazem parte das nossas vidas há muitas décadas. Nos últimos anos, porém, tem havido um movimento que aponta cada vez mais para a personalização. Seja para indivíduos, seja para empresas, produtos feitos sob medida são, em geral, muito mais adequados.

As diferenças entre os entes é o que torna o mundo tão interessante. No cenário corporativo, é justamente toda essa variedade que permite que nossos desejos sejam satisfeitos, já que as empresas se concentram em áreas de atuação distintas e, dentro delas, cada companhia tem suas particularidades.

Isso pode variar de acordo com diversos fatores, como a região em que a organização está instalada, o produto que tem como carro-chefe e a visão administrativa dos executivos, entre outros. Por todos esses motivos, não faz sentido usar sistemas padronizados. É aí que entram as aplicações web sob medida. Saiba mais sobre elas!

Adequação

Assim como é para as pessoas, quanto mais personalizado for o sistema web usado pela companhia, melhor ela será atendida. As aplicações web sob medida atendem a todas as necessidades das organizações detalhadamente e em todas as áreas.

Elas são criadas pensando nas particularidades, na realidade e nas necessidades da empresa. Assim, nenhum detalhe importante é ignorado. Além disso, um sistema web próprio facilita o trabalho dos funcionários, diminui as falhas nos processos e ajuda a aumentar a produtividade.

Ele é feito com base em um acompanhamento das atividades da organização. Todas as fases do processo de produção da companhia são levadas em consideração. Além disso, são feitas projeções para garantir que a empresa seja totalmente atendida em suas necessidades.

Mobilidade

Uma das maiores vantagens do sistema web é o fato de ele estar online e, por isso, pode ser acessado com um dispositivo móvel de qualquer lugar que tenha uma conexão à internet: no escritório, em casa, num café ou num hotel, por exemplo. Isso torna o acompanhamento e a realização de tarefas mais flexível.

A mobilidade é uma grande aliada na agilidade das tomadas de decisão. E isso afeta diretamente a competitividade da organização.

mobile

Interface intuitiva

Aprender a usar um sistema pronto, que às vezes tem interface pouco amigável, pode ser um desafio — e, em vez de facilitar o trabalho, acabar tornando-o mais difícil. Nas aplicações web sob medida, porém, até esse aspecto pode ser personalizado.

Assim, tudo o que é mais importante para uso na empresa fica à mão já na primeira tela. Ou seja, o sistema é criado pensando nos funcionários da organização, o que facilita o trabalho de toda a equipe e ainda aumenta a produtividade.

interface intuitiva

Integração

A comunicação e a colaboração são cada vez mais comuns nas empresas. Sem a ferramenta adequada, porém, essas atividades são dificultadas. Com um sistema web sob medida, as dificuldades de cada área podem ser tratadas e a solução pode satisfazer as necessidades de todos, para que trabalhem de forma mais eficaz.

integração

Automação de rotinas

Com um sistema web, a equipe pode eliminar atividades, processos e tarefas manuais e criar rotinas automatizadas para substituí-los. Isso vai ajudar a melhorar a produtividade e a eficiência nos diferentes departamentos.

automação

Qualidade, agilidade e segurança

A informação é o ativo mais precioso de uma empresa. Por isso, deve ser tratada de maneira adequada, bem como estar sempre segura e disponível. Com um sistema web personalizado, é possível ter sempre dados precisos, com agilidade e, principalmente, segurança.

Código livre

Um sistema web personalizado pode ser criado usando plataformas de código livre. Assim, mesmo sem o suporte de seus desenvolvedores, é possível alterá-lo quando necessário e a empresa não fica dependente. Ao contrário, tem total autonomia para adequá-lo sempre que sentir necessidade.

Economia

Sistemas web podem ser armazenados em qualquer provedor de hospedagem, sem a necessidade de investimentos altos em infraestrutura. Além disso, não há mensalidade: eles são desenvolvidos para o perfil da empresa, que se torna sua proprietária, e configurados na nuvem.

economia

Gostou desta publicação? Entre em contato com nosso parceiro BSource para esclarecer suas dúvidas e saber como obter um sistema web sob medida

Crie um site como este com o WordPress.com
Comece agora