Making sense of
the front-end
for PHP developers
About me
web developer consultant
PHP + JavaScript
@LuizBrandaoJr
Making sense of the front-end, for PHP developers
Topics
● Front-end in general
● Tools of the trade
● Key technologies
● Development workflow
● Integration with PHP
Why is front-end hard?
● Browsers!
● Cross-browser issues
● Different technologies
● Complex applications
● User experience
● Non-developers
The holy trinity
● HTML : structure
● CSS : presentation
● JavaScript : behavior
HTML5
& Friends
Web APIs
● Semantics
● Connectivity
● Offline and storage
● Multimedia
● 2D/3D graphics and effects
● Performance and integration
● Device access
● Styling
JavaScript
it’s everywhere
● Client side scripting language
● Also runs on the server
● Impossible to keep up with
ECMAScript
the standard
ES is simply short for ECMAScript
● ES2015
● ES6
● They are the same!
● ES2016 (ES7)
● ES2017 (ES8)
● ES.Next
European Computer Manufacturers Association
Making sense of the front-end, for PHP developers
Babel
ES.Next, today
● JavaScript compiler
● Transform syntax
● Polyfills
● Plugins / Presets
Making sense of the front-end, for PHP developers
TypeScript
because we all want types
● Superset of JavaScript
● Optional strong-typing
● Compiles to plain JavaScript
● Integrates with Babel
● Popular
Making sense of the front-end, for PHP developers
CSS
Preprocessors
styles on steroids
● Sass (SCSS)
● Less
● Stylus
● Use logic in CSS
● Nesting
● Inheritance
● Functions
● Different syntax
Making sense of the front-end, for PHP developers
PostCSS
transforming styles with JS
● Kinda like Babel for CSS
● Use modern CSS
● Lots of plugins:
○ auto-prefixing
○ dead css removal
Making sense of the front-end, for PHP developers
Frameworks
I’m down for it
● Pure JavaScript frameworks
● UI / CSS frameworks
UI / CSS
Frameworks
now make it pretty
Provide collection of components
ready to use:
● Bootstrap
● Semantic-UI
● Foundation
● Bulma
● Vuetify
JavaScript
Frameworks
somebody help me
Most popular:
● React
● Vue.js
● Angular
Why:
● Help create interactive UIs
● Organize the application
Making sense of the front-end, for PHP developers
What about
jQuery?
it was fun while it lasted
Node.js
-_-
● JavaScript runtime
● V8 JavaScript engine (Chrome)
● Required by most tools
Package
Managers
it’s like Composer
● npm
● yarn
package.json
PHP: composer.json
package-lock.json
yarn.lock
PHP: composer.lock
node_modules
PHP: vendor
Making sense of the front-end, for PHP developers
Build Tools
put all the shiny things together
● Task Runners
● Bundle/Module Managers
Task Runners
it’s time to automate
● Grunt
● Gulp
Bundle
Managers
are we there yet?
● Webpack
● Parcel
● Rollup
● Browserify
Making sense of the front-end, for PHP developers
Making sense of the front-end, for PHP developers
Webpack
the almighty
Most popular static module bundler
Core concepts:
● Entry
● Output
● Loaders
● Plugins
● Mode
● Browser compatibility
Most popular static module bundler
Core concepts:
● Entry
● Output
● Loaders
● Plugins
● Mode
● Browser compatibility
Making sense of the front-end, for PHP developers
Configuration
Wrappers
ok, go on...
● Webpack Encore by Symfony
● Laravel Mix
Laravel
Mix
finally some PHP?
● JavaScript package
● Easy Webpack integration
● Asset compilation
● Includes PHP helper functions
● Bundled with Laravel
Making sense of the front-end, for PHP developers
Symfony
Webpack Encore
gimme some of that
● Same concept as Laravel Mix
● Integrates with Symfony
composer require webpack-encore-bundle
Making sense of the front-end, for PHP developers
Making sense of the front-end, for PHP developers
Asset Versioning
burst that cache
app.js
mix.version()
app.js?id=8e5c48eadbfdd5458ec6
{{ mix(‘js/app.js’) }}
Encore.enableVersioning()
app.123abc.js
{{ asset('build/images/logo.png') }}
{{ encore_entry_script_tags('app') }}
Making sense of the front-end, for PHP developers
Making sense of the front-end, for PHP developers
Questions?
be nice
Making sense of the front-end, for PHP developers

