Evolução no Ambiente de Desenvolvimento Web

Alexsandro Oliveira Alexandrino

Agenda

  • Histórico
  • Node.js
  • Play Framework
  • Node.js vs Play Framework
  • Referências

Histórico

  • Páginas HTML estáticas
  • GCIs e Java EE
  • PHP, Ruby, Python
  • AJAX (Asynchronous Javascript and XML) e Angular.js
  • Desenvolvimento Híbrido - Cordova 

Histórico

  • Páginas HTML estáticas
    • Todos os usuários sempre recebem o mesmo conteúdo
    • Apenas HTML e CSS

Histórico

  • GCIs e Java EE
    • CGI - Common Gateway Interface
    • Programas desenvolvidos em alguma linguagem de programação que retornam páginas HTML de acordo com os parâmetros de cada requisição

Histórico

  • GCIs e Java EE
    • Java EE (Enterprise Edition) é uma especificação do Java que define qual API os servidores de aplicação devem prover às aplicações web  
    • Possui vários frameworks famosos : 
      • Spring MVC, JSF, VRaptor

Histórico

  • PHP, Ruby (Ruby on Rails) e Python (Django)
    • Desenvolvimento rápido para a Web
    • O Twitter, desenvolvido em Ruby on Rails, teve que mudar seus servidores para Java e Scala devido a problemas de performance

Histórico

  • AJAX (Asynchronous Javascript and XML) e Angular.js
    • AJAX é uma técnica para carregar pedaços de HTML de forma assíncrona
    • Angular.js foi desenvolvido pelo Google e provê um framework MVC JavaScript para o desenvolvimento de aplicações Single Page 
    • Aplicações Single Page são inteiramente contidas no browser e não precisam fazer requisições de novas páginas no servidor

Histórico

  • Desenvolvimento Híbrido - Cordova 
    • Aplicações desenvolvidas em HTML 5, CSS 3 e JavaScript que podem ser executadas em diversas plataformas distintas
    • O Apache Cordova é uma plataforma de desenvolvimento móvel com APIs que permitem que o desenvolvedor acesse funções nativas do dispositivo, como a câmera ou o acelerômetro

Node.js

  • Interpretador JavaScript destinado a ser executado fora do browser
  • Possibilita a criação de WebServices
  • Fácil aprendizado

Vantagens

  • Back-End simples
  • Performance
  • Ferramentas padronizadas
  • Prototipação rápida
  • Alta modularidade
  • Escalabilidade

Desvantagens

  • Manutenção
  • Cultura do desenvolvimento em JavaScript
  • Tratamento de exceções

Play Framework

  • Escrito em Scala
  • Alternativa ao Java EE
  • Permite desenvolvimento em Java e/ou Scala

Vantagens

  • Performance
  • Escalabilidade
  • Manutenção

Desvantagens

  • Imaturo
  • Sistema de build SBT
  • Incompatibilidade entre versões

Node.js vs Play Framework

Node.js v.s. Play Framework (2016)

Referências

Dickey, Jeff. Write Modern Web Apps with the MEAN Stack: Mongo, Express, AngularJS, and Node. js. Pearson Education, 2014.

 

Antani, Ved. Mastering Javascript. Packt Publishing, 2016.

 

Node.js v.s. Play Framework, Disponível em <https://www.youtube.com/watch?v=b6yLwvNSDck>. Acesso em 16 de fevereiro de 2016.

Desenvolvimento Web

By Alexsandro Oliveira

Desenvolvimento Web

  • 811