SlideShare uma empresa Scribd logo
1 de 30
Baixar para ler offline
e sendo Ágil para Web
[redescobrindo o Desktop]
Plataformas Monolíticas
@cristofersousa
@cristofersousa
Definição
“Todo software que não está orientado
a serviços pode ser descrito como
monolítico embora seja baseado em
objeto e pode ser distribuído.”
by Wikipedia
O uso original do termo monolítico,
descreve enormes aplicações no
quadro principal sem modularidade
utilizável, portanto, resulta em
sistemas insustentáveis e passíveis de
crise no software advindo da má
implementação, anti-patterns e re-uso
impraticável.
Contexto
Olá código, “macarrônico”!
Only in the past I had ?
http://www.infoq.
com/br/news/2014/10/soundc
loud-microservices
Parece que não! ¯_(ツ)_/¯
O que esperamos?
Podemos ter uma aplicação
monolítica muito bem arquitetada e
com código excelente e sistemas
extremamente sustentáveis.
http://goo.gl/hGQ6vS
"O homem pinta com o cérebro
e não com as mãos."
- Michelangelo
Hello, Clipper!
Em engenharia de software, uma
aplicação monolítica descreve uma
única aplicação de software em camadas
no qual a interface de usuário e código de
acesso aos dados são combinados em um
único programa a partir de uma única
plataforma.
This is famous, legacy!
how to change
for the better?
Swing é um widget toolkit para uso
com o Java. Ele é compatível com o
Abstract Window Toolkit (AWT).
System.out.println(“Hi, I’m Java Swing!”);
Development for Desktop
it takes more productivity
Mobile
Wtf man?! Where is Java here?
Google Web Toolkit é um toolkit de
código-fonte aberto permitindo a
desenvolvedores, criar aplicativos com
tecnologia Ajax em linguagem de
programação Java [1]
. GWT suporta
cliente-servidor, desenvolvimento e
debugging em qualquer IDE Java.
Exceto por algumas bibliotecas nativas,
tudo é fonte Java que pode ser
construído em qualquer plataforma com
o GWT incluído Ant.
Programming in Java to convert to JavaScript
Development for “Mobile”
Um dos frameworks mais famosos na
mercado é o Spring MVC. Spring é um
framework que inicialmente não foi
criado para o desenvolvimento web. Na
essência o Spring é um container leve que
visa fornecer serviços para sua aplicação
como por exemplo o gerenciamento de
objetos ou transação.
Grails is a powerful web framework, for the Java platform aimed
at multiplying developers’ productivity thanks to a Convention-over-
Configuration, sensible defaults and opinionated APIs. It integrates
smoothly with the JVM, allowing you to be immediately productive
whilst providing powerful features, including integrated ORM,
Domain-Specific Languages, runtime and compile-time meta-
programming and Asynchronous programming.
careers
vagas@shx.com.br
O PODER DA INFORMAÇÃO
cristofer.sousa@gmail.com | cristofer.sousa.com.br

Mais conteúdo relacionado

Mais procurados

Um framework java script para chamar de seu
Um framework java script para chamar de seuUm framework java script para chamar de seu
Um framework java script para chamar de seu
Ronaldo Prass
 
jQuery: Write less, do more
jQuery: Write less, do morejQuery: Write less, do more
jQuery: Write less, do more
hfsantos
 

Mais procurados (20)

Os 12 fatores: uma metodologia para criação de projetos SaaS
Os 12 fatores: uma metodologia para criação de projetos SaaSOs 12 fatores: uma metodologia para criação de projetos SaaS
Os 12 fatores: uma metodologia para criação de projetos SaaS
 
Workshop frontend
Workshop   frontendWorkshop   frontend
Workshop frontend
 
Um framework java script para chamar de seu
Um framework java script para chamar de seuUm framework java script para chamar de seu
Um framework java script para chamar de seu
 
Hands-on Cordova / Phonegap - GDG JF
Hands-on Cordova / Phonegap - GDG JFHands-on Cordova / Phonegap - GDG JF
Hands-on Cordova / Phonegap - GDG JF
 
Como trabalhar com angular js
Como trabalhar com angular jsComo trabalhar com angular js
Como trabalhar com angular js
 
Automatizando o teste de aplicações Web com Selenium WebDriver e Azure DevOps...
Automatizando o teste de aplicações Web com Selenium WebDriver e Azure DevOps...Automatizando o teste de aplicações Web com Selenium WebDriver e Azure DevOps...
Automatizando o teste de aplicações Web com Selenium WebDriver e Azure DevOps...
 