More Related Content

PDF
Frameworks for Web Development
PPTX
Fronted development trends - past, present and the future
PPTX
Get Started with JavaScript Frameworks
PPTX
Micro-Frontends JSVidCon
PPTX
Sandeep Chauhan | Top java script frameworks in 2020
PDF
The Frontend Developer Landscape Explained and the Rise of Advanced Frontend ...
PPTX
Front end development session1
PPTX
Ppt full stack developer
Frameworks for Web Development
Fronted development trends - past, present and the future
Get Started with JavaScript Frameworks
Micro-Frontends JSVidCon
Sandeep Chauhan | Top java script frameworks in 2020
The Frontend Developer Landscape Explained and the Rise of Advanced Frontend ...
Front end development session1
Ppt full stack developer

What's hot (19)

PDF
Top front end website development tools and frameworks
PDF
Full-Stack Development
ODP
The Full Stack Web Development
PDF
How To be a Backend developer
PDF
Zero cost serverless Real time web app
PDF
Front end developer responsibilities what does a front-end developer do?
PPTX
10 top web development frameworks (new version 21 11)
PPTX
Aeternity Blockchain - Ecosystem & Devtools [2019]
PDF
Web development meetingup
PDF
Frontend Development vs Backend Development | Detailed Comparison
PPTX
Web Development and Web Development technologies - Temitayo Fadojutimi
PPTX
JavaScript Toolkit
PDF
Lean frontend development
PPTX
Visual Studio: The best tool for web developers.
PPTX
What’s new in LightSwitch 2013?
PPTX
How to build a Mobile API or HTML 5 app in 5 minutes
PPTX
Building End to-End Web Apps Using TypeScript
PDF
Developing SPI applications using Grails and AngularJS
PPTX
Web Based Development Introduction
Top front end website development tools and frameworks
Full-Stack Development
The Full Stack Web Development
How To be a Backend developer
Zero cost serverless Real time web app
Front end developer responsibilities what does a front-end developer do?
10 top web development frameworks (new version 21 11)
Aeternity Blockchain - Ecosystem & Devtools [2019]
Web development meetingup
Frontend Development vs Backend Development | Detailed Comparison
Web Development and Web Development technologies - Temitayo Fadojutimi
JavaScript Toolkit
Lean frontend development
Visual Studio: The best tool for web developers.
What’s new in LightSwitch 2013?
How to build a Mobile API or HTML 5 app in 5 minutes
Building End to-End Web Apps Using TypeScript
Developing SPI applications using Grails and AngularJS
Web Based Development Introduction

Similar to Making sense of the front-end, for PHP developers (20)

PDF
You Can Work on the Web Patform! (GOSIM 2023)
PDF
GWT - Building Rich Internet Applications Using OO Tools
PDF
Introducing chrome apps (ogura)
PDF
Server Side React for WordPress by Muhammad Muhsin @ The JavaScript for WordP...
PDF
Next.js with drupal, the good parts
PDF
DocDokuPLM presentation - OW2Con 2015 Community Award winner
PDF
DocDoku: Using web technologies in a desktop application. OW2con'15, November...
 
PDF
Client vs Server Templating: Speed up initial load for SPA with Angular as an...
PDF
Architektura html, css i javascript - Jan Kraus
ODP
Apache Cordova, Hybrid Application Development
PDF
NODE JS OC Meetup 1
PDF
JavascriptMVC: Another choice of web framework
PDF
Introduction to React Native
ODP
Beyond responsive design - UI for the modern web application - Pete Smith - C...
PDF
How to sell drupal 8
ODP
PHP South Coast - Don't code bake, an introduction to CakePHP 3
PDF
Rapid and Reliable Developing with HTML5 & GWT
PDF
HTML5 - The Good, the Bad, the Ugly
PDF
Servo: A Web View From Somewhere Else
PDF
HTML, CSS & Javascript Architecture (extended version) - Jan Kraus
You Can Work on the Web Patform! (GOSIM 2023)
GWT - Building Rich Internet Applications Using OO Tools
Introducing chrome apps (ogura)
Server Side React for WordPress by Muhammad Muhsin @ The JavaScript for WordP...
Next.js with drupal, the good parts
DocDokuPLM presentation - OW2Con 2015 Community Award winner
DocDoku: Using web technologies in a desktop application. OW2con'15, November...
 
