Top Banner
FRONT-END ARCHITECTURE REMUS LANGU QUALITY. PRODUCTIVITY. INNOVATION.
26

Front end architecture

Jan 22, 2017

Download

Software

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Front end architecture

FRONT-END ARCHITECTURE

REMUS LANGUQUALITY. PRODUCTIVITY. INNOVATION.

Page 2: Front end architecture

AGENDA

Role

ToolsProcesses

JS

Architecture

CSS

Architecture

Page 3: Front end architecture

FRONT-END ARCHITECTUREis a collection of

tools and processesthat aims to improve the

quality of our front-end code while creating a more efficient

and sustainable workflow.Micah Godbolt

Page 4: Front end architecture

TheFRONT-END ARCHITECT

Responsibilities

Makes Decisions

Designs, Plans and Oversees

Facilitates Tools and Processes

Keeps up to date on technologies

Enforces Quality

Manages Technical Debt

Page 5: Front end architecture

Separation of Concerns

Page 6: Front end architecture

HTML Markup

Page 7: Front end architecture

CSS Architecture

Page 8: Front end architecture

BEM

Block Element Modifier

Page 9: Front end architecture

OOCSS

Object-Oriented CSS

Separatestructure from skin

Separatecontainer from content

Page 10: Front end architecture

1. Base2. Layout3. Module4. State5. Theme

SMACSS

Scalable and Modular Architecture

for CSSTheme

Page 11: Front end architecture

Inverted Triangle CSS Architecture

Page 12: Front end architecture

JavaScript Architecture

Page 13: Front end architecture

Patterns

Model-View-ControllerModel-View-ViewmodelModel-View-Presenter

Presentation-Abstraction-Control

Event-Driven Architecture

Page 14: Front end architecture

Abstractions

Clie

nt

Ser

ver

Endpoints

UI Component

Template Rendering

Server Interaction

State Management

CommunicationComponent

UI Component

Component

Page 15: Front end architecture

Template Rendering

DataModel UI

DOM

TemplateFunction

change

Page 16: Front end architecture

State Management

DataModel

Change Detection

Page 17: Front end architecture

No state changesServer-Side Rendering

State changesManual Re-rendering

DataModel

UIDOM 1

UIDOM 2

DataModel

UIDOM

?

Page 18: Front end architecture

Data BindingModels push updates

Dirty CheckingViews pull updates

UIDOM

DataModel

DataModel

UIDOM

Watchers

Page 19: Front end architecture

Virtual DOMState pushed to view

Immutable & Persistent data structures

DataModel

VirtualDOM

VirtualDOM

UIDOM

Diff

= Om+

DataModel

VirtualDOM

VirtualDOM

UIDOM

DiffReuses

Page 20: Front end architecture

Polyglot Architecture

Page 21: Front end architecture

T3

Minimalist framework for building large-scale

applications

Page 22: Front end architecture

Tools and Processes

Page 23: Front end architecture

Test Build

Preprocessing

Concatination

Minify

Optimize Images

Other tasks

Scaffolding

Application Structureand Boilerplate

ManageDependencies

libs & frameworks

Search Packages

Download Packages

DependencyManagement

DeployCode

Business Logic

Develop

WatchSource Files

Preprocessing

Lint JS/CSS

Live Reload

Build System

Page 24: Front end architecture

Q & A

Page 25: Front end architecture

Remus LanguDesign Lead

[email protected]

+40 743 426 760

remus.constantin.langu

[email protected]

QUALITY. PRODUCTIVITY. INNOVATION.

Thank you!

Page 26: Front end architecture

Front-End ArchitecturePractice