SlideShare a Scribd company logo
B E S T P R A C T I C E S F O R P R O D U C I N G T O D A Y ’ S
W E B A P P L I C A T I O N S .
B Y
B R E T T M I L L E T T
H T T P : / / S L I D E S H A . R E / W E B S U U
Web Development
Today!
What is a Web Application?
 A Web Application is a collection of several separate, but integrated technologies.
 A Web Application typically has scripting on both the client and server “sides.”
 Web applications typically have many layers.
 Server-side
 Web Server (HTTP Protocol)
 Apache
 Nginx
 IIS
 Programming Interface (Various computer languages)
 PHP
 Ruby
 Python
 Database
 MySQL
 Postgres
 Couch DB
 Client-side
 Web Browser
 JavaScript
 AJAX
 Cascading Style Sheets (CSS)
What is a Web Application?
Server-side Components
 Which components do you choose?
 Factors include:
 Operating System
 Linux or Microsoft?
 OS most often determines Web Server
 Linux: Apache (most common, but there are others)
 Windows: IIS
 Web Server often determines Database & Language
 IIS: Microsoft SQL Server & ASP.NET
 Apache: MySQL & PHP (most common)
 Many other alternatives!
Client-side Components
 Which components do you choose?
 Not so many choices.
 You must support all browsers but they typically
follow standards (C’mon IE!)
 Cascading Styles are pretty standard (new CSS3 spec
is pretty useful)
 JavaScript frameworks are all the rage.
 JQuery
 Protocol
 MooTools
Server-side Components
 Which do I typically choose? LAMP.
 Linux as OS
 Apache for Web Service
 MySQL for database
 PHP for programming language
 LAMP is an acronym for a solution stack. Server-side
technologies to provide a Web application.
 Probably the most common solution stack for Web
Development.
Advantages to the LAMP stack
 The LAMP stack is widely used because it offers a great
number of advantages for developers:
 Easy to code: Novices can build something and get it up and
running very quickly with PHP and MySQL.
 Easy to deploy: Since PHP is a standard Apache module, it is easy
to deploy LAMP web applications by uploading .php files to an
Apache server and connecting to a MySQL database.
 Develop locally: LAMP can be set up so an app can be built locally,
then deployed to the Web.
 Cheap and ubiquitous hosting: Many inexpensive web hosts
provide PHP and MySQL services.
 None of the above reasons mean it’s always the best
solution stack!
Server-side Best Practices
 The Model, View, Controller paradigm
 Greatest thing since sliced bread…for Web developers anyway!
 Web server is abstracted away from this approach.
Any Web Server can be used.
 It’s a developer thing. If you’re a designer you may
only ever deal with the View side of MVC
 So…why is it so great again…?
MVC: Designer Advantages
 Clean HTML templates.
 No need to understand complex programming in a
dynamic Web Application.
 A Website may be completely changed in terms of
design and overall layout without requiring a
programmer!
MVC: Designer Advantages
MVC: Programmer Advantages
 “Pretty” SEO-friendly URLs.
 Keep business logic separate from layout!
 Modularity. Models can be reused.
 Same code can be applied to numerous formats
 Standard and mobile versions of website.
 Feed formats like Atom or RSS
 Data formats like XML or JSON
 Designers can’t mess up your code! ;-)
MVC: Model View Controller
MVC: The Controller
 Routing
 Determines which controller is called via URL.
 Example: http://your-web-site.com/controller/home
 Controls flow of the Web application.
 Convention over configuration.
 Application entry point: URL
 Routing (configuration)
 “Friendly” URL’s
 Requests data from Models.
 Passes data to Views.
 “Thin controllers, fat models…”
 Controllers “know” little about data.
 Concerned only with aggregating data and passing it to view layer.
MVC: The Model
 Creates and returns application data
 XML
 PHP arrays
 Database Object
 JSON
 Business logic relating to application data.
 Returns data to Controller on request.
MVC: The View
 User Interface
 HTML
 RSS
 JSON
 Accepts data from Controller
 Logic Concerned with layout only
 Looping structures to present data (foreach, for, while)
 Templates
 Special markup tags:
 Smarty:
 Name: {$name}<br>
Address: {$address}<br>
 PHP:
 Name: <?=$name?><br>
