SlideShare a Scribd company logo
HIGH TECH
HIGH CODE QUALITY
HIGH PERFORMANCE
HIGH SCALABILITY
HIGH MAINTAINABILITY
Single
Page
App
SE XY A N G U L A R STA CK
C U R I O U S C A S E S
by @ c u o n g t r u o n g
Hello!
I am Cuong Truong
FEArchitect/Scrum Master at #ITCGroup
I am here because I love to share knowledge
You can contact me via
cuongtruong.info@gmail.com
#Frontend 2018
Angular
State Container
ES6+
TypeScript
Linter
UI kit
Unit Test
Webpack
VS Code
Takeaway + Demo
Agenda
#Framework for building SPA
Uni-directional data flow
Across all platforms
Server-side rendering
Modern, Smaller & Faster
#Cheat Sheet
ANGULAR
Do events
Repaint the
DOMDo layout
Recalculate
the CSS
Every time DOM changes, browser needs to
TAKESTIME
TRADITIONAL WAY
Modifies DOM when MODEL changed
ANGULAR WAY
1
USE “1-WAY”
Unidirectional Data
Flow
BATCH
Update bindings,
execute all changes
COMPUTE
minimal set of changes
cause DOM to be updated
RUN
change detection on
the Model
2
34
BETTER PERFORMANCE
No controllers
No models
No directives
No global eventlisteners
Everything is <Component/>
#Thinking in Angular
component
template
</>
metadata
property
binding
event
binding
component component
module
component component
directive
metadata
- component
- structural
- attribute
injector
service
#Anguar vsReact#Benchmarks
THINKING IN
ANGULAR
- App
- HomePage
- Header
- SearchBar
- EmployeeList
- EmployeeListItem
- EmployeePage
- Header
- EmployeeDetails
A solution for concurrent
data modification by
multiple actors
A client containerfor
temporary UI state.e.g.
A client cache for
avoiding excessive HTTP
requests
If you need
HOW TOMANAGE
FRONTEND
LOGIC or
wizard, shopping cart, … APPLICATION
STATE EFFECTIVELY?
@ngrx/store
application state manager
for Angular applications
UNIDIRECTIONAL DATAFLOW
IMMUTABLE
Redux + Observable
Component
StoreReducers
Actions
Effects
NEW
STATE
SELECTOR
S
ACTIONS
AP
I
Services
DISPATCH
@ngrx/store
vs
services
=> {}
Let + Const
const myObject = {propA, propB}
Arrow function, Default
const myFunction = (arg = ‘value’)
Class
export class MyClass {constructor(){}}
Module
import {MyClass} from ‘my/path’
Template String
const tps = `Template string with ${…}`
#ES6 #Mozilla #ES-Next
ECMAScript 6+
Destructuring
= myObjectconst {propA, propB}
Rest, Spread …
Promise
myPromise.then().then().catch()
Async/Await
const myFunction = async () => {await…}
Decorator
@myDecorator
class MyClass {…}
Static type checker for JS
strong/statically typed advantages
Strong tool for LARGE app
covers 100% of code
catches incorrect assumptions
e.g. numbers represented as strings
Provides advanced
autocompletion / intellisense
navigation
safe refactoring
TypeScript
#WhyTypeScript
My Recommendation
project does not live for long
project is really simple
people enter or leave your team frequently
there is a chance you will need to refactor the thing
system is very important or even crucial for the success
of company
discovers problems
with TypeScript code
without executing it
Coding conventions
Readability
Maintainability
Functionality errors
TSLint/ESLint
#TSLint #ESLint
FAKER
Some other mocking/
#faking data/api calls
ISTANBUL
JS #code coverage tool
SINON
Test #spies, stubs &
mocks for JavaScript
Front-end Unit Test
KARMA
Spectacular #test
runner for JavaScript
MOCHA
Feature-rich JavaScript
#test framework
CHAI
BBD/TDD
#assertion library
#Protractor
Ng Bootstrap Material UI
Build yourself ?!
#BEM #SMACSS #MVCSS
Bundles your
Scripts
Styles
Assets
Images
WEBPACK
Configuration object
Resolves dependencies
Hot reloading
Tree-shaking
Cache busting/hashing system
WEBPACK
ENTRY POINTS
single entry
multiple page
app
separate app & vendor
MORE INFORMATION
WEBPACK
LOADERS
style | css | sass| scss| …
babel | typescript | flow |
… html | template | pug |
… url | file | raw | …
module | bundle-loader
MORE INFORMATION
WEBPACK
PLUGINS
CopyWebpackPlugin
CompressionWebpackPlugin
HtmlWebpackPlugin
CircularDependencyPlugin
CommonsChunk
MORE INFORMATION
folder structure?
FOLDER
STRUCTURE
take away
Pros
One framework to rule them all
Full control/easy to manage coding flow
Building reusable code/components
Testable
Readable
Maintainable
Performance
Developer experience/community
Server-side rendering => SEO
Size is smaller after each release
Cons
Learning curve
Need to keepconventions/boilerplate
Need to care aboutperformance
All in One framework for small app
My Recommendation
People are a part of solution
Keep conventions / commitments
Strategies for managing dependencies
Take care about architecture and configurations
Write small & pure functions as much as possible
Write meaningful unit test as much as possible
Don’t USE if you don’t NEED or UNDERSTAND it
References
#DemoSourceCode
#JSCodingStandards
#AngularStyleguide
#Nx - MicroArchitecture
#Redux
#ReduxDevTools
#Entities
#TypeScript #Cheatsheet
#SASS
#BEM & SMACSS #MVCSS
#Babel
#ESLint #TSLint
#Karma #Mocha #Chai #Sinon
#Webpack
#javascripting
Q&A
0.99365 = 0.02552
0.999365 = 0.69407
1365 =
1.001365 = 1.44025
1.002365 = 2.07357
1.01365 = 37.7834
1.02365 = 1377.40
@CuongTruong
cuongtruong.official@gmail.com

