
O artigo "Arquiteturas de front-end contemporĂąneas" discute arquiteturas de front-end em termos de fluxos de dados em retrospectiva histĂłrica.
O material consiste em trĂȘs partes
- Teoria e HistĂłria
- Implementação
Perspectivas
Parte 1. Teoria e HistĂłria
.
, !
, , - â . - - ( ) SPA SSR API. CMS - .
- . , DOM, jQuery, Backbone.js MVC. . - , . , MVC, React? ? .
, - , -, -. â , , , .. .
â ?
. â , / , . ? .
.
, , , , , (Model) (Application state). « » (Domain model) «-» (Business logic) . -.
(-) . , .
MVC â
( -, ). MVC â Model View Controller, (View) (Model) . , , MVC , .
, SoC (Separation of Concern) â . , , MVC .
MVC Smalltalk-80. MVC View , Model. MVC, ( 1970- ):
MVC. Controller , , . , , (View) , .
, . , . , - , .
React, Vue Angular View-Controller , .
MVC, MVC. . . , .

:
View Controller Model, . , Model , .
Observer, View. Model , , View .
MVC . View- Model . . â View-.

MVC MVC MVC (father's MVC).
(Application model)
, Application State GUI. - (Presentation logic) (View state), .
, .
. . 10, , . - . (UX), . â ? ?
, , . , , â â . , . . . , 10 View , -.
, MVC â (Application Model, AM). , View-Controller . .

, MVC. , , AM-MVC . , Application Model View , , , Application Model View.
, . (Presentation Model), , .
, , - , . .
. . "" . , . , Windows, .
. (View) .
. View . . . . , , .
View - View. â .
MVC . , Dolphin . 1995 . , Dolphin , . .
, MVC 60 , « » (Twisting the triad). MVP.
:
(Presenter) . . .
, , .
, MVP Supervising Controller MVP Passive View MVP. .

MVVM â Model View ViewModel
MVP , , - MVVM . Model-View-Binder. MVVM Passive View MVP, (data binding). , . , View Model. .
:
ViewModel â , (bind-able) , View.
MVVM Binder, View ViewModel. , ViewModel , , .

Data binding, MVVM, , Knockout, Angular, Vue.js, React .
-.
-
MVC, -. Web MVC. , - , - , MVC , .
, MVC web-MVC â . web-MVC - , .
- . MVC -, . , â .
- , . (rich client-driven) . .
- MVC, , , MVC: MVC , MVC - MVC. :
- (JS + HTML) .
- .
- .
, . , MVC .
MVC a.k.a. 2
MVC 2 Sun Microsystems - Java.

MVC MVC, , , , . , :
- MVC (Data cycles), -MVC â .
- (View cycles). â , , .. â , , ..
- , (Model cycle), , -.
- Front Controller: , HTTP-. , - Java, IHttpHandler ASP.NET HTTP.Server Node.js.
, SSR (Server Side Rendering) â . . HTML/ , JavaScript , -, MVC, SSR.
. JavaScript. , AJAX -. Google .
MVC, HTML + JavaScript. JS . JavaScript UX (Server View Cycles). , , .. .

-. B2C, SEO- -, CMS â Content Management Systems, . .
. Web MVC. ASP.NET MVC, Java Struts, Python Django, Ruby ROR, PHP CodeIgniter â , MVC Web MVC.
, , - .
RIA â - (Rich Internet Application Architecture)
, -. - RIA â Rich Internet Application. RIA , . RIA Rich Web Applications â , , UX . , SPA (Single Page Application) â . Web MVC . HTML-, .
RIA â , . ViewModel, Observers, Components .. , . Oliver Steel, 15- ( , ) RIA.

RIA Web MVC Controller View . . , Controller View , , . - , , API-. JSON, -.
GUI ?
(Patterns), , GUI . , , - (Elements of Reusable Object-Oriented Software). . GUI.
GUI HCI (Human Computer Interaction) â . (User) (Side Effect) .
, , . , , . .
- : , .

MVC. - . , UX .
â , . SPA-.
Os modelos modernos sĂŁo semelhantes Ă versĂŁo avançada desses modelos revolucionĂĄrios e sĂŁo um tipo de tendĂȘncia geral para a qual a comunidade front-end estĂĄ se movendo.
Fim da Parte Um
Parte 2