SlideShare una empresa de Scribd logo
1 de 14
Why you should
use a Web
Framework,
eventually.
Samuel Fonseca
Index
Overview
A self-taught journey
Three major roadblocks
The complexity problem
Introduce Laravel
Takeaways: production-level application
Overview
o About me
o Samuel Fonseca
o Work at Clear Creek
o Self-taught
o started to learn with my job at Clear Creek
o Discuss my first and last major project
o How the code evolved
o My first inspirations for the site’s structure
o Based file structure on Elementary OS’ Open Source Website project
o Researched what Student Applications looked like for other schools
o Had to learn how SONIS’, our student management system, API, worked
01 Both the front end and the back end had to be built by me. There was no one
available to assist me in building any of the Application’s functions or its
implementation within the current flow of Admissions.
02 It had to be done within one summer - between May and August - ready for
testing and deployment during the fall semester for applications for the spring
semester.
03 My knowledge of PHP and JavaScript were limited when I began. I also had to
learn how to communicate with a complete separate system written in
ColdFusion through their provided API - which had almost NO documentation.
Three major roadblocks
How a one-man job can seem overwhelming
The complexity problem
o Programming is very complex
o My code had to work with the current flow of Admissions
o SONIS, the student management system, is less than ideal with
complex and patched code.
o Most of the code was encrypted
o Their documentation was less than ideal
o Front-end was even more complex
o Offer applicants an error-free experience
o A nice flowing process with intuitive design language
o Fast load times, with quick server responses and smooth
animations
o Browsers and screens sizes make everything 100x more difficult
o Compliance
o The Student Application manages a lot of sensitive data
o Any security holes could present a serious problem
Homebrew : The good / the bad
How writing my own code helped me
o Learned many basic concepts
o Databases
o HTTP queries
o RESTful API
o cURL
o Authentication
o Cookies & Sessions
o AJAX
o No previous experiences with most
of those items
o Handling POST/Responses from the
API
o Not efficient - since most of this was
new
Screens
Every website has to take in
consideration the different screens
and browsers which will use their
services
What building from the ground up taught me
Homebrew code taught
me to understand the
basic building blocks of
web applications
o Understanding how a server handles sessions
o Object-Oriented Code
o DRY Code
o SQL and database structures
o The difference between the front-end and back-
end
o Understanding server responses
Introduce LaravelIntroduce Laravel
Laravel is a web application framework with expressive,
elegant syntax. We believe development must be an
enjoyable and creative experience to be truly fulfilling.
Laravel attempts to take the pain out of development by
easing common tasks used in most web projects.
The decision to switch
o The project had become extremely
complex
o Used a lot of SQL
o Time consuming
o Prone to errors
o A lot of repeated code
o The project needed some changes to
its structure
o The front-end was limited for
expansions
o The back-end was a mess of
procedural and objective code
o Laravel offered the basic needed tools
o SQL abstraction helped decluarted
the code
o Starting from the beginning allowed
for a new approach
o Creating the application as a SPA
o Data redundancy
o The ability to expand functions
o Reliability
o Calls to the API are queued
o Cache of API deliever’s results faster
o Handling HTTP Error responses (400,
500, etc)
Laravel : The good / the bad
Laravel opened the doors for a whole new level of development
o Applied previous principles within the
framework
o A routable RESTful API
o SPA
o VueJS
o Vue Router
o Vuex
o Better authentication
o Database abstraction
o LDAP support
o Cached and queued communication
with SONIS API
o User Web Notifications
o Laravel makes those much easier
o Specially PDO database
abstractions
Screens
Every website has to take in
consideration the different screens
and browsers which will use their
services
How Laravel empowered me
The framework
introduced tools
that takes care of
the basics
o Data Abstractions
o Notifications & Mail
templates
o Routing
o Web via VueJS
Router
o API via Laravel
o Proper HTTP Responses
o Response codes
o Using JavaScripts
Promises
o Better error throwing &
catching
Takeaways: A production-level application
o Beginners should not begin their journey with a framework
o Bad code taught me
o How SQL and the server code interact with one another
o SQL Table’s structures
o Relationships
o Understanding the importance of data structure
o Data Types
o Basics of Objects and their relationships
o Class instances
o Object inheritance
o There is value in bootstrapping without a framework
o Development time went from a bit over 4 months; to just about a month and a half
Takeaways (continued)
o Frameworks are not for all projects
o Consider this
This is the basic principle of a framework: Not having to
reinvent the wheel. And doing away with foreboding, low value
added tasks (for example, the development of generic
components) in order to fully focus on the business rules.
As an example, a framework will keep the developer from
having to spend 2 or 3 days creating an authentication form
(which is not a specific task). The time that is saved can be
dedicated to more specific components as well as to the
corresponding unit tests; giving you solid, sustainable and high
quality code.1
Thank you!
Samuel Fonseca
(859) 513-0933
samuel.fonseca@protonmail.com
samuel-fonseca