More Related Content

What's hot (20)

PDF
Grunt, Gulp & fabs: Build Systems and Development-Workflow for Modern Web-App...
Philipp Burgmer
 
PPTX
SoftServe - "ASP.NET MVC як наступний крок у розвитку технології розробки Web...
SoftServe
 
PPTX
Dev evening - MonoTouch, MonoDroid, Mvvm MvvmCross and databinding
Stuart Lodge
 
PDF
Xamarin: The Future of App Development
James Montemagno
 
PPTX
Build 2017 - B8110 - Modernize WinForms and WPF apps with maximum code reuse,...
Windows Developer
 
PPTX
Migration from AngularJS to Angular
Aleks Zinevych
 
PDF
.NET Everywhere and for Everyone
James Montemagno
 
PPTX
Ivy renderer
TejinderMakkar
 
PPTX
A Developer Day 2014 - Durban
Robert MacLean
 
PDF
End to-end native iOS, Android and Windows apps wtih Xamarin
James Montemagno
 
PDF
Anton Sakharov: The risks you take when develop cross-platform apps using HT...
Mobile Trends
 
PDF
Xamarin Dev Days - Introduction to Xamarin.Forms, Insights, Test Cloud
James Montemagno
 
PDF
PyCon PL 2014 executable api
Wojtek Erbetowski
 
PPTX
SONY BBS - React Native
Mehmet Ali Bağcı
 
PDF
Cross Platform Mobile Development
Software Infrastructure
 
PPTX
React Native
Software Infrastructure
 
PDF
How To be a Backend developer
Ramy Hakam
 
PDF
Tutorial: Develop Mobile Applications with AngularJS
Philipp Burgmer
 
PPTX
Cross platform mobile development with xamarin and office 365
SoHo Dragon
 
Grunt, Gulp & fabs: Build Systems and Development-Workflow for Modern Web-App...
Philipp Burgmer
 
SoftServe - "ASP.NET MVC як наступний крок у розвитку технології розробки Web...
SoftServe
 
Dev evening - MonoTouch, MonoDroid, Mvvm MvvmCross and databinding
Stuart Lodge
 
Xamarin: The Future of App Development
James Montemagno
 
Build 2017 - B8110 - Modernize WinForms and WPF apps with maximum code reuse,...
Windows Developer
 
Migration from AngularJS to Angular
Aleks Zinevych
 
.NET Everywhere and for Everyone
James Montemagno
 
Ivy renderer
TejinderMakkar
 
A Developer Day 2014 - Durban
Robert MacLean
 
End to-end native iOS, Android and Windows apps wtih Xamarin
James Montemagno
 
Anton Sakharov: The risks you take when develop cross-platform apps using HT...
Mobile Trends
 
