
The article "Contemporary Front-end Architectures" discusses front-end architectures in terms of data flows in historical retrospective.
The material consists of three parts
- Theory and History
- Implementation
Prospects
Part 1. Theory and History
.
, !
, , - โ . - - ( ) 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-.
Modern templates are similar to the advanced version of these revolutionary models and are a kind of general trend towards which the front-end community is moving.
End of Part One
Part 2