SlideShare a Scribd company logo
1 of 39
MILANO
20 ottobre 2017
@mar_gab
GabMar
gabrielemartini1990@gmail.com
EVERY SOLUTION COMES FROM A PROBLEM
OUR FRONTEND FRAMEWORK CHOICE
ASSETS MANAGEMENT
INTEGRATION WITH SYMFONY
BASIC EXAMPLE
FINAL CONSIDERATIONS
A DEVELOPER OF YOUR TEAM CREATES
A NEW FRONTEND FRAMEWORK
A DEVELOPER OF YOUR TEAM CREATES
A NEW FRONTEND FRAMEWORK
YOU USE THIS NEW FRAMEWORK
IN YOUR APPLICATION
A DEVELOPER OF YOUR TEAM CREATES
A NEW FRONTEND FRAMEWORK
YOU USE THIS NEW FRAMEWORK
IN YOUR APPLICATION
THE DEVELOPER WHO BUILT THE
FRAMEWORK LEAVES THE COMPANY
“
I learn from my mistakes. It's a very
painful way to learn, but without pain,
the old saying is, there's no gain.
Johnny Cash
DO ALL THE THINGS THAT THE OLD ONE DOES
EASY TO LEARN
EASY TO USE
BE STABLE
BE SUPPORTED
EASY TO INTEGRATE WITH SYMFONY
DOES ALL THE THINGS THAT THE OLD ONE DOES
EASY TO LEARN
EASY TO USE
STABLE
SUPPORTED
EASY TO INTEGRATE WITH SYMFONY
= VIRTUAL DOM
= COMPONENTS
= FOCUS ON CORE
+ HTML & CSS
+ SCOPED CSS
± TYPESCRIPT
+ FLEXIBLE
+ SMALLER
= SIMILAR EXPRESSIONS
+ FLEXIBLE
+ ONE-WAY DATA FLOW
VUE IS FASTER AND EASIER TO LEARN
REACT ANGULAR ANGULAR V1
ASSETS MANAGEMENT
WEBPACKSASS
(SCSS)
ESLINTYARN
GIVES THE SUPERPOWERS TO CSS
VARIABLES
NESTED RULES
@IMPORT
(DIFFERENT FROM CSS @IMPORT)
OTHER SUPERPOWERS:
MIXINS
OPERATORS
INHERITANCE
AND MANY MORE...
BUILD A DEPENDENCY GRAPH
OF ALL YOUR ASSETS
WEBPACK CONFIGURATION CONSISTS
OF 4 COMPONENTS (BASICALLY):
ENTRY: THE STARTING POINT OF THE GRAPH
OUTPUT: WHERE TO PUT THE BUNDLES
LOADERS: TRANSFORM ALL FILES INTO MODULES
PLUGINS: EXTEND THE BASIC CORE
INTEGRATION WITH SASS AND ESLINT USING LOADERS
sass-loader eslint-loader
WEBPACKVUE.JS SYMFONY
“Laravel Mix provides a clean, fluent API for defining basic webpack build steps
for your Laravel application. Mix supports several common CSS and JavaScript
pre-processors.
If you've ever been confused about how to get started with module bundling and
asset compilation, you will love Laravel Mix!” {FROM LARAVEL MIX DOCUMENTATION}
USING WEBPACK WITH LARAVEL
AND VUE IS SIMPLE AS DOING:
FOLLOWING LARAVEL MIX IDEA,
SYMFONY DEVELOPERS CREATED
WEBPACK ENCORE
INSPIRED BY LARAVEL MIX AND WEBPACKER
WEBPACK-STYLE CONFIGURATIONS
EASY TO LEARN
EASY TO USE
EXTENDABLE
INTEGRATION WITH MAJOR FRONTEND FRAMEWORKS
JUST FEW LINES FOR YOUR FIRST PROJECT
SIMPLE INSTALLATION WITH YARN
COMPILE ALL THE ASSETS
IMPORT THE BUNDLES
MULTIPAGE APPLICATION? JUST ADD AN ENTRY
DO YOU WANT TO USE TYPESCRIPT?
INTEGRATION WITH VUE.JS
OUR .vue FILES ARE READY TO BE COMPILED
https://gitlab.com/gabmar/encore_demo
WHAT’S INSIDE:
Symfony 3.3.9
Laravel Homestead 4.0.5
Webpack 3.7.1
Eslint 4.9.0
Vue.js 2.5.2
Bootstrap 4.0.0-beta
IS IMPORTANT TO HAVE A STRONG FRONTEND STRUCTURE FOR
SCALABILITY
USING TECHNOLOGIES AS SASS HELP YOU TO SAVE A LOT OF TIME
SYMFONY WEBPACK ENCORE HELPS YOU TO USE A SET OF
TECHNOLOGIES THAT NORMALLY REQUIRE A LOT OF TIME TO
CONFIGURE
USE A POWERFUL FRONTEND FRAMEWORK AS VUE.JS (OR
SOMETHING ELSE) IS NECESSARY IN MEDIUM/LARGE APPLICATIONS
THANK YOU FOR YOUR ATTENTION