Xamarin Dev Days - Introduction to Xamarin.Forms, Insights, Test Cloud
James Montemagno
 
PyCon PL 2014 executable api
Wojtek Erbetowski
 
SONY BBS - React Native
Mehmet Ali Bağcı
 
Cross Platform Mobile Development
Software Infrastructure
 
How To be a Backend developer
Ramy Hakam
 
Tutorial: Develop Mobile Applications with AngularJS
Philipp Burgmer
 
Cross platform mobile development with xamarin and office 365
SoHo Dragon
 

Similar to B4UConference_Sexy Angular Stack (20)

PDF
Sexy React Stack
KMS Technology
 
PDF
Dot NET Solution Architect Roadmap By Scholarhat PDF
Scholarhat
 
PDF
resume
Brent Ransom
 
PPTX
Serverless Single Page Apps with React and Redux at ItCamp 2017
Melania Andrisan (Danciu)
 
PDF
Javaland 2014 / GWT architectures and lessons learned
pgt technology scouting GmbH
 
PDF
Tales of modernizing trello's web stack
Vincent Kok
 
PPTX
ChakraCore - JSConf Last Call
Gaurav Seth
 
PPTX
Challenges of angular in production (Tasos Bekos) - GreeceJS #17
GreeceJS
 
PDF
Azure tales: a real world CQRS and ES Deep Dive - Andrea Saltarello
ITCamp
 
PPTX
Old code doesn't stink - Detroit
Martin Gutenbrunner
 
PPTX
Single Page Applications – Know The Ecosystem system
Synerzip
 
PDF
The building blocks of the next web
Pier Paolo Orioli
 
PDF
The building blocks of the next web, from Customer Journey to UI Components. ...
Codemotion
 
PPTX
An Introduction to Web Components
Red Pill Now
 
PPTX
Signal R 2015
Mihai Coscodan
 
PPTX
Domain Modeling & Full-Stack Web Development F#
Kevin Avignon
 
PDF
Modern Web Applications
Ömer Göktuğ Poyraz
 
PDF
Vue3: nuove funzionalità, differenze e come migrare
Andrea Campaci
 
PPTX
Normalizing x pages web development
Shean McManus
 
PDF
Spring Boot & Spring Cloud on PAS- Nate Schutta (1/2)
VMware Tanzu
 
Sexy React Stack
KMS Technology
 
Dot NET Solution Architect Roadmap By Scholarhat PDF
Scholarhat
 
resume
Brent Ransom
 
Serverless Single Page Apps with React and Redux at ItCamp 2017
Melania Andrisan (Danciu)
 
Javaland 2014 / GWT architectures and lessons learned
pgt technology scouting GmbH
 
Tales of modernizing trello's web stack
Vincent Kok
 
ChakraCore - JSConf Last Call
Gaurav Seth
 
Challenges of angular in production (Tasos Bekos) - GreeceJS #17
GreeceJS
 
Azure tales: a real world CQRS and ES Deep Dive - Andrea Saltarello
ITCamp
 
Old code doesn't stink - Detroit
Martin Gutenbrunner
 
Single Page Applications – Know The Ecosystem system
Synerzip
 
The building blocks of the next web
Pier Paolo Orioli
 
The building blocks of the next web, from Customer Journey to UI Components. ...
Codemotion
 
An Introduction to Web Components
Red Pill Now
 
Signal R 2015
Mihai Coscodan
 
Domain Modeling & Full-Stack Web Development F#
Kevin Avignon
 
Modern Web Applications
Ömer Göktuğ Poyraz
 
Vue3: nuove funzionalità, differenze e come migrare
Andrea Campaci
 
Normalizing x pages web development
Shean McManus
 
Spring Boot & Spring Cloud on PAS- Nate Schutta (1/2)
VMware Tanzu
 
Ad

More from Hoa Le (20)

PDF
Chương 9_Bộ phần mềm EC
Hoa Le
 
PDF
Chương 8_Bảo mật và an ninh mạng
Hoa Le
 
PDF
Chương 7_Thanh toán trực tuyến_Phần 2
Hoa Le
 
PDF
Chương 7_Thanh toán trực tuyến_Phần 1
Hoa Le
 
PDF
Chương 6_Mô hình tiếp thị trực tuyến_Phần 1_ThS Lê Thị Bích Hoà
Hoa Le
 