jQuery: Write less, do more
jQuery: Write less, do morejQuery: Write less, do more
jQuery: Write less, do more
 
Aplicando Testes Automatizados com Selenium e Azure DevOps - MVPConf LATAM 2019
Aplicando Testes Automatizados com Selenium e Azure DevOps - MVPConf LATAM 2019Aplicando Testes Automatizados com Selenium e Azure DevOps - MVPConf LATAM 2019
Aplicando Testes Automatizados com Selenium e Azure DevOps - MVPConf LATAM 2019
 
Adotando o Wordpress
Adotando o WordpressAdotando o Wordpress
Adotando o Wordpress
 
Phonegap
PhonegapPhonegap
Phonegap
 
Blazor, web assembly e o futuro do browser
Blazor, web assembly e o futuro do browserBlazor, web assembly e o futuro do browser
Blazor, web assembly e o futuro do browser
 
Construindo aplicações robustas com a suíte de tecnologias gratuítas da Micro...
Construindo aplicações robustas com a suíte de tecnologias gratuítas da Micro...Construindo aplicações robustas com a suíte de tecnologias gratuítas da Micro...
Construindo aplicações robustas com a suíte de tecnologias gratuítas da Micro...
 
Workshop - Ionic + firebase
Workshop - Ionic + firebaseWorkshop - Ionic + firebase
Workshop - Ionic + firebase
 
jQuery: Write less, do more
jQuery: Write less, do morejQuery: Write less, do more
jQuery: Write less, do more
 
Arquitetura de Micro Serviços
Arquitetura de Micro ServiçosArquitetura de Micro Serviços
Arquitetura de Micro Serviços
 
Integração e APIs com Mulesoft
Integração e APIs com MulesoftIntegração e APIs com Mulesoft
Integração e APIs com Mulesoft
 
Aplicações Híbridas para Dispositivos Móveis com AngularJS e PhoneGap
Aplicações Híbridas para Dispositivos Móveis com AngularJS e PhoneGapAplicações Híbridas para Dispositivos Móveis com AngularJS e PhoneGap
Aplicações Híbridas para Dispositivos Móveis com AngularJS e PhoneGap
 
Ruby on Rails como deve ser utilizada e onde - Julio Cartier Maia Gomes
Ruby on Rails como deve ser utilizada e onde - Julio Cartier Maia GomesRuby on Rails como deve ser utilizada e onde - Julio Cartier Maia Gomes
Ruby on Rails como deve ser utilizada e onde - Julio Cartier Maia Gomes
 
Azure
AzureAzure
Azure
 
ASP.NET SignalR + SPA com AngularJS
ASP.NET SignalR + SPA com AngularJSASP.NET SignalR + SPA com AngularJS
ASP.NET SignalR + SPA com AngularJS
 

Semelhante a Plataformas Monolíticas, redescobrindo o Desktop e sendo Ágil para Web.

Plataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDKPlataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDK
Ryan Padilha
 
Asoso tipos de aplicações móveis (1)
Asoso   tipos de aplicações móveis (1)Asoso   tipos de aplicações móveis (1)
Asoso tipos de aplicações móveis (1)
grupouro
 
Asoso tipos de aplicações móveis (1)
Asoso   tipos de aplicações móveis (1)Asoso   tipos de aplicações móveis (1)
Asoso tipos de aplicações móveis (1)
grupouro
 

Semelhante a Plataformas Monolíticas, redescobrindo o Desktop e sendo Ágil para Web. (20)

Arquitetura de Microservicos
Arquitetura de MicroservicosArquitetura de Microservicos
Arquitetura de Microservicos
 
Desenvolvimento web - conceitos, tecnologia e tendências.
Desenvolvimento web - conceitos, tecnologia e tendências.Desenvolvimento web - conceitos, tecnologia e tendências.
Desenvolvimento web - conceitos, tecnologia e tendências.
 
01 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.101 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.1
 
Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services
Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile ServicesConstruindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services
Construindo Aplicativos móveis conectados com Xamarin e Azure Mobile Services
 
Plataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDKPlataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDK
 
Cursos
CursosCursos
Cursos
 
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...
[JS EXPERIENCE 2018] Do jQuery aos microfrontends: os desafios de manter uma ...
 
Fundamentos em Containers
Fundamentos em ContainersFundamentos em Containers
Fundamentos em Containers
 
Microservices com Spring Boot e Spring Cloud Netflix
Microservices com Spring Boot e Spring Cloud NetflixMicroservices com Spring Boot e Spring Cloud Netflix
Microservices com Spring Boot e Spring Cloud Netflix
 
Java programação orientada a objetos
Java   programação orientada a objetosJava   programação orientada a objetos
Java programação orientada a objetos
 