Address: <?=$address?><br>
Popular MVC Frameworks
 PHP
 Zend Framework
 Symfony
 Cake
 CodeIgniter
 Python
 Django
 Perl
 Catalyst
 Ruby
 Ruby on Rails
 Java
 Struts
 .NET
 ASP.NET MVC Framework
Client-side Best Practices
 Use the least amount of HTML as possible.
 Rely on CSS for layout.
 Unobtrusive JavaScript.
 Implement AJAX after non-script functionality is
assured.
Client-side Best Practices
 Use the least amount of HTML as possible.
 Do not rely on WYSIWYG Editors (Dreamweaver.)
 Do not Use HTML tag attributes for layout purposes. Only for
meta data.
Client-side Best Practices
 Rely on CSS for layout.
 CSS is yet another abstraction that separates your design
elements from your content.
 Makes your webpage yummy for Search Engines (search
engines prefer vitamin supplements over Seven Layer Dip!)
Client-side Best Practices
 Unobtrusive JavaScript.
 Use a JavaScript framework
 JQuery
 Prototype
 “Latch onto” DOM elements and apply events (English for
non-programmers, “onclick in your tag is so 2001!”)
 Create your HTML layout as if JavaScript wasn’t an option.
 After your website is functional without JavaScript, come back
and add JavaScript functionality.
Client-side Best Practices
 Implement AJAX after non-script functionality is
assured.
 Short for Asynchronous JavaScript and XML.
 Create your HTML forms as if AJAX wasn’t an option.
 After your website is functional without AJAX, come back and
add AJAX functionality.
 JQuery’s (or Prototype’s) selector syntax is perfect for
overriding typical form functionality.
The Life and Death of Design
Questions & Answers
 Brett Millett
 Slides:
 http://slidesha.re/websuu/
 Twitter (pretty boring really):
 http://www.twitter.com/brettm73/
 My Website:
 http://www.brettic.us/
 Thank You!

More Related Content

What's hot (20)

PPT
Web forms and server side scripting
sawsan slii
 
PDF
Web development ppt
ParasJain222
 
PPTX
Web Application Development Process presented by @Cygnismedia
Clark Davidson
 
DOCX
Client side vs server side
abgjim96
 
PPTX
Client and server side scripting
baabtra.com - No. 1 supplier of quality freshers
 
PPTX
Introduction to HTML5 and CSS3
Chandra S Oemarjadi
 
PPT
Introduction to Basic Concepts in Web
Jussi Pohjolainen
 
PPT
Websites Unlimited - Pay Monthly Websites
websiteunlimited
 
PPTX
Music Downloading Website (HTML,CSS,PHP Presentation)
Anil Kumar
 
PPTX
Introduction to Web development
Md. Shafiuzzaman Hira
 
PPTX
Client & server side scripting
baabtra.com - No. 1 supplier of quality freshers
 
PPTX
ppt of web development for diploma student
Abhishekchauhan863165
 
PPTX
Client side scripting and server side scripting
baabtra.com - No. 1 supplier of quality freshers
 
PPT
Scripting Languages
Forrester High School
 
PPTX
Client Side scripting and server side scripting
baabtra.com - No. 1 supplier of quality freshers
 
PPTX
online music store
swatikandoi
 
PPTX
Front-end development introduction (HTML, CSS). Part 1
Oleksii Prohonnyi
 
PPT
Web Application Introduction
shaojung
 
PPTX
Web Design Course Srigsystems
SriG Systems
 
PPTX
Web programming and services
laibamaqsood
 
Web forms and server side scripting
sawsan slii
 
Web development ppt
ParasJain222
 
Web Application Development Process presented by @Cygnismedia
Clark Davidson
 
Client side vs server side
abgjim96
 
Client and server side scripting
baabtra.com - No. 1 supplier of quality freshers
 
Introduction to HTML5 and CSS3
Chandra S Oemarjadi
 
Introduction to Basic Concepts in Web
Jussi Pohjolainen
 
Websites Unlimited - Pay Monthly Websites
websiteunlimited
 
Music Downloading Website (HTML,CSS,PHP Presentation)
Anil Kumar
 
Introduction to Web development
Md. Shafiuzzaman Hira
 