PDF
Chương 5_Nội dung mô hình kinh doanh C2C và hệ thống đấu giá C2C_ThS Lê Thị B...
Hoa Le
 
PDF
Chương 4_Nội dung mô hình kinh doanh B2C(Business To Customer)_ThS Lê Thị Bíc...
Hoa Le
 
PDF
Chương 3_Nội dung mô hình kinh doanh B2B (Business To Business )_ThS Lê Thị B...
Hoa Le
 
PDF
ChChương 2_Thiết kế website thương mại điện tử_ThS Lê Thị Bích Hoà
Hoa Le
 
PDF
Chương 1_Tổng quan về thương mại điện tử và Website thương mại điện tử_ThS Lê...
Hoa Le
 
PDF
Chương 8 Phân tích CSDL kinh doanh với SQL
Hoa Le
 
PDF
Chương 6 CSDL Marketing
Hoa Le
 
PDF
Chương 5 Chiến lược trong kinh doanh
Hoa Le
 
PDF
Chương 4. Chuẩn hóa cơ sở dữ liệu
Hoa Le
 
PDF
Chương 3 Ngôn ngữ truy vấn có cấu trúc (SQL)
Hoa Le
 
PDF
Chương 2. Các khái niệm trong CSDL
Hoa Le
 
PPTX
B4UConference_machine learning_deeplearning
Hoa Le
 
PPTX
B4uConference_ethereum
Hoa Le
 
PPTX
B4UConference_Design Big Data System
Hoa Le
 
PPTX
B4UCconference_Building a CI/CD pipeline with effortless steps
Hoa Le
 
Chương 9_Bộ phần mềm EC
Hoa Le
 
Chương 8_Bảo mật và an ninh mạng
Hoa Le
 
Chương 7_Thanh toán trực tuyến_Phần 2
Hoa Le
 
Chương 7_Thanh toán trực tuyến_Phần 1
Hoa Le
 
Chương 6_Mô hình tiếp thị trực tuyến_Phần 1_ThS Lê Thị Bích Hoà
Hoa Le
 
Chương 5_Nội dung mô hình kinh doanh C2C và hệ thống đấu giá C2C_ThS Lê Thị B...
Hoa Le
 
Chương 4_Nội dung mô hình kinh doanh B2C(Business To Customer)_ThS Lê Thị Bíc...
Hoa Le
 
Chương 3_Nội dung mô hình kinh doanh B2B (Business To Business )_ThS Lê Thị B...
Hoa Le
 
ChChương 2_Thiết kế website thương mại điện tử_ThS Lê Thị Bích Hoà
Hoa Le
 
Chương 1_Tổng quan về thương mại điện tử và Website thương mại điện tử_ThS Lê...
Hoa Le
 
Chương 8 Phân tích CSDL kinh doanh với SQL
Hoa Le
 
Chương 6 CSDL Marketing
Hoa Le
 
Chương 5 Chiến lược trong kinh doanh
Hoa Le
 
Chương 4. Chuẩn hóa cơ sở dữ liệu
Hoa Le
 
Chương 3 Ngôn ngữ truy vấn có cấu trúc (SQL)
Hoa Le
 
Chương 2. Các khái niệm trong CSDL
Hoa Le
 
B4UConference_machine learning_deeplearning
Hoa Le
 
B4uConference_ethereum
Hoa Le
 
B4UConference_Design Big Data System
Hoa Le
 
B4UCconference_Building a CI/CD pipeline with effortless steps
Hoa Le
 
Ad

Recently uploaded (20)

PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
PDF
Blockchain Transactions Explained For Everyone
CIFDAQ
 
PPTX
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
PDF
Biography of Daniel Podor.pdf
Daniel Podor
 
PDF
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
PDF
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
PDF
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
PDF
July Patch Tuesday
Ivanti
 
PDF
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PDF
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
PDF
What Makes Contify’s News API Stand Out: Key Features at a Glance
Contify
 
PDF
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
PDF
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
Blockchain Transactions Explained For Everyone
CIFDAQ
 
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
Biography of Daniel Podor.pdf
Daniel Podor
 
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
July Patch Tuesday
Ivanti
 
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
What Makes Contify’s News API Stand Out: Key Features at a Glance
Contify
 
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
Jak MŚP w Europie Środkowo-Wschodniej odnajdują się w świecie AI
dominikamizerska1
 

B4UConference_Sexy Angular Stack