Computadores existem para satisfazer as nossas necessidades e automatizar tarefas. A forma como nós humanos interagirmos com qualquer sistema que automatize tarefas (não só computadores, pense em carros, por exemplo) é através de uma interface.
Antes da internet ser como conhecemos hoje, essa interface era feita através de softwares instalados no sistema operacional. Com a evolução da web e a praticidade da mesma, muitos têm tentado trazer todo o poder do computador para sistemas na web, através de interfaces no navegador.
Se você não precisa de alguma combinação de:
AJAX, Binding, Interatividade e Input/Output.
Você não precisa de SPA.
Não ser SPA também é Front-End,e tem seus desafios como
arquitetura de pastas/arquivos, organização de CSS, templates
inteligentes, etc.
Eu quero desenvolver aplicações sem me preocupar demais em aprender algo além da tecnologia, com partes reutilizáveis, de fácil manutenção e que traga uma boa experiência para os usuários.
Premisas.1. Não ter que aprender algo
demasiadamente específico.2. Partes reutilizáveis e modulares.3. Sem muita necessidade de refatoração.4. Boa experiência para o usuário (rápido,
transições, feedback, fácil de usar).
Desafios.1. Sincronia de dados entre servidor e
cliente/cache.2. Performance.3. Fácil de desenvolver/dar manutenção.4. Concorrência e Paralelismo.5. Offline.
Não ter que aprender algo demasiadamente específico
Partes reutilizáveis e modulares
Sem muita necessidade de refatoração
Boa experiência para o usuário (rápido, transições, feedback, fácil de usar)
Fácil de desenvolver/dar manutenção
Fácil de desenvolver/dar manutenção
Sincronia de dados entre servidor e cliente
Offline
Fácil de desenvolver/dar manutenção
Concorrência e Paralelismo
Performance
Sincronia de dados entre servidor e cliente/cache
Curto prazo Longo prazo
Boa experiência para o usuário (rápido, transições, feedback, fácil de usar)
Boa experiência para o usuário (rápido, transições, feedback, fácil de usar)
Não ter que aprender algo demasiadamente específico
Sem muita necessidade de refatoração
Partes reutilizáveis e modulares
Eu quero desenvolver aplicações sem me preocupar demais em aprender algo além da tecnologia, com partes reutilizáveis, de fácil manutenção e que traga uma boa experiência para os usuários.
Temos que escolher entre.
1. Conceitos de programação.2. Formatos de API.3. Frameworks de Front-End.
Você está feliz agora,esse é seu estado.
Estado é um snapshot da memória
de uma parte do seu programaem determinado momento.
Esse é o estilo mandão. Eu sei quem você é, eu quero que você faça aquilo pra mim. Eu mudo o
seu estado e eu sei disso.
A mesma coisa, mas do pontode vista do pau mandado.
Ele é passivo de receber ordem
e está exposto aos outros.
O contrário do imperativo e passivo, vai junto com o funcional.
Ele diz explicitamente que vai reagir quando acontecer
tal coisa nos outros.
Ninguém manda nele diretamente, ele manda em si mesmo
e se controla.
Esse é o estilo matemático.
Eu defino funções previsíveis,que apenas alteram o estado do
seu escopo e nunca causam efeitos colaterais (nunca mudam
estados fora de si).
Também vai junto com o funcional.
Advoga que a melhor forma de evitar efeitos colaterais é não
armazenar estado, simplesmente transformar e retornar.
Frameworks. 1. MV* (Angular 1.x, Ember...).2. Flux + Components (React, Vue.js…).3. Web Components (Polymer...).4. Functional/Reactive (Cycle, Bacon…).
Temos que ter camadas de abstração sim, mas
sempre teremos que saber em que pé anda a
tecnologia e o papel de cada ferramenta.
Você pode ajudar.1. Soluções para paralelismo.2. Propor formas de trabalhar offline.3. Como transitar entre frameworks.4. Facilitar o modelo de dados no cliente.
Top Related