Más contenido relacionado

Similar a Why you should use a web framework, eventually

Angular js
Angular jsAngular js
Angular jsFelixits
 
Things you must know on ruby on rails single page application
Things you must know on ruby on rails single page applicationThings you must know on ruby on rails single page application
Things you must know on ruby on rails single page applicationAndolasoft Inc
 
Real World Rails 5 Programming for Web Developers
Real World Rails 5 Programming for Web DevelopersReal World Rails 5 Programming for Web Developers
Real World Rails 5 Programming for Web Developersprshant navgrha
 
Cross platform engineering - Lessons Learned (Michael Asimakopoulos, Valadis ...
Cross platform engineering - Lessons Learned (Michael Asimakopoulos, Valadis ...Cross platform engineering - Lessons Learned (Michael Asimakopoulos, Valadis ...
Cross platform engineering - Lessons Learned (Michael Asimakopoulos, Valadis ...GreeceJS
 
No longer partying like it's 1999: designing a modern web stream
No longer partying like it's 1999: designing a modern web streamNo longer partying like it's 1999: designing a modern web stream
No longer partying like it's 1999: designing a modern web streamRandy Connolly
 
Using rest to create responsive html 5 share point intranets
Using rest to create responsive html 5 share point intranetsUsing rest to create responsive html 5 share point intranets
Using rest to create responsive html 5 share point intranetsInnoTech
 
Top 10 Scalability Mistakes
Top 10 Scalability MistakesTop 10 Scalability Mistakes
Top 10 Scalability MistakesJohn Coggeshall
 
30 Skills to Master to Become a Senior Software Engineer
30 Skills to Master to Become a Senior Software Engineer30 Skills to Master to Become a Senior Software Engineer
30 Skills to Master to Become a Senior Software EngineerSean Coates
 
Cost Effective Web Application Testing
Cost Effective Web Application TestingCost Effective Web Application Testing
Cost Effective Web Application TestingHari Pudipeddi
 
Cost effective web application testing
Cost effective web application testingCost effective web application testing
Cost effective web application testingHarinath Pudipeddi
 
Cost effective web application testing
Cost effective web application testingCost effective web application testing
Cost effective web application testingHarinath Pudipeddi
 
Backend Development Bootcamp - Node [Online & Offline] In Bangla
Backend Development Bootcamp - Node [Online & Offline] In BanglaBackend Development Bootcamp - Node [Online & Offline] In Bangla
Backend Development Bootcamp - Node [Online & Offline] In BanglaStack Learner
 
Why You Should Use MERN Stack for Startup Apps?
Why You Should Use MERN Stack for Startup Apps?Why You Should Use MERN Stack for Startup Apps?
Why You Should Use MERN Stack for Startup Apps?Pixel Crayons
 
Mark Hughes Annual Seminar Presentation on Open Source
Mark Hughes Annual Seminar Presentation on Open Source Mark Hughes Annual Seminar Presentation on Open Source
Mark Hughes Annual Seminar Presentation on Open Source Tracy Kent
 
Top 30 Scalability Mistakes
Top 30 Scalability MistakesTop 30 Scalability Mistakes
Top 30 Scalability MistakesJohn Coggeshall
 
DiUS Computing Lca Rails Final
DiUS  Computing Lca Rails FinalDiUS  Computing Lca Rails Final
DiUS Computing Lca Rails FinalRobert Postill
 

Similar a Why you should use a web framework, eventually (20)

Angular js
Angular jsAngular js
Angular js
 
Things you must know on ruby on rails single page application
Things you must know on ruby on rails single page applicationThings you must know on ruby on rails single page application
Things you must know on ruby on rails single page application
 
Real World Rails 5 Programming for Web Developers
Real World Rails 5 Programming for Web DevelopersReal World Rails 5 Programming for Web Developers
Real World Rails 5 Programming for Web Developers
 
Cross platform engineering - Lessons Learned (Michael Asimakopoulos, Valadis ...
Cross platform engineering - Lessons Learned (Michael Asimakopoulos, Valadis ...Cross platform engineering - Lessons Learned (Michael Asimakopoulos, Valadis ...
Cross platform engineering - Lessons Learned (Michael Asimakopoulos, Valadis ...
 
No longer partying like it's 1999: designing a modern web stream
No longer partying like it's 1999: designing a modern web streamNo longer partying like it's 1999: designing a modern web stream
No longer partying like it's 1999: designing a modern web stream
 
Mvc3 part1
Mvc3   part1Mvc3   part1
Mvc3 part1
 
Using rest to create responsive html 5 share point intranets
Using rest to create responsive html 5 share point intranetsUsing rest to create responsive html 5 share point intranets
Using rest to create responsive html 5 share point intranets
 
Top 10 Scalability Mistakes
Top 10 Scalability MistakesTop 10 Scalability Mistakes
Top 10 Scalability Mistakes
 
30 Skills to Master to Become a Senior Software Engineer
30 Skills to Master to Become a Senior Software Engineer30 Skills to Master to Become a Senior Software Engineer
30 Skills to Master to Become a Senior Software Engineer
 
Cost Effective Web Application Testing
Cost Effective Web Application TestingCost Effective Web Application Testing
Cost Effective Web Application Testing
 
Cost effective web application testing
Cost effective web application testingCost effective web application testing
Cost effective web application testing
 
Cost effective web application testing
Cost effective web application testingCost effective web application testing
Cost effective web application testing
 
Report on web development
Report on web developmentReport on web development
Report on web development
 
Backend Development Bootcamp - Node [Online & Offline] In Bangla
Backend Development Bootcamp - Node [Online & Offline] In BanglaBackend Development Bootcamp - Node [Online & Offline] In Bangla
Backend Development Bootcamp - Node [Online & Offline] In Bangla
 
Why You Should Use MERN Stack for Startup Apps?
Why You Should Use MERN Stack for Startup Apps?Why You Should Use MERN Stack for Startup Apps?
Why You Should Use MERN Stack for Startup Apps?
 
Mark Hughes Annual Seminar Presentation on Open Source
Mark Hughes Annual Seminar Presentation on Open Source Mark Hughes Annual Seminar Presentation on Open Source
Mark Hughes Annual Seminar Presentation on Open Source
 
Top 30 Scalability Mistakes
Top 30 Scalability MistakesTop 30 Scalability Mistakes
Top 30 Scalability Mistakes
 
OOP Java
OOP JavaOOP Java
OOP Java
 
A New Hiring Paradigm
A New Hiring ParadigmA New Hiring Paradigm
A New Hiring Paradigm
 
DiUS Computing Lca Rails Final
DiUS  Computing Lca Rails FinalDiUS  Computing Lca Rails Final
DiUS Computing Lca Rails Final
 

Último

5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
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
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
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
 
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
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
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
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 

Último (20)

5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
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
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
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
 
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
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
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...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 

Why you should use a web framework, eventually

  • 1. Why you should use a Web Framework, eventually. Samuel Fonseca
  • 2. Index Overview A self-taught journey Three major roadblocks The complexity problem Introduce Laravel Takeaways: production-level application
  • 3. Overview o About me o Samuel Fonseca o Work at Clear Creek o Self-taught o started to learn with my job at Clear Creek o Discuss my first and last major project o How the code evolved o My first inspirations for the site’s structure o Based file structure on Elementary OS’ Open Source Website project o Researched what Student Applications looked like for other schools o Had to learn how SONIS’, our student management system, API, worked
  • 4. 01 Both the front end and the back end had to be built by me. There was no one available to assist me in building any of the Application’s functions or its implementation within the current flow of Admissions. 02 It had to be done within one summer - between May and August - ready for testing and deployment during the fall semester for applications for the spring semester. 03 My knowledge of PHP and JavaScript were limited when I began. I also had to learn how to communicate with a complete separate system written in ColdFusion through their provided API - which had almost NO documentation. Three major roadblocks How a one-man job can seem overwhelming
  • 5. The complexity problem o Programming is very complex o My code had to work with the current flow of Admissions o SONIS, the student management system, is less than ideal with complex and patched code. o Most of the code was encrypted o Their documentation was less than ideal o Front-end was even more complex o Offer applicants an error-free experience o A nice flowing process with intuitive design language o Fast load times, with quick server responses and smooth animations o Browsers and screens sizes make everything 100x more difficult o Compliance o The Student Application manages a lot of sensitive data o Any security holes could present a serious problem
  • 6. Homebrew : The good / the bad How writing my own code helped me o Learned many basic concepts o Databases o HTTP queries o RESTful API o cURL o Authentication o Cookies & Sessions o AJAX o No previous experiences with most of those items o Handling POST/Responses from the API o Not efficient - since most of this was new Screens Every website has to take in consideration the different screens and browsers which will use their services
  • 7. What building from the ground up taught me Homebrew code taught me to understand the basic building blocks of web applications o Understanding how a server handles sessions o Object-Oriented Code o DRY Code o SQL and database structures o The difference between the front-end and back- end o Understanding server responses
  • 8. Introduce LaravelIntroduce Laravel Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experience to be truly fulfilling. Laravel attempts to take the pain out of development by easing common tasks used in most web projects.
  • 9. The decision to switch o The project had become extremely complex o Used a lot of SQL o Time consuming o Prone to errors o A lot of repeated code o The project needed some changes to its structure o The front-end was limited for expansions o The back-end was a mess of procedural and objective code o Laravel offered the basic needed tools o SQL abstraction helped decluarted the code o Starting from the beginning allowed for a new approach o Creating the application as a SPA o Data redundancy o The ability to expand functions o Reliability o Calls to the API are queued o Cache of API deliever’s results faster o Handling HTTP Error responses (400, 500, etc)
  • 10. Laravel : The good / the bad Laravel opened the doors for a whole new level of development o Applied previous principles within the framework o A routable RESTful API o SPA o VueJS o Vue Router o Vuex o Better authentication o Database abstraction o LDAP support o Cached and queued communication with SONIS API o User Web Notifications o Laravel makes those much easier o Specially PDO database abstractions Screens Every website has to take in consideration the different screens and browsers which will use their services
  • 11. How Laravel empowered me The framework introduced tools that takes care of the basics o Data Abstractions o Notifications & Mail templates o Routing o Web via VueJS Router o API via Laravel o Proper HTTP Responses o Response codes o Using JavaScripts Promises o Better error throwing & catching
  • 12. Takeaways: A production-level application o Beginners should not begin their journey with a framework o Bad code taught me o How SQL and the server code interact with one another o SQL Table’s structures o Relationships o Understanding the importance of data structure o Data Types o Basics of Objects and their relationships o Class instances o Object inheritance o There is value in bootstrapping without a framework o Development time went from a bit over 4 months; to just about a month and a half
  • 13. Takeaways (continued) o Frameworks are not for all projects o Consider this This is the basic principle of a framework: Not having to reinvent the wheel. And doing away with foreboding, low value added tasks (for example, the development of generic components) in order to fully focus on the business rules. As an example, a framework will keep the developer from having to spend 2 or 3 days creating an authentication form (which is not a specific task). The time that is saved can be dedicated to more specific components as well as to the corresponding unit tests; giving you solid, sustainable and high quality code.1
  • 14. Thank you! Samuel Fonseca (859) 513-0933 samuel.fonseca@protonmail.com samuel-fonseca

Notas del editor

  1. DoubleClick by Google found 53% of mobile site visits were abandoned if a page took longer than 3 seconds to load. https://developers.google.com/web/fundamentals/performance/why-performance-matters