SlideShare a Scribd company logo
1 of 29
Web
 development
Tips and tricks
   By Mahmoud AlZarroug
Highlights
• Definition

• Architecture
  o Storage Tier
  o Server Tier
  o Client Tier

• Common tips
A Web application is..
• An application that utilizes Web browsers to
  accomplish one or more tasks over a network

• It can be a simple static page or as advanced as a
  social network

• Examples:
   o Twitter, Google Search, Facebook, GMail, Angry
     Birds (HTML5 version).. etc
Architecture
Web applications
Client-Server
communication
Storage Tier
Storage Tier
Where information is stored and retrieved.
What to choose?
Relational database
    • Utilize relationship between tables

    • Flexible

    • Easy to update/delete records

    • Avoids duplicate data
NoSQL database
  • Schema-less approach

  • Easy to Scale

  • Fast !
What database to choose?

 Depends on your Software
 requirements
Server Tier
Server side scripting
Key rules
• Security

• Performance

• Scalability
Server Tier: Security
• Cross Site Scripting (XSS):
   o enables attackers to inject client-side script into Web pages
     viewed by other users
• SQL injection:
   o done by passing SQL statements in an entry field in an attempt to
     get the website to pass rogue SQL command to the database
• denial-of-service attack (DoS attack):
   o an attempt to make a machine or network resource unavailable
     to its intended users
• Remote code execution:
   o ability to execute any commands of the attacker's choice on a
     target machine or in a target process
Server Tier: Performance
• Minimize response time
• Code matters !!
  o   Find the simplest solution to a problem
  o   Avoid too many database calls
  o   Merge loops
  o   Review your algorithms
Server Tier: Performance
• Cache pages

• Cache database queries

• Use “Cache-Control” headers

• Cache function returns
Server Tier: Performance
• Merge JavaScript in a single file

• Merge CSS in a single file

• Compress CSS and JS in production
Server Tier: Scalability
• The ability of a system to handle a growing
  amount of work in a capable manner or its
  ability to be enlarged to accommodate
  that growth
Scalability methods
Client Tier
Client Tier
• Client Side Programming

• User Experience

• Browsers Compatibility
Client Side Programming



          Flash
User Experience
1. Make pages load faster
2. Don’t make the user think
  Use clear navigation, clear language, clear layout
3. First Impressions Matter
4. Show Your Credentials
  Buy a SSL cert if required, write copyrights professionally
5. Remove stuff
  Cluttered content, ads
Browsers Compatibility
You will definitely hate this guy
How to avoid it?
• First step to avoid browsers compatibility issues is to
  know your users and the most common browsers
  between them

• Minimize using CSS3 and HTML5 if possible or use an
  alternative depends on the browser

• Use JS frameworks/libraries like Jquery or MooTools
Common Web
           development tips
• For rapid development use MVC frameworks:
   o CodeIgniter, CakePHP, Django, ASP.NET

• Use Cloud solutions for server architecture:
   o Amazon AWS, IBM Cloud, Azure

• “Simplicity is the soul of efficiency”
   o -Austin Freeman


• “Make it Work Before You Make it Fast”
   o -Brian Smits
Questions?

Contact me anytime at:
      mahmoud @ acadox .com

Or Twitter:   @MaXo

More Related Content

What's hot

Full stack development using javascript what and why - ajay chandravadiya
Full stack development using javascript   what and why - ajay chandravadiyaFull stack development using javascript   what and why - ajay chandravadiya
Full stack development using javascript what and why - ajay chandravadiyaajayrcgmail
 
Back to the Basics - 1 - Introduction to Web Development
Back to the Basics - 1 - Introduction to Web DevelopmentBack to the Basics - 1 - Introduction to Web Development
Back to the Basics - 1 - Introduction to Web DevelopmentClint LaForest
 
WordPress in the Enterprise Market
WordPress in the Enterprise MarketWordPress in the Enterprise Market
WordPress in the Enterprise Marketbjornjohansen
 
