SlideShare a Scribd company logo
J O H N F I S C H E L L I - @ J O H N F I S C H E L L I
A P R A C T I C A L L O O K AT Y O U R
F I R S T L A R AV E L / A N G U L A R J S A P P
1
G O A L S F O R T H I S P R E S E N TAT I O N
• Give you the absolute basics on AngularJS
• Show some real life examples of AngularJS

(that are hopefully useful)
• Resources to get you started using AngularJS
yourselves
• Encouragement. (If I can do it, you can to.)
• Teach myself how to give these kinds of talks.
2
Q U A L I F I C AT I O N S ?
3
B U T S R S LY, Q U A L I F I C AT I O N S ?
• Web Developer for ~7 years
• Using Laravel for ~18 months
• Using AngularJS for ~8 months
• Made lots of messy apps with jQuery
• (P.S. I’m not really qualified, but thanks for listening anyway)
4
S O W H Y A N G U L A R J S ?
5
Honestly, I just picked one.
6
W H E N S H O U L D Y O U U S E A N G U L A R J S ?
• if you've ever said that you've built a client-side
application in jQuery
• when you're struggling to keep your app's UI in sync
with whats happening with javascript
7
M V W ( M O D E L , V I E W, W H AT E V E R )
• AngularJS has a router, views and controllers — also
models!
• wait, models typically mean database/server-side, etc.
How does this exist in a client-side app?
• to explain this let's look at an example
8
9
9
9
9
V I E W 

< D I V >
9
V I E W 

< D I V >
R O U T E R 

( J S )
9
V I E W 

< D I V >
R O U T E R 

( J S )
H T M L
9
V I E W 

< D I V >
R O U T E R 

( J S )
H T M L
C O N T R O L L E R 

( J S )
9
V I E W 

< D I V >
R O U T E R 

( J S )
H T M L
C O N T R O L L E R 

( J S )
9
V I E W 

< D I V >
R O U T E R 

( J S )
H T M L
C O N T R O L L E R 

( J S )
N A M E
9
V I E W 

< D I V >
R O U T E R 

( J S )
H T M L
C O N T R O L L E R 

( J S )
N A M E
E M A I L
9
V I E W 

< D I V >
R O U T E R 

( J S )
H T M L
C O N T R O L L E R 

( J S )
N A M E
E M A I L C O N T R O L L E R 