Client & server side scripting
baabtra.com - No. 1 supplier of quality freshers
 
ppt of web development for diploma student
Abhishekchauhan863165
 
Client side scripting and server side scripting
baabtra.com - No. 1 supplier of quality freshers
 
Scripting Languages
Forrester High School
 
Client Side scripting and server side scripting
baabtra.com - No. 1 supplier of quality freshers
 
online music store
swatikandoi
 
Front-end development introduction (HTML, CSS). Part 1
Oleksii Prohonnyi
 
Web Application Introduction
shaojung
 
Web Design Course Srigsystems
SriG Systems
 
Web programming and services
laibamaqsood
 

Viewers also liked (6)

PPT
Addressing the HIV Prevention Needs of Black Men & Women
Camille Abrahams Emeagwali
 
PPT
educationActions hidden picture games
Ismandy Buang
 
PPT
A model of capacity building assistance (cba)
Camille Abrahams Emeagwali
 
PPTX
Taklimat permohonan kemasukan ke ipta utk stpm 2012
Siti Norhafiza Zanaia Bidin
 
PPT
Nevada webinar scott 2010
Joe Timmons
 
PPTX
Unobtrusive js
bretticus
 
Addressing the HIV Prevention Needs of Black Men & Women
Camille Abrahams Emeagwali
 
educationActions hidden picture games
Ismandy Buang
 
A model of capacity building assistance (cba)
Camille Abrahams Emeagwali
 
Taklimat permohonan kemasukan ke ipta utk stpm 2012
Siti Norhafiza Zanaia Bidin
 
Nevada webinar scott 2010
Joe Timmons
 
Unobtrusive js
bretticus
 
Ad

Similar to Web Development Today (20)

PPSX
Web development concepts using microsoft technologies
Hosam Kamel
 
PPTX
Best of Microsoft Dev Camp 2015
Bluegrass Digital
 
PDF
Web Development Presentation
TurnToTech
 
PDF
Single Page Apps
Gil Fink
 
PDF
Making Of PHP Based Web Application
Sachin Walvekar
 
PDF
Single page applications with backbone js
Gil Fink
 
PPTX
ASP.net MVC Introduction Wikilogia (nov 2014)
Hatem Hamad
 
PPT
Web II - 01 - Introduction to server-side development
Randy Connolly
 
PPTX
Angular jS Introduction by Google
ASG
 
PPTX
Introduction to ASP.NET
Rajkumarsoy
 
PDF
MEAN Stack
Krishnaprasad k
 
PDF
MEAN Stack
Krishnaprasad k
 
PPT
Aspnet2.0 Introduction
ChanHan Hy
 
PDF
Workshop HTML5+PhoneGap by Ivano Malavolta
Commit University
 
DOCX
Top 10 Javascript Frameworks For Easy Web Development
Technostacks Infotech Pvt. Ltd.
 
PPTX
Mvc3 part1
Muhammad Younis
 
PPT
DevNext - Web Programming Concepts Using Asp Net
Adil Mughal
 
PPTX
Lightweight webdev
damianofusco
 
PPTX
The future of web development write once, run everywhere with angular.js and ...
Mark Roden
 
PDF
The future of web development write once, run everywhere with angular js an...
Mark Leusink
 
Web development concepts using microsoft technologies
Hosam Kamel
 
Best of Microsoft Dev Camp 2015
Bluegrass Digital
 
Web Development Presentation
TurnToTech
 
Single Page Apps
Gil Fink
 
Making Of PHP Based Web Application
Sachin Walvekar
 
Single page applications with backbone js
Gil Fink
 
ASP.net MVC Introduction Wikilogia (nov 2014)
Hatem Hamad
 
Web II - 01 - Introduction to server-side development
Randy Connolly
 
Angular jS Introduction by Google
ASG
 
Introduction to ASP.NET
Rajkumarsoy
 
MEAN Stack
Krishnaprasad k
 
MEAN Stack
Krishnaprasad k
 
Aspnet2.0 Introduction
ChanHan Hy
 
Workshop HTML5+PhoneGap by Ivano Malavolta
Commit University
 
Top 10 Javascript Frameworks For Easy Web Development
Technostacks Infotech Pvt. Ltd.
 
Mvc3 part1
Muhammad Younis
 