Platforms based on WordPress
Platforms based on WordPressPlatforms based on WordPress
Platforms based on WordPressMario Peshev
 
WEB_Seminar_by_Prashant_Walke
WEB_Seminar_by_Prashant_WalkeWEB_Seminar_by_Prashant_Walke
WEB_Seminar_by_Prashant_WalkePrashant Walke
 
How hard can it be
How hard can it beHow hard can it be
How hard can it beMax Kossatz
 
About Caching
About CachingAbout Caching
About CachingWeng Wei
 
Introduction to TomatoCMS
Introduction to TomatoCMSIntroduction to TomatoCMS
Introduction to TomatoCMSPhuoc Nguyen
 
WordPress as a CMS
WordPress as a CMSWordPress as a CMS
WordPress as a CMSColin Loretz
 
What Is joomla - landau Design Reviews
What Is joomla - landau Design ReviewsWhat Is joomla - landau Design Reviews
What Is joomla - landau Design Reviewsdavisporter
 
WordPress as an Application Framework
WordPress as an Application FrameworkWordPress as an Application Framework
WordPress as an Application FrameworkNazmul Hasan Rupok
 
Should you be using WordPress as your web platform?
Should you be using WordPress as your web platform?Should you be using WordPress as your web platform?
Should you be using WordPress as your web platform?Nigel Harding
 
The Power of Page Builder Plugins in Building a WordPress Site
 - Presented b...
The Power of Page Builder Plugins in Building a WordPress Site
 - Presented b...The Power of Page Builder Plugins in Building a WordPress Site
 - Presented b...
The Power of Page Builder Plugins in Building a WordPress Site
 - Presented b...WordCamp Harare
 
Best Practices for Building Sites in dotCMS
Best Practices for Building Sites in dotCMSBest Practices for Building Sites in dotCMS
Best Practices for Building Sites in dotCMSMichael Fienen
 

What's hot (20)

Full stack development using javascript what and why - ajay chandravadiya
Full stack development using javascript   what and why - ajay chandravadiyaFull stack development using javascript   what and why - ajay chandravadiya
Full stack development using javascript what and why - ajay chandravadiya
 
Back to the Basics - 1 - Introduction to Web Development
Back to the Basics - 1 - Introduction to Web DevelopmentBack to the Basics - 1 - Introduction to Web Development
Back to the Basics - 1 - Introduction to Web Development
 
Introduction to maya
Introduction to mayaIntroduction to maya
Introduction to maya
 
APEX & Cookie Monster
APEX & Cookie MonsterAPEX & Cookie Monster
APEX & Cookie Monster
 
WordPress in the Enterprise Market
WordPress in the Enterprise MarketWordPress in the Enterprise Market
WordPress in the Enterprise Market
 
Platforms based on WordPress
Platforms based on WordPressPlatforms based on WordPress
Platforms based on WordPress
 
WEB_Seminar_by_Prashant_Walke
WEB_Seminar_by_Prashant_WalkeWEB_Seminar_by_Prashant_Walke
WEB_Seminar_by_Prashant_Walke
 
How hard can it be
How hard can it beHow hard can it be
How hard can it be
 
Zenyan
ZenyanZenyan
Zenyan
 
About Caching
About CachingAbout Caching
About Caching
 
Introduction to TomatoCMS
Introduction to TomatoCMSIntroduction to TomatoCMS
Introduction to TomatoCMS
 
WordPress as a CMS
WordPress as a CMSWordPress as a CMS
WordPress as a CMS
 
Kentico CMS
Kentico CMSKentico CMS
Kentico CMS
 
What Is joomla - landau Design Reviews
What Is joomla - landau Design ReviewsWhat Is joomla - landau Design Reviews
What Is joomla - landau Design Reviews
 
What is Joomla?
What is Joomla?What is Joomla?
What is Joomla?
 