More Related Content

Similar to Symfony and frontend: a better way

Mind the Gap - State of the Browser 2015
Mind the Gap - State of the Browser 2015Mind the Gap - State of the Browser 2015
Mind the Gap - State of the Browser 2015Christian Heilmann
 
Surviving (and Thriving in) the Online Identity Wars
Surviving (and Thriving in) the Online Identity WarsSurviving (and Thriving in) the Online Identity Wars
Surviving (and Thriving in) the Online Identity WarsJohn McCrea
 
Essentials in JavaScript App Bundling with Webpack
Essentials in JavaScript App Bundling with WebpackEssentials in JavaScript App Bundling with Webpack
Essentials in JavaScript App Bundling with WebpackKhaled Al-Ansari
 
How to develop an API ecosystem in the fintech industry from the ground up
How to develop an API ecosystem in the fintech industry from the ground upHow to develop an API ecosystem in the fintech industry from the ground up
How to develop an API ecosystem in the fintech industry from the ground upPronovix
 
Coding for Designers
Coding for DesignersCoding for Designers
Coding for DesignersMilly Schmidt
 
Keynote Squirrly WordPress SEO 2019
Keynote Squirrly WordPress SEO 2019Keynote Squirrly WordPress SEO 2019
Keynote Squirrly WordPress SEO 2019Florin Muresan
 
Boxen: AATFT
Boxen: AATFTBoxen: AATFT
Boxen: AATFTPuppet
 
Quo vadis, JavaScript? Devday.pl keynote
Quo vadis, JavaScript? Devday.pl keynoteQuo vadis, JavaScript? Devday.pl keynote
Quo vadis, JavaScript? Devday.pl keynoteChristian Heilmann
 
Building a full-stack app with Golang and Google Cloud Platform in one week
Building a full-stack app with Golang and Google Cloud Platform in one weekBuilding a full-stack app with Golang and Google Cloud Platform in one week
Building a full-stack app with Golang and Google Cloud Platform in one weekDr. Felix Raab
 
Responsive, adaptive and responsible - keynote at NebraskaJS
Responsive, adaptive and responsible - keynote at NebraskaJSResponsive, adaptive and responsible - keynote at NebraskaJS
Responsive, adaptive and responsible - keynote at NebraskaJSChristian Heilmann
 
Practical WebAssembly with Apex, wasmRS, and nanobus
Practical WebAssembly with Apex, wasmRS, and nanobusPractical WebAssembly with Apex, wasmRS, and nanobus
Practical WebAssembly with Apex, wasmRS, and nanobusJarrod Overson
 
JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK
JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SKJavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK
JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SKDavid Wesst
 
Publishing A University Magazine in Cascade Server CMS by Marcello prattico
Publishing A University Magazine in Cascade Server CMS by Marcello prattico Publishing A University Magazine in Cascade Server CMS by Marcello prattico
Publishing A University Magazine in Cascade Server CMS by Marcello prattico hannonhill
 
There Are No “Buts” in Progressive Enhancement [Øredev 2015]
There Are No “Buts” in Progressive Enhancement [Øredev 2015]There Are No “Buts” in Progressive Enhancement [Øredev 2015]
There Are No “Buts” in Progressive Enhancement [Øredev 2015]Aaron Gustafson
 