DevNext - Web Programming Concepts Using Asp Net
Adil Mughal
 
Lightweight webdev
damianofusco
 
The future of web development write once, run everywhere with angular.js and ...
Mark Roden
 
The future of web development write once, run everywhere with angular js an...
Mark Leusink
 
Ad

Recently uploaded (20)

PDF
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
PDF
“Computer Vision at Sea: Automated Fish Tracking for Sustainable Fishing,” a ...
Edge AI and Vision Alliance
 
PDF
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
PDF
Staying Human in a Machine- Accelerated World
Catalin Jora
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PDF
“Squinting Vision Pipelines: Detecting and Correcting Errors in Vision Models...
Edge AI and Vision Alliance
 
PDF
UiPath DevConnect 2025: Agentic Automation Community User Group Meeting
DianaGray10
 
PPTX
Agentforce World Tour Toronto '25 - MCP with MuleSoft
Alexandra N. Martinez
 
PDF
UPDF - AI PDF Editor & Converter Key Features
DealFuel
 
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
PPTX
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
DOCX
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
PDF
Future-Proof or Fall Behind? 10 Tech Trends You Can’t Afford to Ignore in 2025
DIGITALCONFEX
 
PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
PDF
Peak of Data & AI Encore AI-Enhanced Workflows for the Real World
Safe Software
 
PDF
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
PDF
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PDF
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
PDF
NLJUG Speaker academy 2025 - first session
Bert Jan Schrijver
 
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
“Computer Vision at Sea: Automated Fish Tracking for Sustainable Fishing,” a ...
Edge AI and Vision Alliance
 
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
Staying Human in a Machine- Accelerated World
Catalin Jora
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
“Squinting Vision Pipelines: Detecting and Correcting Errors in Vision Models...
Edge AI and Vision Alliance
 
UiPath DevConnect 2025: Agentic Automation Community User Group Meeting
DianaGray10
 
Agentforce World Tour Toronto '25 - MCP with MuleSoft
Alexandra N. Martinez
 
UPDF - AI PDF Editor & Converter Key Features
DealFuel
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
Future-Proof or Fall Behind? 10 Tech Trends You Can’t Afford to Ignore in 2025
DIGITALCONFEX
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
Peak of Data & AI Encore AI-Enhanced Workflows for the Real World
Safe Software
 
“Voice Interfaces on a Budget: Building Real-time Speech Recognition on Low-c...
Edge AI and Vision Alliance
 
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
NLJUG Speaker academy 2025 - first session
Bert Jan Schrijver
 