WordPress as an Application Framework
WordPress as an Application FrameworkWordPress as an Application Framework
WordPress as an Application Framework
 
Should you be using WordPress as your web platform?
Should you be using WordPress as your web platform?Should you be using WordPress as your web platform?
Should you be using WordPress as your web platform?
 
SQL Server Service Brokers
SQL Server Service BrokersSQL Server Service Brokers
SQL Server Service Brokers
 
The Power of Page Builder Plugins in Building a WordPress Site
 - Presented b...
The Power of Page Builder Plugins in Building a WordPress Site
 - Presented b...The Power of Page Builder Plugins in Building a WordPress Site
 - Presented b...
The Power of Page Builder Plugins in Building a WordPress Site
 - Presented b...
 
Best Practices for Building Sites in dotCMS
Best Practices for Building Sites in dotCMSBest Practices for Building Sites in dotCMS
Best Practices for Building Sites in dotCMS
 

Similar to Web development tips and tricks

Best Practices for WordPress in Enterprise
Best Practices for WordPress in EnterpriseBest Practices for WordPress in Enterprise
Best Practices for WordPress in EnterpriseTaylor Lovett
 
Best practices-wordpress-enterprise
Best practices-wordpress-enterpriseBest practices-wordpress-enterprise
Best practices-wordpress-enterpriseTaylor Lovett
 
Do you lose sleep at night?
Do you lose sleep at night?Do you lose sleep at night?
Do you lose sleep at night?Nathan Van Gheem
 
Антон Бойко "Разделяй и властвуй — набор практик для построения масштабируемо...
Антон Бойко "Разделяй и властвуй — набор практик для построения масштабируемо...Антон Бойко "Разделяй и властвуй — набор практик для построения масштабируемо...
Антон Бойко "Разделяй и властвуй — набор практик для построения масштабируемо...Marina Peregud
 
Usersnap and the javascript magic behind the scenes - ViennaJS
Usersnap and the javascript magic behind the scenes - ViennaJSUsersnap and the javascript magic behind the scenes - ViennaJS
Usersnap and the javascript magic behind the scenes - ViennaJSUsersnap
 
"Python web development combines the simplicity of the language with powerful...
"Python web development combines the simplicity of the language with powerful..."Python web development combines the simplicity of the language with powerful...
"Python web development combines the simplicity of the language with powerful...softwaretrainer2elys
 
Starting Azure mobile services
Starting Azure mobile servicesStarting Azure mobile services
Starting Azure mobile servicesAmr Abulnaga
 
After the LAMP, it's time to get MEAN
After the LAMP, it's time to get MEANAfter the LAMP, it's time to get MEAN
After the LAMP, it's time to get MEANJeff Fox
 
Introduction to GoLang
Introduction to GoLangIntroduction to GoLang
Introduction to GoLangNVISIA
 
Sahi Principles and Architecture
Sahi Principles and ArchitectureSahi Principles and Architecture
Sahi Principles and ArchitectureTyto Software
 
Enterprise WordPress - Performance, Scalability and Redundancy
Enterprise WordPress - Performance, Scalability and RedundancyEnterprise WordPress - Performance, Scalability and Redundancy
Enterprise WordPress - Performance, Scalability and RedundancyJohn Giaconia
 
Best Practices for WordPress
Best Practices for WordPressBest Practices for WordPress
Best Practices for WordPressTaylor Lovett
 
Front end development best practices
Front end development best practicesFront end development best practices
Front end development best practicesKarolina Coates
 
Browser Hacking For Fun and Profit | Null Bangalore Meetup 2019 | Divyanshu S...
Browser Hacking For Fun and Profit | Null Bangalore Meetup 2019 | Divyanshu S...Browser Hacking For Fun and Profit | Null Bangalore Meetup 2019 | Divyanshu S...
Browser Hacking For Fun and Profit | Null Bangalore Meetup 2019 | Divyanshu S...Divyanshu
 