( J S )
!
N A M E
E M A I L
M O D E L S S I M P L I F I E D
• In a JS client side app, models tend to be the data
that you would post to a server for persistence.
• Models exist inside views (let that sink in).
• Data binding makes getting values to post to the
server really easy.
• It also makes outputting the value of a specific model
really easy. No more $(“#someID”).val();
10
L E T ’ S L O O K AT T H I S A G A I N !
11
T I M E F O R A R E A L - L I F E E X A M P L E !
12
T I M E F O R A R E A L - L I F E E X A M P L E !
12
PA R A D I G M S H I F T S Y O U M U S T M A K E
13
• the server is no longer the single source of truth to
your app
• don't use jQuery with Angular (technically you can)
• jQuery is a crutch that prevents you from doing things
the angular way
• don't muck with the DOM outside of angular! it will
make life harder.
T I P S T O M A K E Y O U R L I F E E A S I E R
• don't use the built-in router -- use the ui-router, its much
more powerful

https://github.com/angular-ui/ui-router
• if you must auth users do it outside of the angular world
— if you must auth in angular use token-based
authorization

https://github.com/tappleby/laravel-auth-token
• Angular has these cool extensions people have written -
like composer packages - use them!
14
R E S O U R C E S T H AT H E L P E D M E
• Intro to Angular JS: https://www.youtube.com/watch?
v=8ILQOFAgaXE
• End to End with AngularJS: https://www.youtube.com/
watch?v=hqAyiqUs93c
• Credit Dave Mosher @dmosher
15
Fin
16

More Related Content

Similar to A practical look at your first laravel angular js app (20)

PPTX
SharePoint Saturday Redmond - Building solutions with the future in mind
Chris Johnson
 
PDF
Functional Reactive with Core Java - Workshop - Slides
Sven Ruppert
 
PPTX
Which Freaking Database Should I Use?
Great Wide Open
 
PDF
JavaFX Enterprise
Hendrik Ebbers
 
PDF
Using React for the Mobile Web
C4Media
 
PDF
App sec and quality london - may 2016 - v0.5
Dinis Cruz
 
PDF
UX? No thanks it just costs more money
IIBA UK Chapter
 
PPTX
Basic iOS Training with SWIFT - Part 1
Manoj Ellappan
 
PDF
React and GraphQL at Stripe
Sashko Stubailo
 
PDF
An Introduction to React -- FED Date -- IBM Design
Josh Black
 
PDF
Release Engineering & Rugged DevOps: An Intersection - J. Paul Reed
SeniorStoryteller
 
PDF
Meteor WWNRW Intro
Stephan Hochhaus
 
PDF
200,000 Lines Later: Our Journey to Manageable Puppet Code
David Danzilio
 
KEY
UCLA HACKU'11
Gopal Venkatesan
 
PDF
Data Modelling at Scale
David Simons
 
PPTX
Angular js
Mauro Servienti
 
PDF
100% Visibility - Jason Yee - Codemotion Amsterdam 2018
Codemotion
 
PDF
Build a production ready PWA with Angular and Firebase
Önder Ceylan
 
PDF
SOA Latam 2015
Domingo Suarez Torres
 
PDF
API Description Languages
Akana
 
SharePoint Saturday Redmond - Building solutions with the future in mind
Chris Johnson
 
Functional Reactive with Core Java - Workshop - Slides
Sven Ruppert
 
Which Freaking Database Should I Use?
Great Wide Open
 
JavaFX Enterprise
Hendrik Ebbers
 
Using React for the Mobile Web
C4Media
 
App sec and quality london - may 2016 - v0.5
Dinis Cruz
 
UX? No thanks it just costs more money
IIBA UK Chapter
 
Basic iOS Training with SWIFT - Part 1
Manoj Ellappan
 
React and GraphQL at Stripe
Sashko Stubailo
 
An Introduction to React -- FED Date -- IBM Design
Josh Black
 
Release Engineering & Rugged DevOps: An Intersection - J. Paul Reed
SeniorStoryteller
 
Meteor WWNRW Intro
Stephan Hochhaus
 
200,000 Lines Later: Our Journey to Manageable Puppet Code
David Danzilio
 
UCLA HACKU'11
Gopal Venkatesan
 
Data Modelling at Scale
David Simons
 
Angular js
Mauro Servienti
 
100% Visibility - Jason Yee - Codemotion Amsterdam 2018
Codemotion
 
Build a production ready PWA with Angular and Firebase
Önder Ceylan
 
SOA Latam 2015
Domingo Suarez Torres
 
API Description Languages
Akana
 

Recently uploaded (20)

PDF
From Chatbot to Destroyer of Endpoints - Can ChatGPT Automate EDR Bypasses (1...
Priyanka Aash
 
PPTX
Practical Applications of AI in Local Government
OnBoard
 
PDF
How to Visualize the ​Spatio-Temporal Data Using CesiumJS​
SANGHEE SHIN
 
PDF
“Scaling i.MX Applications Processors’ Native Edge AI with Discrete AI Accele...
Edge AI and Vision Alliance
 
PPTX
UserCon Belgium: Honey, VMware increased my bill
stijn40
 
PDF
Enhancing Environmental Monitoring with Real-Time Data Integration: Leveragin...
Safe Software
 
PDF
Hello I'm "AI" Your New _________________
Dr. Tathagat Varma
 
PDF
5 Things to Consider When Deploying AI in Your Enterprise
Safe Software
 
PDF
Hyderabad MuleSoft In-Person Meetup (June 21, 2025) Slides
Ravi Tamada
 
PPSX
Usergroup - OutSystems Architecture.ppsx
Kurt Vandevelde
 
PDF
Redefining Work in the Age of AI - What to expect? How to prepare? Why it mat...
Malinda Kapuruge
 
PPTX
Simplifica la seguridad en la nube y la detección de amenazas con FortiCNAPP
Cristian Garcia G.
 
PDF
Open Source Milvus Vector Database v 2.6
Zilliz
 
PDF
Salesforce Summer '25 Release Frenchgathering.pptx.pdf
yosra Saidani
 
PDF
Java 25 and Beyond - A Roadmap of Innovations
Ana-Maria Mihalceanu
 
PDF
“MPU+: A Transformative Solution for Next-Gen AI at the Edge,” a Presentation...
Edge AI and Vision Alliance
 
PDF
Database Benchmarking for Performance Masterclass: Session 1 - Benchmarking F...
ScyllaDB
 
PDF
Why aren't you using FME Flow's CPU Time?
Safe Software
 
PDF
Python Conference Singapore - 19 Jun 2025
ninefyi
 
PDF
Darley - FIRST Copenhagen Lightning Talk (2025-06-26) Epochalypse 2038 - Time...
treyka
 
From Chatbot to Destroyer of Endpoints - Can ChatGPT Automate EDR Bypasses (1...
Priyanka Aash
 
Practical Applications of AI in Local Government
OnBoard
 
How to Visualize the ​Spatio-Temporal Data Using CesiumJS​
SANGHEE SHIN
 
“Scaling i.MX Applications Processors’ Native Edge AI with Discrete AI Accele...
Edge AI and Vision Alliance
 
UserCon Belgium: Honey, VMware increased my bill
stijn40
 
Enhancing Environmental Monitoring with Real-Time Data Integration: Leveragin...
Safe Software
 
Hello I'm "AI" Your New _________________
Dr. Tathagat Varma
 
5 Things to Consider When Deploying AI in Your Enterprise
Safe Software
 
Hyderabad MuleSoft In-Person Meetup (June 21, 2025) Slides
Ravi Tamada
 
Usergroup - OutSystems Architecture.ppsx
Kurt Vandevelde
 
Redefining Work in the Age of AI - What to expect? How to prepare? Why it mat...
Malinda Kapuruge
 
Simplifica la seguridad en la nube y la detección de amenazas con FortiCNAPP
Cristian Garcia G.
 
Open Source Milvus Vector Database v 2.6
Zilliz
 
Salesforce Summer '25 Release Frenchgathering.pptx.pdf
yosra Saidani
 
Java 25 and Beyond - A Roadmap of Innovations
Ana-Maria Mihalceanu
 
“MPU+: A Transformative Solution for Next-Gen AI at the Edge,” a Presentation...
Edge AI and Vision Alliance
 
Database Benchmarking for Performance Masterclass: Session 1 - Benchmarking F...
ScyllaDB
 
Why aren't you using FME Flow's CPU Time?
Safe Software
 
Python Conference Singapore - 19 Jun 2025
ninefyi
 
Darley - FIRST Copenhagen Lightning Talk (2025-06-26) Epochalypse 2038 - Time...
treyka
 
Ad

A practical look at your first laravel angular js app

  • 1. J O H N F I S C H E L L I - @ J O H N F I S C H E L L I A P R A C T I C A L L O O K AT Y O U R F I R S T L A R AV E L / A N G U L A R J S A P P 1
  • 2. G O A L S F O R T H I S P R E S E N TAT I O N • Give you the absolute basics on AngularJS • Show some real life examples of AngularJS
 (that are hopefully useful) • Resources to get you started using AngularJS yourselves • Encouragement. (If I can do it, you can to.) • Teach myself how to give these kinds of talks. 2
  • 3. Q U A L I F I C AT I O N S ? 3
  • 4. B U T S R S LY, Q U A L I F I C AT I O N S ? • Web Developer for ~7 years • Using Laravel for ~18 months • Using AngularJS for ~8 months • Made lots of messy apps with jQuery • (P.S. I’m not really qualified, but thanks for listening anyway) 4
  • 5. S O W H Y A N G U L A R J S ? 5 Honestly, I just picked one.
  • 6. 6
  • 7. W H E N S H O U L D Y O U U S E A N G U L A R J S ? • if you've ever said that you've built a client-side application in jQuery • when you're struggling to keep your app's UI in sync with whats happening with javascript 7
  • 8. M V W ( M O D E L , V I E W, W H AT E V E R ) • AngularJS has a router, views and controllers — also models! • wait, models typically mean database/server-side, etc. How does this exist in a client-side app? • to explain this let's look at an example 8
  • 9. 9
  • 10. 9
  • 11. 9
  • 12. 9 V I E W 
 < D I V >
  • 13. 9 V I E W 
 < D I V > R O U T E R 
 ( J S )
  • 14. 9 V I E W 
 < D I V > R O U T E R 
 ( J S ) H T M L
  • 15. 9 V I E W 
 < D I V > R O U T E R 
 ( J S ) H T M L C O N T R O L L E R 
 ( J S )
  • 16. 9 V I E W 
 < D I V > R O U T E R 
 ( J S ) H T M L C O N T R O L L E R 
 ( J S )
  • 17. 9 V I E W 
 < D I V > R O U T E R 
 ( J S ) H T M L C O N T R O L L E R 
 ( J S ) N A M E
  • 18. 9 V I E W 
 < D I V > R O U T E R 
 ( J S ) H T M L C O N T R O L L E R 
 ( J S ) N A M E E M A I L
  • 19. 9 V I E W 
 < D I V > R O U T E R 
 ( J S ) H T M L C O N T R O L L E R 
 ( J S ) N A M E E M A I L C O N T R O L L E R 
 ( J S ) ! N A M E E M A I L
  • 20. M O D E L S S I M P L I F I E D • In a JS client side app, models tend to be the data that you would post to a server for persistence. • Models exist inside views (let that sink in). • Data binding makes getting values to post to the server really easy. • It also makes outputting the value of a specific model really easy. No more $(“#someID”).val(); 10
  • 21. L E T ’ S L O O K AT T H I S A G A I N ! 11
  • 22. T I M E F O R A R E A L - L I F E E X A M P L E ! 12
  • 23. T I M E F O R A R E A L - L I F E E X A M P L E ! 12
  • 24. PA R A D I G M S H I F T S Y O U M U S T M A K E 13 • the server is no longer the single source of truth to your app • don't use jQuery with Angular (technically you can) • jQuery is a crutch that prevents you from doing things the angular way • don't muck with the DOM outside of angular! it will make life harder.
  • 25. T I P S T O M A K E Y O U R L I F E E A S I E R • don't use the built-in router -- use the ui-router, its much more powerful
 https://github.com/angular-ui/ui-router • if you must auth users do it outside of the angular world — if you must auth in angular use token-based authorization
 https://github.com/tappleby/laravel-auth-token • Angular has these cool extensions people have written - like composer packages - use them! 14
  • 26. R E S O U R C E S T H AT H E L P E D M E • Intro to Angular JS: https://www.youtube.com/watch? v=8ILQOFAgaXE • End to End with AngularJS: https://www.youtube.com/ watch?v=hqAyiqUs93c • Credit Dave Mosher @dmosher 15