Web Development Today

  • 1. B E S T P R A C T I C E S F O R P R O D U C I N G T O D A Y ’ S W E B A P P L I C A T I O N S . B Y B R E T T M I L L E T T H T T P : / / S L I D E S H A . R E / W E B S U U Web Development Today!
  • 2. What is a Web Application?  A Web Application is a collection of several separate, but integrated technologies.  A Web Application typically has scripting on both the client and server “sides.”  Web applications typically have many layers.  Server-side  Web Server (HTTP Protocol)  Apache  Nginx  IIS  Programming Interface (Various computer languages)  PHP  Ruby  Python  Database  MySQL  Postgres  Couch DB  Client-side  Web Browser  JavaScript  AJAX  Cascading Style Sheets (CSS)
  • 3. What is a Web Application?
  • 4. Server-side Components  Which components do you choose?  Factors include:  Operating System  Linux or Microsoft?  OS most often determines Web Server  Linux: Apache (most common, but there are others)  Windows: IIS  Web Server often determines Database & Language  IIS: Microsoft SQL Server & ASP.NET  Apache: MySQL & PHP (most common)  Many other alternatives!
  • 5. Client-side Components  Which components do you choose?  Not so many choices.  You must support all browsers but they typically follow standards (C’mon IE!)  Cascading Styles are pretty standard (new CSS3 spec is pretty useful)  JavaScript frameworks are all the rage.  JQuery  Protocol  MooTools
  • 6. Server-side Components  Which do I typically choose? LAMP.  Linux as OS  Apache for Web Service  MySQL for database  PHP for programming language  LAMP is an acronym for a solution stack. Server-side technologies to provide a Web application.  Probably the most common solution stack for Web Development.
  • 7. Advantages to the LAMP stack  The LAMP stack is widely used because it offers a great number of advantages for developers:  Easy to code: Novices can build something and get it up and running very quickly with PHP and MySQL.  Easy to deploy: Since PHP is a standard Apache module, it is easy to deploy LAMP web applications by uploading .php files to an Apache server and connecting to a MySQL database.  Develop locally: LAMP can be set up so an app can be built locally, then deployed to the Web.  Cheap and ubiquitous hosting: Many inexpensive web hosts provide PHP and MySQL services.  None of the above reasons mean it’s always the best solution stack!
  • 8. Server-side Best Practices  The Model, View, Controller paradigm  Greatest thing since sliced bread…for Web developers anyway!  Web server is abstracted away from this approach. Any Web Server can be used.  It’s a developer thing. If you’re a designer you may only ever deal with the View side of MVC  So…why is it so great again…?
  • 9. MVC: Designer Advantages  Clean HTML templates.  No need to understand complex programming in a dynamic Web Application.  A Website may be completely changed in terms of design and overall layout without requiring a programmer!
  • 11. MVC: Programmer Advantages  “Pretty” SEO-friendly URLs.  Keep business logic separate from layout!  Modularity. Models can be reused.  Same code can be applied to numerous formats  Standard and mobile versions of website.  Feed formats like Atom or RSS  Data formats like XML or JSON  Designers can’t mess up your code! ;-)
  • 12. MVC: Model View Controller
  • 13. MVC: The Controller  Routing  Determines which controller is called via URL.  Example: http://your-web-site.com/controller/home  Controls flow of the Web application.  Convention over configuration.  Application entry point: URL  Routing (configuration)  “Friendly” URL’s  Requests data from Models.  Passes data to Views.  “Thin controllers, fat models…”  Controllers “know” little about data.  Concerned only with aggregating data and passing it to view layer.
  • 14. MVC: The Model  Creates and returns application data  XML  PHP arrays  Database Object  JSON  Business logic relating to application data.  Returns data to Controller on request.
  • 15. MVC: The View  User Interface  HTML  RSS  JSON  Accepts data from Controller  Logic Concerned with layout only  Looping structures to present data (foreach, for, while)  Templates  Special markup tags:  Smarty:  Name: {$name}<br> Address: {$address}<br>  PHP:  Name: <?=$name?><br> Address: <?=$address?><br>
  • 16. Popular MVC Frameworks  PHP  Zend Framework  Symfony  Cake  CodeIgniter  Python  Django  Perl  Catalyst  Ruby  Ruby on Rails  Java  Struts  .NET  ASP.NET MVC Framework
  • 17. Client-side Best Practices  Use the least amount of HTML as possible.  Rely on CSS for layout.  Unobtrusive JavaScript.  Implement AJAX after non-script functionality is assured.
  • 18. Client-side Best Practices  Use the least amount of HTML as possible.  Do not rely on WYSIWYG Editors (Dreamweaver.)  Do not Use HTML tag attributes for layout purposes. Only for meta data.
  • 19. Client-side Best Practices  Rely on CSS for layout.  CSS is yet another abstraction that separates your design elements from your content.  Makes your webpage yummy for Search Engines (search engines prefer vitamin supplements over Seven Layer Dip!)
  • 20. Client-side Best Practices  Unobtrusive JavaScript.  Use a JavaScript framework  JQuery  Prototype  “Latch onto” DOM elements and apply events (English for non-programmers, “onclick in your tag is so 2001!”)  Create your HTML layout as if JavaScript wasn’t an option.  After your website is functional without JavaScript, come back and add JavaScript functionality.
  • 21. Client-side Best Practices  Implement AJAX after non-script functionality is assured.  Short for Asynchronous JavaScript and XML.  Create your HTML forms as if AJAX wasn’t an option.  After your website is functional without AJAX, come back and add AJAX functionality.  JQuery’s (or Prototype’s) selector syntax is perfect for overriding typical form functionality.
  • 22. The Life and Death of Design
  • 23. Questions & Answers  Brett Millett  Slides:  http://slidesha.re/websuu/  Twitter (pretty boring really):  http://www.twitter.com/brettm73/  My Website:  http://www.brettic.us/  Thank You!