Untying the Knots of Web Dev with Internet Explorer
Untying the Knots of Web Dev with Internet Explorer Untying the Knots of Web Dev with Internet Explorer
Untying the Knots of Web Dev with Internet Explorer Sarah Dutkiewicz
 
Frameworks Galore: A Pragmatic Review
Frameworks Galore: A Pragmatic ReviewFrameworks Galore: A Pragmatic Review
Frameworks Galore: A Pragmatic Reviewnetc2012
 
Ch 10: Hacking Web Servers
Ch 10: Hacking Web ServersCh 10: Hacking Web Servers
Ch 10: Hacking Web ServersSam Bowne
 
WWW/Internet 2011 - A Framework for Web 2.0 Secure Widgets
WWW/Internet 2011 - A Framework for Web 2.0 Secure WidgetsWWW/Internet 2011 - A Framework for Web 2.0 Secure Widgets
WWW/Internet 2011 - A Framework for Web 2.0 Secure WidgetsVagner Santana
 

Similar to Web development tips and tricks (20)

Best Practices for WordPress in Enterprise
Best Practices for WordPress in EnterpriseBest Practices for WordPress in Enterprise
Best Practices for WordPress in Enterprise
 
Best practices-wordpress-enterprise
Best practices-wordpress-enterpriseBest practices-wordpress-enterprise
Best practices-wordpress-enterprise
 
Do you lose sleep at night?
Do you lose sleep at night?Do you lose sleep at night?
Do you lose sleep at night?
 
Антон Бойко "Разделяй и властвуй — набор практик для построения масштабируемо...
Антон Бойко "Разделяй и властвуй — набор практик для построения масштабируемо...Антон Бойко "Разделяй и властвуй — набор практик для построения масштабируемо...
Антон Бойко "Разделяй и властвуй — набор практик для построения масштабируемо...
 
Usersnap and the javascript magic behind the scenes - ViennaJS
Usersnap and the javascript magic behind the scenes - ViennaJSUsersnap and the javascript magic behind the scenes - ViennaJS
Usersnap and the javascript magic behind the scenes - ViennaJS
 
"Python web development combines the simplicity of the language with powerful...
"Python web development combines the simplicity of the language with powerful..."Python web development combines the simplicity of the language with powerful...
"Python web development combines the simplicity of the language with powerful...
 
Starting Azure mobile services
Starting Azure mobile servicesStarting Azure mobile services
Starting Azure mobile services
 
After the LAMP, it's time to get MEAN
After the LAMP, it's time to get MEANAfter the LAMP, it's time to get MEAN
After the LAMP, it's time to get MEAN
 
Top 10 web application development frameworks 2016
Top 10 web application development frameworks 2016Top 10 web application development frameworks 2016
Top 10 web application development frameworks 2016
 
Introduction to GoLang
Introduction to GoLangIntroduction to GoLang
Introduction to GoLang
 
Windows Azure Essentials V3
Windows Azure Essentials V3Windows Azure Essentials V3
Windows Azure Essentials V3
 
Sahi Principles and Architecture
Sahi Principles and ArchitectureSahi Principles and Architecture
Sahi Principles and Architecture
 
Enterprise WordPress - Performance, Scalability and Redundancy
Enterprise WordPress - Performance, Scalability and RedundancyEnterprise WordPress - Performance, Scalability and Redundancy
Enterprise WordPress - Performance, Scalability and Redundancy
 
Best Practices for WordPress
Best Practices for WordPressBest Practices for WordPress
Best Practices for WordPress
 
Front end development best practices
Front end development best practicesFront end development best practices
Front end development best practices
 
Browser Hacking For Fun and Profit | Null Bangalore Meetup 2019 | Divyanshu S...
Browser Hacking For Fun and Profit | Null Bangalore Meetup 2019 | Divyanshu S...Browser Hacking For Fun and Profit | Null Bangalore Meetup 2019 | Divyanshu S...
Browser Hacking For Fun and Profit | Null Bangalore Meetup 2019 | Divyanshu S...
 