Ria
RiaRia
Ria
 
Mobile apps com Xamarin e Azure Mobile Services - The Developers Conference P...
Mobile apps com Xamarin e Azure Mobile Services - The Developers Conference P...Mobile apps com Xamarin e Azure Mobile Services - The Developers Conference P...
Mobile apps com Xamarin e Azure Mobile Services - The Developers Conference P...
 
Transformando a ti com cloud computing e virtualização
Transformando a ti com cloud computing e virtualizaçãoTransformando a ti com cloud computing e virtualização
Transformando a ti com cloud computing e virtualização
 
Turbinando microsserviços em PHP
Turbinando microsserviços em PHPTurbinando microsserviços em PHP
Turbinando microsserviços em PHP
 
Marketing digital tecnologia da informação
Marketing digital   tecnologia da informaçãoMarketing digital   tecnologia da informação
Marketing digital tecnologia da informação
 
Apostila de Fundamentos Java
Apostila de Fundamentos JavaApostila de Fundamentos Java
Apostila de Fundamentos Java
 
Asoso tipos de aplicações móveis (1)
Asoso   tipos de aplicações móveis (1)Asoso   tipos de aplicações móveis (1)
Asoso tipos de aplicações móveis (1)
 
Asoso tipos de aplicações móveis (1)
Asoso   tipos de aplicações móveis (1)Asoso   tipos de aplicações móveis (1)
Asoso tipos de aplicações móveis (1)
 
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
Minicurso - Desenvolvendo aplicações web com JavaScript e AngularJS - Estácio...
 
Microservices - Quebrando gigantes em pequenos
Microservices - Quebrando gigantes em pequenosMicroservices - Quebrando gigantes em pequenos
Microservices - Quebrando gigantes em pequenos
 

Último

Último (8)

ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 

Plataformas Monolíticas, redescobrindo o Desktop e sendo Ágil para Web.

  • 1. e sendo Ágil para Web [redescobrindo o Desktop] Plataformas Monolíticas @cristofersousa
  • 3. Definição “Todo software que não está orientado a serviços pode ser descrito como monolítico embora seja baseado em objeto e pode ser distribuído.” by Wikipedia
  • 4. O uso original do termo monolítico, descreve enormes aplicações no quadro principal sem modularidade utilizável, portanto, resulta em sistemas insustentáveis e passíveis de crise no software advindo da má implementação, anti-patterns e re-uso impraticável. Contexto
  • 6. Only in the past I had ?
  • 9. Podemos ter uma aplicação monolítica muito bem arquitetada e com código excelente e sistemas extremamente sustentáveis. http://goo.gl/hGQ6vS
  • 10. "O homem pinta com o cérebro e não com as mãos." - Michelangelo
  • 11. Hello, Clipper! Em engenharia de software, uma aplicação monolítica descreve uma única aplicação de software em camadas no qual a interface de usuário e código de acesso aos dados são combinados em um único programa a partir de uma única plataforma.
  • 12. This is famous, legacy!
  • 13.
  • 14.
  • 15. how to change for the better?
  • 16.
  • 17. Swing é um widget toolkit para uso com o Java. Ele é compatível com o Abstract Window Toolkit (AWT). System.out.println(“Hi, I’m Java Swing!”); Development for Desktop
  • 18.
  • 19. it takes more productivity
  • 20. Mobile Wtf man?! Where is Java here?
  • 21. Google Web Toolkit é um toolkit de código-fonte aberto permitindo a desenvolvedores, criar aplicativos com tecnologia Ajax em linguagem de programação Java [1] . GWT suporta cliente-servidor, desenvolvimento e debugging em qualquer IDE Java. Exceto por algumas bibliotecas nativas, tudo é fonte Java que pode ser construído em qualquer plataforma com o GWT incluído Ant. Programming in Java to convert to JavaScript Development for “Mobile”
  • 22.
  • 23.
  • 24. Um dos frameworks mais famosos na mercado é o Spring MVC. Spring é um framework que inicialmente não foi criado para o desenvolvimento web. Na essência o Spring é um container leve que visa fornecer serviços para sua aplicação como por exemplo o gerenciamento de objetos ou transação.
  • 25.
  • 26. Grails is a powerful web framework, for the Java platform aimed at multiplying developers’ productivity thanks to a Convention-over- Configuration, sensible defaults and opinionated APIs. It integrates smoothly with the JVM, allowing you to be immediately productive whilst providing powerful features, including integrated ORM, Domain-Specific Languages, runtime and compile-time meta- programming and Asynchronous programming.
  • 27.
  • 29.