Introdução

IVIP é onde o trader poderá ter acesso a todo conhecimento desde o básico ate o avançado envolvendo mercado financeiro, esse conhecimento é passado de simples e pontual, e o trader recebe dinheiro por ter aprendido o conhecimento passado na plataforma. Saiba mais em: iVipCoin Whitepaper

Desenvolvimento e Tecnologias

Qual a melhor linguagem para desenvolver uma aplicação?

A princípio pode até parecer uma pergunta fácil de responder, afinal, todos nós temos a nossa linguagem preferida, e, se você me faz esta pergunta eu naturalmente vou responder de acordo com minha preferência.

A resposta fica mais difícil de ser dada se considerarmos a pergunta sob o ponto de vista estritamente técnico; sob este aspecto as preferências devem ser postas de lado e muitos fatores devem ser levados em conta para que se chegue a uma resposta correta, correta não, eu diria a uma resposta mais adequada.

Quando você vai começar a desenvolver uma nova aplicação, você precisa decidir qual tecnologia irá usar. Existe uma grande variedade de linguagens que você pode usar, vários gerenciadores de banco de dados que você pode utilizar, e você precisa decidir também qual o estilo que vai usar na interface com o usuário.

Para escolher a interface com o usuário você deve pesar diferentes fatores antes de tomar a decisão final. Vejamos alguns cenários:

Interface indicada: Web

  • Aplicação para E-commerce , Portal

  • Site para uma empresa na internet

  • Usuários remotos com acesso a internet

  • Aplicação distribuída entre usuários remotos

Interface indicada: desktop

  • Aplicações gráficas

  • Processadores de textos

  • Planilhas eletrônicas

  • Jogos

  • Aplicação Cliente/Servidor (duas camadas)

  • Aplicações com integração entre vários tipos hardwares (cameras, scanners, etc.)

Assim como você não vai usar uma interface web para desenvolver a aplicação de controle de estoques da padaria do seu Manoel, também não vai usar uma interface desktop para criar um portal para uma grande instituição financeira na web.

Vantagens e Desvantagens

Web: Vantagens

  • Interface HTML reconhecida por uma grande gama de usuários já acostumados com o funcionamento dos navegadores.

  • Desenvolvimento, manutenção e atualização centralizada da aplicação. Você não precisa sair instalando sua aplicação em diversos equipamentos diferentes. Basta colocá-lo no servidor para que os usuários a acessem. (No caso do VB.NET você teria que distribuir o .NET Framework para instalação nas máquinas dos clientes.)

  • A exportação de dados entre usuários remotos usando o protocolo HTTP é muito mais fácil do que usar outro protocolo.

  • Escalabilidade no processamento. Se houver necessidade de aumentar o poder de processamento, basta fazer isto no servidor.

Web: Desvantagens

  • A interface HTML pode ser um problema pois não há uma padronização entre os diversos navegadores e sua aplicação poderia ser exibida de uma maneira diferente dependendo do navegador.

  • A entrada de uma grande massa de dados é prejudicada na interface HTML pois não existe uma maneira padrão de criar máscaras de entrada de dados.

  • A inteface HTML não é rica em controles gráficos e peca no quesito posicionamento. O visual da sua aplicação pode não ficar tão elegante como você imagina.

  • A integração com outros componentes não é tão fácil com HTML.

Desktop: Vantagens

  • Uma rica variedade de controles para interface com o usuário

  • Um total controle sobre o posicionamento dos controles na aplicação

  • O desempenho para uma interface gráfica é mais rápido em uma aplicação desktop que usa o processamento local.

  • Uma interface com integração para com vários hardwares é muito mais fácil.

Desktop: Desvantagens

  • Uma interface gráfica muito carregada deixa a aplicação mais pesada

  • A integração com usuários remotos é mais sofrida

  • A distribuição da aplicação é critica. Você tem que instalar sua aplicação em diferentes tipos de máquinas, com diferentes tipos de sistemas, drivers e periféricos.

  • A manutenção e atualização de sua aplicação requer um esforço extra.

Conclusão

No entanto, ambas interfaces podem se sobrepor um ao outro com a chegada do tão famoso Node.js, um software de código aberto, multiplataforma, baseado no interpretador V8 do Google e que permite a execução de códigos JavaScript fora de um navegador web.

Apesar que o JavaScript de princípio foi pensado apenas para interação de usuário com paginas Web tornando cada vez mais interativas sendo visto como parte da camada Front-End, com a chegada do Node.js, suas definições começaram a ser questionadas. Graças ao Node.js, o JavaScript pode ser visto tanto para o Front-End quando para o Back-End, ou seja, o JavaScript se torna um Full-Stack.

Vale ressaltar que o JavaScript ao longo do tempo se modernizou, o tornando uma linguagem de programação de alto nível e orientado a objeto.

Contudo, olhando por esse lado, podemos imaginar então uma situação híbrida de programação Desktop. Mas, seria possível isso?

Por incrível que pareça, a resposta é SIM, e existem plugins e tecnologias que tornam essa possibilidade em realidade. O que seja, podemos programar um sistema de alta satisfação de interação ao usuário com recursos riquíssimos utilizando o mais recente NW.js.

NW.js ou Node-Webkit é uma aplicação em tempo de execução baseado em Chromium e Node.js, com ele é possível desenvolver aplicativos nativos para Windows, Linux e Mac, usando tecnologias web e usufruindo dos pacotes do Node.js.

Porem, um ponto negativo ainda se mantem, que é parte Web em caso de integração com outros componentes não tão fácies com HTML. Para resolver esse problema, podemos então ver que com a utilização da biblioteca React.js caberia muito bem na resolução.

O React.js é uma biblioteca JavaScript de código aberto com foco em criar interfaces de usuário em páginas web. É mantido pelo Facebook, Instagram, outras empresas e uma comunidade de desenvolvedores individuais. É utilizado nos sites da Netflix, Imgur, Feedly, Airbnb, SeatGeek, HelloSign, Walmart e outros. Com o React.js podemos otimizar, organizar e integrar componentes com muita facilidade com a ajuda ferramenta Babel para pré-processamento JavaScript que facilita a vida do developer, que pode ganhar tempo na conversão de códigos novos para antigos.

Contudo, o React.js utiliza uma sintaxe da linguagem JavaScript mais moderna, o tão chamado JSX, que fornece uma maneira de estruturar a renderização de componentes usando uma sintaxe familiar a muitos desenvolvedores. É semelhante em aparência ao HTML.

Last updated