Untying the Knots of Web Dev with Internet Explorer
Untying the Knots of Web Dev with Internet Explorer Untying the Knots of Web Dev with Internet Explorer
Untying the Knots of Web Dev with Internet Explorer
 
Frameworks Galore: A Pragmatic Review
Frameworks Galore: A Pragmatic ReviewFrameworks Galore: A Pragmatic Review
Frameworks Galore: A Pragmatic Review
 
Ch 10: Hacking Web Servers
Ch 10: Hacking Web ServersCh 10: Hacking Web Servers
Ch 10: Hacking Web Servers
 
WWW/Internet 2011 - A Framework for Web 2.0 Secure Widgets
WWW/Internet 2011 - A Framework for Web 2.0 Secure WidgetsWWW/Internet 2011 - A Framework for Web 2.0 Secure Widgets
WWW/Internet 2011 - A Framework for Web 2.0 Secure Widgets
 

Web development tips and tricks

  • 1. Web development Tips and tricks By Mahmoud AlZarroug
  • 2. Highlights • Definition • Architecture o Storage Tier o Server Tier o Client Tier • Common tips
  • 3. A Web application is.. • An application that utilizes Web browsers to accomplish one or more tasks over a network • It can be a simple static page or as advanced as a social network • Examples: o Twitter, Google Search, Facebook, GMail, Angry Birds (HTML5 version).. etc
  • 8. Storage Tier Where information is stored and retrieved.
  • 10. Relational database • Utilize relationship between tables • Flexible • Easy to update/delete records • Avoids duplicate data
  • 11. NoSQL database • Schema-less approach • Easy to Scale • Fast !
  • 12. What database to choose? Depends on your Software requirements
  • 15. Key rules • Security • Performance • Scalability
  • 16. Server Tier: Security • Cross Site Scripting (XSS): o enables attackers to inject client-side script into Web pages viewed by other users • SQL injection: o done by passing SQL statements in an entry field in an attempt to get the website to pass rogue SQL command to the database • denial-of-service attack (DoS attack): o an attempt to make a machine or network resource unavailable to its intended users • Remote code execution: o ability to execute any commands of the attacker's choice on a target machine or in a target process
  • 17. Server Tier: Performance • Minimize response time • Code matters !! o Find the simplest solution to a problem o Avoid too many database calls o Merge loops o Review your algorithms
  • 18. Server Tier: Performance • Cache pages • Cache database queries • Use “Cache-Control” headers • Cache function returns
  • 19. Server Tier: Performance • Merge JavaScript in a single file • Merge CSS in a single file • Compress CSS and JS in production
  • 20. Server Tier: Scalability • The ability of a system to handle a growing amount of work in a capable manner or its ability to be enlarged to accommodate that growth
  • 23. Client Tier • Client Side Programming • User Experience • Browsers Compatibility
  • 25. User Experience 1. Make pages load faster 2. Don’t make the user think Use clear navigation, clear language, clear layout 3. First Impressions Matter 4. Show Your Credentials Buy a SSL cert if required, write copyrights professionally 5. Remove stuff Cluttered content, ads
  • 26. Browsers Compatibility You will definitely hate this guy
  • 27. How to avoid it? • First step to avoid browsers compatibility issues is to know your users and the most common browsers between them • Minimize using CSS3 and HTML5 if possible or use an alternative depends on the browser • Use JS frameworks/libraries like Jquery or MooTools
  • 28. Common Web development tips • For rapid development use MVC frameworks: o CodeIgniter, CakePHP, Django, ASP.NET • Use Cloud solutions for server architecture: o Amazon AWS, IBM Cloud, Azure • “Simplicity is the soul of efficiency” o -Austin Freeman • “Make it Work Before You Make it Fast” o -Brian Smits
  • 29. Questions? Contact me anytime at: mahmoud @ acadox .com Or Twitter: @MaXo