Client vs Server Templating: Speed up initial load for SPA with Angular as an...
Architektura html, css i javascript - Jan Kraus
Apache Cordova, Hybrid Application Development
NODE JS OC Meetup 1
JavascriptMVC: Another choice of web framework
Introduction to React Native
Beyond responsive design - UI for the modern web application - Pete Smith - C...
How to sell drupal 8
PHP South Coast - Don't code bake, an introduction to CakePHP 3
Rapid and Reliable Developing with HTML5 & GWT
HTML5 - The Good, the Bad, the Ugly
Servo: A Web View From Somewhere Else
HTML, CSS & Javascript Architecture (extended version) - Jan Kraus

Recently uploaded (20)

PDF
Technical Debt in the AI Coding Era - By Antonio Bianco
PDF
1_Keynote_Breaking Barriers_한계를 넘어서_Charith Mendis.pdf
PPTX
Blending method and technology for hydrogen.pptx
PDF
Applying Agentic AI in Enterprise Automation
PDF
Child-friendly e-learning for artificial intelligence education in Indonesia:...
PDF
State of AI in Business 2025 - MIT NANDA
PDF
FASHION-DRIVEN TEXTILES AS A CRYSTAL OF A NEW STREAM FOR STAKEHOLDER CAPITALI...
PDF
Fitaura: AI & Machine Learning Powered Fitness Tracker
PDF
Advancements in abstractive text summarization: a deep learning approach
PDF
Introduction to c language from lecture slides
PPTX
Presentation - Principles of Instructional Design.pptx
PDF
The Digital Engine Room: Unlocking APAC’s Economic and Digital Potential thro...
PPTX
From Curiosity to ROI — Cost-Benefit Analysis of Agentic Automation [3/6]
PDF
Addressing the challenges of harmonizing law and artificial intelligence tech...
PDF
【AI論文解説】高速・高品質な生成を実現するFlow Map Models(Part 1~3)
PPTX
How to use fields_get method in Odoo 18
PDF
Domain-specific knowledge and context in large language models: challenges, c...
PDF
Uncertainty-aware contextual multi-armed bandits for recommendations in e-com...
PDF
substrate PowerPoint Presentation basic one
PDF
“Introduction to Designing with AI Agents,” a Presentation from Amazon Web Se...
Technical Debt in the AI Coding Era - By Antonio Bianco
1_Keynote_Breaking Barriers_한계를 넘어서_Charith Mendis.pdf
Blending method and technology for hydrogen.pptx
Applying Agentic AI in Enterprise Automation
Child-friendly e-learning for artificial intelligence education in Indonesia:...
State of AI in Business 2025 - MIT NANDA
FASHION-DRIVEN TEXTILES AS A CRYSTAL OF A NEW STREAM FOR STAKEHOLDER CAPITALI...
Fitaura: AI & Machine Learning Powered Fitness Tracker
Advancements in abstractive text summarization: a deep learning approach
Introduction to c language from lecture slides
Presentation - Principles of Instructional Design.pptx
The Digital Engine Room: Unlocking APAC’s Economic and Digital Potential thro...
From Curiosity to ROI — Cost-Benefit Analysis of Agentic Automation [3/6]
Addressing the challenges of harmonizing law and artificial intelligence tech...
【AI論文解説】高速・高品質な生成を実現するFlow Map Models(Part 1~3)
How to use fields_get method in Odoo 18
Domain-specific knowledge and context in large language models: challenges, c...
Uncertainty-aware contextual multi-armed bandits for recommendations in e-com...
substrate PowerPoint Presentation basic one
“Introduction to Designing with AI Agents,” a Presentation from Amazon Web Se...

Making sense of the front-end, for PHP developers