Erase and Rewind - Open Web Camp 2015
Erase and Rewind - Open Web Camp 2015Erase and Rewind - Open Web Camp 2015
Erase and Rewind - Open Web Camp 2015Christian Heilmann
 
TARS Webinar: A sneak peek of the features coming to TARS this spring
TARS Webinar: A sneak peek of the features coming to TARS this springTARS Webinar: A sneak peek of the features coming to TARS this spring
TARS Webinar: A sneak peek of the features coming to TARS this springTars
 

Similar to Symfony and frontend: a better way (20)

Mind the Gap - State of the Browser 2015
Mind the Gap - State of the Browser 2015Mind the Gap - State of the Browser 2015
Mind the Gap - State of the Browser 2015
 
Surviving (and Thriving in) the Online Identity Wars
Surviving (and Thriving in) the Online Identity WarsSurviving (and Thriving in) the Online Identity Wars
Surviving (and Thriving in) the Online Identity Wars
 
Essentials in JavaScript App Bundling with Webpack
Essentials in JavaScript App Bundling with WebpackEssentials in JavaScript App Bundling with Webpack
Essentials in JavaScript App Bundling with Webpack
 
How to develop an API ecosystem in the fintech industry from the ground up
How to develop an API ecosystem in the fintech industry from the ground upHow to develop an API ecosystem in the fintech industry from the ground up
How to develop an API ecosystem in the fintech industry from the ground up
 
Coding for Designers
Coding for DesignersCoding for Designers
Coding for Designers
 
Keynote Squirrly WordPress SEO 2019
Keynote Squirrly WordPress SEO 2019Keynote Squirrly WordPress SEO 2019
Keynote Squirrly WordPress SEO 2019
 
Boxen: AATFT
Boxen: AATFTBoxen: AATFT
Boxen: AATFT
 
SxSW 2015
SxSW 2015SxSW 2015
SxSW 2015
 
Quo vadis, JavaScript? Devday.pl keynote
Quo vadis, JavaScript? Devday.pl keynoteQuo vadis, JavaScript? Devday.pl keynote
Quo vadis, JavaScript? Devday.pl keynote
 
Building a full-stack app with Golang and Google Cloud Platform in one week
Building a full-stack app with Golang and Google Cloud Platform in one weekBuilding a full-stack app with Golang and Google Cloud Platform in one week
Building a full-stack app with Golang and Google Cloud Platform in one week
 
Responsive, adaptive and responsible - keynote at NebraskaJS
Responsive, adaptive and responsible - keynote at NebraskaJSResponsive, adaptive and responsible - keynote at NebraskaJS
Responsive, adaptive and responsible - keynote at NebraskaJS
 
Practical WebAssembly with Apex, wasmRS, and nanobus
Practical WebAssembly with Apex, wasmRS, and nanobusPractical WebAssembly with Apex, wasmRS, and nanobus
Practical WebAssembly with Apex, wasmRS, and nanobus
 
Ember
EmberEmber
Ember
 
JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK
JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SKJavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK
JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK
 
Publishing A University Magazine in Cascade Server CMS by Marcello prattico
Publishing A University Magazine in Cascade Server CMS by Marcello prattico Publishing A University Magazine in Cascade Server CMS by Marcello prattico
Publishing A University Magazine in Cascade Server CMS by Marcello prattico
 
There Are No “Buts” in Progressive Enhancement [Øredev 2015]
There Are No “Buts” in Progressive Enhancement [Øredev 2015]There Are No “Buts” in Progressive Enhancement [Øredev 2015]
There Are No “Buts” in Progressive Enhancement [Øredev 2015]
 
Js basics
Js basicsJs basics
Js basics
 
CSS Good Practices
CSS Good PracticesCSS Good Practices
CSS Good Practices
 
Erase and Rewind - Open Web Camp 2015
Erase and Rewind - Open Web Camp 2015Erase and Rewind - Open Web Camp 2015
Erase and Rewind - Open Web Camp 2015
 
TARS Webinar: A sneak peek of the features coming to TARS this spring
TARS Webinar: A sneak peek of the features coming to TARS this springTARS Webinar: A sneak peek of the features coming to TARS this spring
TARS Webinar: A sneak peek of the features coming to TARS this spring
 

Recently uploaded

Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Intelisync
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 

Recently uploaded (20)

Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 

Symfony and frontend: a better way