Arquitetura
Do Universo
ao Front-end
4.600.000.000
anos no passado.
Teoricamente,
Pra quem não sabe onde vai
Qualquer caminho serve
Com o tempo, a poeira cósmica presente na nebulosa solar colidiam entre elas


Formando o sistema planetário como o conhecemos hoje

De lá pra cá
muito aconteceu...
1989
Tim Berners-Lee cria a
World Wide Web
1989
Delegado o TLD .br ao Brasil
1993
CERN disponibiliza a Web ao mundo

Linked information systems
- People
- Software modules
- Groups of people
- Projects
- Concepts
- Documents
- Types of hardware
- Specific hardware objects
- depends on B
- is part of B
- made B
- refers to B
- uses B
- is an example of B
The arrows which links circle A to circle B can mean, for example, that A...
In providing a system for manipulating this sort of information, the hope would be to allow a pool of information to develop which could grow and evolve with the organisation and the projects it describes. For this to be possible, the method of storage must not place its own restraints on the information. This is why a "web" of notes with links (like references) between them is far more useful than a fixed hierarchical system. When describing a complex system, many people resort to diagrams with circles and arrows. Circles and arrows leave one free to describe the interrelationships between things in a way that tables, for example, do not. The system we need is like a diagram of circles and arrows, where circles and arrows can stand for anything.
We can call the circles nodes, and the arrows links. Suppose each node is like a small note, summary article, or comment. I'm not over concerned here with whether it has text or graphics or both. Ideally, it represents or describes one particular person or object. Examples of nodes can be
Diagram | Nodes are | Arrows mean |
---|---|---|
Family tree | People | "Is parent of" |
Dataflow diagram | Software modules | "Passes data to" |
Dependency | Module | "Depends on" |
PERT chart | Tasks | "Must be done before" |
Organisational chart | People | "Reports to" |
Diagram | Nodes are | Arrows mean |
---|---|---|
Family tree | People | "Is parent of" |
Dataflow diagram | Software modules | "Passes data to" |
Dependency | Module | "Depends on" |
PERT chart | Tasks | "Must be done before" |
Organisational chart | People | "Reports to" |
Diagram | Nodes are | Arrows mean |
---|---|---|
Family tree | People | "Is parent of" |
Dataflow diagram | Software modules | "Passes data to" |
Dependency | Module | "Depends on" |
PERT chart | Tasks | "Must be done before" |
Organisational chart | People | "Reports to" |
Diagram | Nodes are | Arrows mean |
---|---|---|
Family tree | People | "Is parent of" |
Dataflow diagram | Software modules | "Passes data to" |
Dependency | Module | "Depends on" |
PERT chart | Tasks | "Must be done before" |
Organisational chart | People | "Reports to" |
Diagram | Nodes are | Arrows mean |
---|---|---|
Family tree | People | "Is parent of" |
Dataflow diagram | Software modules | "Passes data to" |
Dependency | Module | "Depends on" |
PERT chart | Tasks | "Must be done before" |
Organisational chart | People | "Reports to" |
Diagram | Nodes are | Arrows mean |
---|---|---|
Family tree | People | "Is parent of" |
Dataflow diagram | Software modules | "Passes data to" |
Dependency | Module | "Depends on" |
PERT chart | Tasks | "Must be done before" |
Organisational chart | People | "Reports to" |
1993
HTML 1
2000
Design principles
and
Design Patterns


2003
Domain-Driven Design (DDD)
2008
Clean Code
2012
Clean Architecture
Camadas

Camadas

Camadas

Camadas

Mercúrio
Assim como o HTML, o CSS, eles estão na linha de frente.

A ausência de uma camada de gases, como a atmosfera que temos e a distância do sol torna as temperaturas por lá bastante elevadas.
Não tem satélites naturais e sua superfície possui muitas crateras de impactos antigos.
Mercúrio
Assim como o HTML, o CSS, eles estão na linha de frente.

A ausência de uma camada de gases, como a atmosfera que temos e a distância do sol torna as temperaturas por lá bastante elevadas.
Não tem satélites naturais e sua superfície possui muitas crateras de impactos antigos.
Vênus
Apesar de estar mais longe do Sol que Mercúrio, é o planeta mais quente do sistema.

A chuva por lá, é composta de ácido sulfúrico e é extremamente corrosiva.
Ela evapora antes mesmo de chegar tocar o solo.
Chegar até lá e se manter vivo ou funcionando exige muito planejamento, assim como projetos em JavaScript.
Terra
O único lugar com formas de vida confirmadas.

Devido a disponibilidade de água e uma atmosfera bem desenvolvida, a evolução das espécies é algo natural.
É o lugar perfeito para absorver e aproveitar a energia solar sem prejuízos.
Porém, mesmo sem necessidade, mudanças por aqui são muito frequentes.
Marte
Assim como a terra, ele tem fina atmosfera.

Possui vulcões extintos, desfiladeiros, entre outras características geológicas.
Poderia abrigar vida,
É o lugar perfeito para absorver e aproveitar a energia solar sem prejuízos.
É a segurança que as regras de negócio precisam.
No entanto, o CO2 domina com 96% a composição dela e somente 0,13% é O2, o restante da composição do ar é de N2 e Ar.
Como funciona a arquitetura cósmica?
Camadas
Camadas
Direção de dependências

Camadas
Direção de dependências

Não se trata de software
Estamos falando de uma regra natural e universal
Dependências
Dependências
e + dependências...
Imagine se...
A principal regra de negócio do projeto depende de uma biblioteca externa, mantida por pessoas de países diferentes, com diferentes prioridades, em diferentes momentos de carreira.
Agora pense
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin urna odio, aliquam vulputate faucibus id, elementum lobortis felis. Mauris urna dolor, placerat ac sagittis quis.
Eis que o projeto simplesmente é descontinuado.
Universo e Arquitetura Front-end
By Guilherme Siquinelli
Universo e Arquitetura Front-end
- 132