SlideShare ist ein Scribd-Unternehmen logo
1 von 38
Arunkumar Srisailapathi
Frontend Engineer - Amazon
https://thearunkumar.github.io/
Building Functional Webapps
Frontend
Demo
Open Demo app
Takeaways
1. HTML overview
2. CSS overview
3. Javascript overview
4. React overview
5. Functional React app (Client side)
6. Deploying to Heroku
HTML
- A markup language
- Helps to structure the web page
- Browsers recognize HTML documents
- When they are a .html (or) .htm files (or)
- When the response from the server is of type text/html
- Follows semantics
- Can help with Accessibility.
- Doesn’t need any special software to program
- Just a text editor to type
- Any web browser to see
Some common HTML tags
Form related
- Text box <input />
- Button <button></button>
(or) <input type=”button” />
- Textarea
<textarea></textarea>
- Radio button <input
type=”radio” />
- Checkbox <input
type=”checkbox” />
- Form <form></form>
Group related
- div
- article
- aside
- header
- footer
- nav
- ul
- ol
- table
- span
Media related
- img
- video
- audio
- canvas
- svg
You can know about various tags from here - https://developer.mozilla.org/en-US/docs/Web/HTML/Element
Thinking in HTML
Simply put,
The right side image can be structured as follows:
- body (whole page)
- section (top) [can also be header]
- nav (right side navigation)
- section (middle)
- img (image)
- input (text box)
- button
- button
- section (bottom) [can also be footer]
- nav (some links for navigation)
Coding in HTML
- body (whole page)
- section (top) [can also be header]
- nav (right side navigation)
- section (middle)
- img (image)
- input (text box)
- button
- button
- section (bottom) [can also be footer]
- nav (some links for navigation)
Now, let’s write that down in simple HTML
<body>
<header>
<nav>Some links</nav>
</header>
<section>
<img src="path/to/image" alt="displayed when image
can't load" />
<input type="text" value="" />
<button>Google Search</button>
<button>I'm feeling lucky</button>
</section>
<footer>
<nav>
Some links in footer
</nav>
</footer>
</body>
CSS
- A stylesheet language for our markup content
- Enables separation of concerns from the actual content
- Browsers recognize CSS documents
- When they are a .css files
- When the response from the server is of type text/css
- Since it deals with only styles, it can scale to different screens, prints, …
- Can help in animations and transitions, responsiveness
- Doesn’t need any special software to program
- Just a text editor to type
- Any web browser to see
Some common CSS selectors
* - Universal selector
.class - Class selector
#id - Id selector
elementName
(body, span, div, button, …) - Element selector
[type=”text”],[type=”button”],
[someAttr=”someValue”] - Attribute selector.
You can know about basics from here - https://developer.mozilla.org/en-US/docs/Web/CSS
Thinking in CSS
Simply put, the right side content can be styled as
follows:
header
nav
show on right side
section.middle
start with 20% gap on top
img
put the width as 200px
(pixels)
put the height as 70px
input
put the width as 500px
Put the height as 30px
button
Width as 50px and height as
30px
show side by side
Our HTML as we wrote it,
- body (whole page)
- section (top) [can also be header]
- nav (right side navigation)
- section (middle)
- img (image)
- input (text box)
- button
- button
- section (bottom) [can also be footer]
- nav (some links for navigation)
Coding in CSS
header
nav
show on right side
section.middle
start with 20% gap on top
img
put the width as 200px
(pixels)
put the height as 70px
input
put the width as 500px
Put the height as 30px
button
Width as 50px and height as
30px
show side by side
footer
nav
header nav {
margin-left: 80%;
}
section.middle {
margin: 0 auto;
margin-top: 15%;
text-align: center;
}
section.middle img, section.middle input {
display: block;
margin: 0 auto;
margin-bottom: 20px;
}
section.middle img {
width: 200px;
height: 70px;
}
section.middle input {
width: 400px;
height: 30px;
}
section.middle button {
width: 150px;
height: 30px;
}
footer {
position: absolute;
bottom: 0;
}
JS
- A scripting language for our static content
- Enables separation of concerns from the actual content
- Browsers recognize CSS documents
- When they are a .js files
- When the response from the server is of type text/javascript
- Basic JS doesn’t need any special software to program
- Just a text editor to type
- Any web browser to see
You can know about basics from here - https://developer.mozilla.org/en-US/docs/Web/Javascript
JS libraries
- JavaScript is arguably the most widely used computer language in the world.
- The use cases where JavaScript has shown to be replacing traditional platforms
are ever increasing.
- As the scope of the usage grows, it becomes extremely important that a method
of distribution of code is used, to not only bring simplicity in further development
but also allow reuse of code by the masses.
- JavaScript libraries solve this problem really well, and there are dozens if not
hundreds of libraries available that cater to various use cases.
- jQuery
- YUI
- Backbone
- Angular
- React
- Redux
- Vue
- ….
npm
- Node package manager
- Packages and publishes libraries online that can be consumed by whole world.
- package.json
> npm install packageName
> npm install packageName --save
> npm install packageName --save-dev
React
- A Javascript library (not a framework)
- Can support both mobile and web apps
- Since it is just a library, it’s main purpose is to render data to DOM
- Can use Redux or some other libraries for state management
- Can use react-router or some other libraries for Routing.
- We can write in JSX (or) using Javascript. But JSX is highly preferred and recommended.
- Virtual DOM
- Supports class Components
- Supports Functional Components
- React 16.8.0 and above supports Hooks
Hands-on
Let’s get started
Open Readme of Demo app for detailed steps
Starter app
Heroku deployment
Clone Instagram app
Next steps
We have built various features. Among them,
1. Search layout is present but not the capability of searching people.
2. Also, the Heart icon is present in the Header but it does nothing, you can add functionality to build to show
notifications whenever some ones follows / likes / comments just like Instagram / Facebook
HINT for building Searching,
● API: https://clone-instagram-backend.herokuapp.com/users lists all the users.
● Auto complete: https://material-ui.com/api/autocomplete/
As users type characters, you can show the suggestions and the user can then pick the user based on the suggestions.
You can take reference from actual Instagram - https://instagram.com/ on how Search and Notification works.
Building large scale apps
1. Core Architecture
a. This ensures scalability
b. Can extend to support various use cases
2. Performance
a. Always first MEASURE MEASURE MEASURE.
b. Only after you measure how your app is performing, you can improve
3. Tests
a. Unit tests
b. Functional
c. End to end tests
4. CI / CD
5. Security
Code maintenance
1. Have proper linters
2. Have auto formatters
3. Have auto fixers
4. Enforce same coding standards via plugins like prettier
5. Enforce git hooks (not to confuse with react hooks)
6. ...
Helpful references
HTML references
Basics:
- https://www.w3schools.com/html/html_basic.asp
- https://developer.mozilla.org/en-
US/docs/Learn/Getting_started_with_the_web/HTML_basics
- https://www.geeksforgeeks.org/html-basics/
- https://html.com/
Advanced:
- https://developer.mozilla.org/en-US/docs/Learn/Accessibility/HTML
- codecademy.com/articles/ready-accessibility
- http://web-accessibility.carnegiemuseums.org/foundations/semantic/
CSS references
Basics:
- https://www.w3schools.com/css/css_intro.asp
- https://developer.mozilla.org/en-
US/docs/Learn/Getting_started_with_the_web/CSS_basics
- https://www.cssbasics.com/
- https://www.freecodecamp.org/news/get-started-with-css-in-5-minutes-
e0804813fc3e/
Advanced:
- https://www.htmldog.com/guides/css/advanced/
- https://www.webfx.com/blog/web-design/3-advanced-css3-techniques-you-
should-learn/
- https://marksheet.io/css-advanced.html
JS references
Basics:
- https://developer.mozilla.org/en-
US/docs/Learn/Getting_started_with_the_web/JavaScript_basics
- https://www.w3schools.com/js/
- https://javascript.info/first-steps
- http://speakingjs.com/es5/ch01.html
Advanced:
- https://johnresig.com/apps/learn/
- https://www.webfx.com/blog/web-design/6-advanced-javascript-techniques-you-
should-know/
- https://htmldog.com/guides/javascript/advanced/
React references
Basics:
- https://reactjs.org/tutorial/tutorial.html
- https://www.w3schools.com/react/
- https://reactnative.dev/docs/tutorial
- http://speakingjs.com/es5/ch01.html
Advanced:
- https://medium.com/yazanaabed/advanced-react-patterns-7326f5a5ad1b
- https://egghead.io/courses/advanced-react-component-patterns
- https://advancedreact.com/
- https://www.freecodecamp.org/news/everything-you-need-to-know-about-react-
eaedf53238c4/
Thank you!

Weitere ähnliche Inhalte

Was ist angesagt?

Building jQuery Mobile Web Apps
Building jQuery Mobile Web AppsBuilding jQuery Mobile Web Apps
Building jQuery Mobile Web AppsOperation Mobile
 
Shortcodes vs Widgets: Which one and how?
Shortcodes vs Widgets: Which one and how?Shortcodes vs Widgets: Which one and how?
Shortcodes vs Widgets: Which one and how?Amanda Giles
 
Introduction to Web Programming - first course
Introduction to Web Programming - first courseIntroduction to Web Programming - first course
Introduction to Web Programming - first courseVlad Posea
 
Drupal For Dummies
Drupal For DummiesDrupal For Dummies
Drupal For DummiesKoen Delvaux
 
WordPress can do that?!
WordPress can do that?!WordPress can do that?!
WordPress can do that?!Scott McNulty
 
Drupal website in 45 mins
Drupal website in 45 minsDrupal website in 45 mins
Drupal website in 45 minsRachit Gupta
 
Practical tipsmakemobilefaster oscon2016
Practical tipsmakemobilefaster oscon2016Practical tipsmakemobilefaster oscon2016
Practical tipsmakemobilefaster oscon2016Doris Chen
 
JavaScript Presentation Frameworks and Libraries
JavaScript Presentation Frameworks and LibrariesJavaScript Presentation Frameworks and Libraries
JavaScript Presentation Frameworks and LibrariesOleksii Prohonnyi
 
Custom post types- Choose Your Own Adventure - WordCamp Atlanta 2014 - Evan M...
Custom post types- Choose Your Own Adventure - WordCamp Atlanta 2014 - Evan M...Custom post types- Choose Your Own Adventure - WordCamp Atlanta 2014 - Evan M...
Custom post types- Choose Your Own Adventure - WordCamp Atlanta 2014 - Evan M...Evan Mullins
 
How Joomla! builds a webpage (annotated)
How Joomla! builds a webpage (annotated)How Joomla! builds a webpage (annotated)
How Joomla! builds a webpage (annotated)Randy Carey
 
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
 
Building a Joomla Module
Building a Joomla ModuleBuilding a Joomla Module
Building a Joomla ModuleCory Webb
 
Creating Customizable Widgets for Unpredictable Needs
Creating Customizable Widgets for Unpredictable NeedsCreating Customizable Widgets for Unpredictable Needs
Creating Customizable Widgets for Unpredictable NeedsAmanda Giles
 
What's this jQuery? Where it came from, and how it will drive innovation
What's this jQuery? Where it came from, and how it will drive innovationWhat's this jQuery? Where it came from, and how it will drive innovation
What's this jQuery? Where it came from, and how it will drive innovationMarakana Inc.
 

Was ist angesagt? (20)

Building jQuery Mobile Web Apps
Building jQuery Mobile Web AppsBuilding jQuery Mobile Web Apps
Building jQuery Mobile Web Apps
 
Joomla Templates101
Joomla Templates101Joomla Templates101
Joomla Templates101
 
Web Development
Web DevelopmentWeb Development
Web Development
 
Wordpress
WordpressWordpress
Wordpress
 
Shortcodes vs Widgets: Which one and how?
Shortcodes vs Widgets: Which one and how?Shortcodes vs Widgets: Which one and how?
Shortcodes vs Widgets: Which one and how?
 
Introduction to Web Programming - first course
Introduction to Web Programming - first courseIntroduction to Web Programming - first course
Introduction to Web Programming - first course
 
Drupal For Dummies
Drupal For DummiesDrupal For Dummies
Drupal For Dummies
 
WordPress can do that?!
WordPress can do that?!WordPress can do that?!
WordPress can do that?!
 
Drupal website in 45 mins
Drupal website in 45 minsDrupal website in 45 mins
Drupal website in 45 mins
 
Wordpress
WordpressWordpress
Wordpress
 
Practical tipsmakemobilefaster oscon2016
Practical tipsmakemobilefaster oscon2016Practical tipsmakemobilefaster oscon2016
Practical tipsmakemobilefaster oscon2016
 
JavaScript Presentation Frameworks and Libraries
JavaScript Presentation Frameworks and LibrariesJavaScript Presentation Frameworks and Libraries
JavaScript Presentation Frameworks and Libraries
 
Bootstrap 3 vs. bootstrap 4
Bootstrap 3 vs. bootstrap 4Bootstrap 3 vs. bootstrap 4
Bootstrap 3 vs. bootstrap 4
 
Custom post types- Choose Your Own Adventure - WordCamp Atlanta 2014 - Evan M...
Custom post types- Choose Your Own Adventure - WordCamp Atlanta 2014 - Evan M...Custom post types- Choose Your Own Adventure - WordCamp Atlanta 2014 - Evan M...
Custom post types- Choose Your Own Adventure - WordCamp Atlanta 2014 - Evan M...
 
How Joomla! builds a webpage (annotated)
How Joomla! builds a webpage (annotated)How Joomla! builds a webpage (annotated)
How Joomla! builds a webpage (annotated)
 
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
 
Fundamental JQuery
Fundamental JQueryFundamental JQuery
Fundamental JQuery
 
Building a Joomla Module
Building a Joomla ModuleBuilding a Joomla Module
Building a Joomla Module
 
Creating Customizable Widgets for Unpredictable Needs
Creating Customizable Widgets for Unpredictable NeedsCreating Customizable Widgets for Unpredictable Needs
Creating Customizable Widgets for Unpredictable Needs
 
What's this jQuery? Where it came from, and how it will drive innovation
What's this jQuery? Where it came from, and how it will drive innovationWhat's this jQuery? Where it came from, and how it will drive innovation
What's this jQuery? Where it came from, and how it will drive innovation
 

Ähnlich wie Client Building Functional webapps.

.NET Recommended Resources
.NET Recommended Resources.NET Recommended Resources
.NET Recommended ResourcesGreg Sohl
 
CONTENT MANAGEMENT SYSTEM
CONTENT MANAGEMENT SYSTEMCONTENT MANAGEMENT SYSTEM
CONTENT MANAGEMENT SYSTEMANAND PRAKASH
 
Resume - Parag Bhayani
Resume - Parag BhayaniResume - Parag Bhayani
Resume - Parag BhayaniParag Bhayani
 
Front-End Web Development
Front-End Web DevelopmentFront-End Web Development
Front-End Web DevelopmentYash Sati
 
Anatomy of an HTML 5 mobile web app
Anatomy of an HTML 5 mobile web app Anatomy of an HTML 5 mobile web app
Anatomy of an HTML 5 mobile web app Ivano Malavolta
 
Cms an overview
Cms an overviewCms an overview
Cms an overviewkmusthu
 
Lec005 android start_program
Lec005 android start_programLec005 android start_program
Lec005 android start_programEyad Almasri
 
AD113 Speed Up Your Applications w/ Nginx and PageSpeed
AD113  Speed Up Your Applications w/ Nginx and PageSpeedAD113  Speed Up Your Applications w/ Nginx and PageSpeed
AD113 Speed Up Your Applications w/ Nginx and PageSpeededm00se
 
Winter%200405%20-%20Advanced%20Javascript
Winter%200405%20-%20Advanced%20JavascriptWinter%200405%20-%20Advanced%20Javascript
Winter%200405%20-%20Advanced%20Javascripttutorialsruby
 
Winter%200405%20-%20Advanced%20Javascript
Winter%200405%20-%20Advanced%20JavascriptWinter%200405%20-%20Advanced%20Javascript
Winter%200405%20-%20Advanced%20Javascripttutorialsruby
 
Busy Developer's Guide to Windows 8 HTML/JavaScript Apps
Busy Developer's Guide to Windows 8 HTML/JavaScript AppsBusy Developer's Guide to Windows 8 HTML/JavaScript Apps
Busy Developer's Guide to Windows 8 HTML/JavaScript AppsJAX London
 
How Browsers Work -By Tali Garsiel and Paul Irish
How Browsers Work -By Tali Garsiel and Paul IrishHow Browsers Work -By Tali Garsiel and Paul Irish
How Browsers Work -By Tali Garsiel and Paul IrishNagamurali Reddy
 
SharePoint Framework -The future of SharePoint/ Office 365 developer ecosystem.
SharePoint Framework -The future of SharePoint/ Office 365 developer ecosystem. SharePoint Framework -The future of SharePoint/ Office 365 developer ecosystem.
SharePoint Framework -The future of SharePoint/ Office 365 developer ecosystem. Kushan Lahiru Perera
 
Websites Unlimited - Pay Monthly Websites
Websites Unlimited - Pay Monthly WebsitesWebsites Unlimited - Pay Monthly Websites
Websites Unlimited - Pay Monthly Websiteswebsiteunlimited
 
State of modern web technologies: an introduction
State of modern web technologies: an introductionState of modern web technologies: an introduction
State of modern web technologies: an introductionMichael Ahearn
 

Ähnlich wie Client Building Functional webapps. (20)

.NET Recommended Resources
.NET Recommended Resources.NET Recommended Resources
.NET Recommended Resources
 
CONTENT MANAGEMENT SYSTEM
CONTENT MANAGEMENT SYSTEMCONTENT MANAGEMENT SYSTEM
CONTENT MANAGEMENT SYSTEM
 
Resume - Parag Bhayani
Resume - Parag BhayaniResume - Parag Bhayani
Resume - Parag Bhayani
 
Front end frameworks
Front end frameworksFront end frameworks
Front end frameworks
 
Front-End Web Development
Front-End Web DevelopmentFront-End Web Development
Front-End Web Development
 
Anatomy of an HTML 5 mobile web app
Anatomy of an HTML 5 mobile web app Anatomy of an HTML 5 mobile web app
Anatomy of an HTML 5 mobile web app
 
Cms an overview
Cms an overviewCms an overview
Cms an overview
 
Lec005 android start_program
Lec005 android start_programLec005 android start_program
Lec005 android start_program
 
AD113 Speed Up Your Applications w/ Nginx and PageSpeed
AD113  Speed Up Your Applications w/ Nginx and PageSpeedAD113  Speed Up Your Applications w/ Nginx and PageSpeed
AD113 Speed Up Your Applications w/ Nginx and PageSpeed
 
Winter%200405%20-%20Advanced%20Javascript
Winter%200405%20-%20Advanced%20JavascriptWinter%200405%20-%20Advanced%20Javascript
Winter%200405%20-%20Advanced%20Javascript
 
Winter%200405%20-%20Advanced%20Javascript
Winter%200405%20-%20Advanced%20JavascriptWinter%200405%20-%20Advanced%20Javascript
Winter%200405%20-%20Advanced%20Javascript
 
1_Intro_toHTML.ppt
1_Intro_toHTML.ppt1_Intro_toHTML.ppt
1_Intro_toHTML.ppt
 
Busy Developer's Guide to Windows 8 HTML/JavaScript Apps
Busy Developer's Guide to Windows 8 HTML/JavaScript AppsBusy Developer's Guide to Windows 8 HTML/JavaScript Apps
Busy Developer's Guide to Windows 8 HTML/JavaScript Apps
 
How Browsers Work -By Tali Garsiel and Paul Irish
How Browsers Work -By Tali Garsiel and Paul IrishHow Browsers Work -By Tali Garsiel and Paul Irish
How Browsers Work -By Tali Garsiel and Paul Irish
 
SharePoint Framework -The future of SharePoint/ Office 365 developer ecosystem.
SharePoint Framework -The future of SharePoint/ Office 365 developer ecosystem. SharePoint Framework -The future of SharePoint/ Office 365 developer ecosystem.
SharePoint Framework -The future of SharePoint/ Office 365 developer ecosystem.
 
Websites Unlimited - Pay Monthly Websites
Websites Unlimited - Pay Monthly WebsitesWebsites Unlimited - Pay Monthly Websites
Websites Unlimited - Pay Monthly Websites
 
Wordpress as a CMS
Wordpress as a CMSWordpress as a CMS
Wordpress as a CMS
 
Joomla tempates talk
Joomla tempates talkJoomla tempates talk
Joomla tempates talk
 
State of modern web technologies: an introduction
State of modern web technologies: an introductionState of modern web technologies: an introduction
State of modern web technologies: an introduction
 
ashish ppt webd.pptx
ashish ppt webd.pptxashish ppt webd.pptx
ashish ppt webd.pptx
 

Kürzlich hochgeladen

Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapRishantSharmaFr
 
Computer Lecture 01.pptxIntroduction to Computers
Computer Lecture 01.pptxIntroduction to ComputersComputer Lecture 01.pptxIntroduction to Computers
Computer Lecture 01.pptxIntroduction to ComputersMairaAshraf6
 
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptxA CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptxmaisarahman1
 
Minimum and Maximum Modes of microprocessor 8086
Minimum and Maximum Modes of microprocessor 8086Minimum and Maximum Modes of microprocessor 8086
Minimum and Maximum Modes of microprocessor 8086anil_gaur
 
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Arindam Chakraborty, Ph.D., P.E. (CA, TX)
 
kiln thermal load.pptx kiln tgermal load
kiln thermal load.pptx kiln tgermal loadkiln thermal load.pptx kiln tgermal load
kiln thermal load.pptx kiln tgermal loadhamedmustafa094
 
Engineering Drawing focus on projection of planes
Engineering Drawing focus on projection of planesEngineering Drawing focus on projection of planes
Engineering Drawing focus on projection of planesRAJNEESHKUMAR341697
 
Introduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaIntroduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaOmar Fathy
 
Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxJuliansyahHarahap1
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueBhangaleSonal
 
DC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationDC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationBhangaleSonal
 
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments""Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"mphochane1998
 
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills KuwaitKuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwaitjaanualu31
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTbhaskargani46
 
2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projects2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projectssmsksolar
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptMsecMca
 
A Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna MunicipalityA Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna MunicipalityMorshed Ahmed Rahath
 
Online food ordering system project report.pdf
Online food ordering system project report.pdfOnline food ordering system project report.pdf
Online food ordering system project report.pdfKamal Acharya
 
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
COST-EFFETIVE  and Energy Efficient BUILDINGS ptxCOST-EFFETIVE  and Energy Efficient BUILDINGS ptx
COST-EFFETIVE and Energy Efficient BUILDINGS ptxJIT KUMAR GUPTA
 
+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...
+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...
+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...Health
 

Kürzlich hochgeladen (20)

Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leap
 
Computer Lecture 01.pptxIntroduction to Computers
Computer Lecture 01.pptxIntroduction to ComputersComputer Lecture 01.pptxIntroduction to Computers
Computer Lecture 01.pptxIntroduction to Computers
 
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptxA CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
A CASE STUDY ON CERAMIC INDUSTRY OF BANGLADESH.pptx
 
Minimum and Maximum Modes of microprocessor 8086
Minimum and Maximum Modes of microprocessor 8086Minimum and Maximum Modes of microprocessor 8086
Minimum and Maximum Modes of microprocessor 8086
 
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
 
kiln thermal load.pptx kiln tgermal load
kiln thermal load.pptx kiln tgermal loadkiln thermal load.pptx kiln tgermal load
kiln thermal load.pptx kiln tgermal load
 
Engineering Drawing focus on projection of planes
Engineering Drawing focus on projection of planesEngineering Drawing focus on projection of planes
Engineering Drawing focus on projection of planes
 
Introduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaIntroduction to Serverless with AWS Lambda
Introduction to Serverless with AWS Lambda
 
Work-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptxWork-Permit-Receiver-in-Saudi-Aramco.pptx
Work-Permit-Receiver-in-Saudi-Aramco.pptx
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torque
 
DC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationDC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equation
 
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments""Lesotho Leaps Forward: A Chronicle of Transformative Developments"
"Lesotho Leaps Forward: A Chronicle of Transformative Developments"
 
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills KuwaitKuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
Kuwait City MTP kit ((+919101817206)) Buy Abortion Pills Kuwait
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projects2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projects
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
 
A Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna MunicipalityA Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna Municipality
 
Online food ordering system project report.pdf
Online food ordering system project report.pdfOnline food ordering system project report.pdf
Online food ordering system project report.pdf
 
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
COST-EFFETIVE  and Energy Efficient BUILDINGS ptxCOST-EFFETIVE  and Energy Efficient BUILDINGS ptx
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
 
+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...
+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...
+97470301568>> buy weed in qatar,buy thc oil qatar,buy weed and vape oil in d...
 

Client Building Functional webapps.

  • 1. Arunkumar Srisailapathi Frontend Engineer - Amazon https://thearunkumar.github.io/
  • 4. Takeaways 1. HTML overview 2. CSS overview 3. Javascript overview 4. React overview 5. Functional React app (Client side) 6. Deploying to Heroku
  • 6. - A markup language - Helps to structure the web page - Browsers recognize HTML documents - When they are a .html (or) .htm files (or) - When the response from the server is of type text/html - Follows semantics - Can help with Accessibility. - Doesn’t need any special software to program - Just a text editor to type - Any web browser to see
  • 7. Some common HTML tags Form related - Text box <input /> - Button <button></button> (or) <input type=”button” /> - Textarea <textarea></textarea> - Radio button <input type=”radio” /> - Checkbox <input type=”checkbox” /> - Form <form></form> Group related - div - article - aside - header - footer - nav - ul - ol - table - span Media related - img - video - audio - canvas - svg You can know about various tags from here - https://developer.mozilla.org/en-US/docs/Web/HTML/Element
  • 8. Thinking in HTML Simply put, The right side image can be structured as follows: - body (whole page) - section (top) [can also be header] - nav (right side navigation) - section (middle) - img (image) - input (text box) - button - button - section (bottom) [can also be footer] - nav (some links for navigation)
  • 9. Coding in HTML - body (whole page) - section (top) [can also be header] - nav (right side navigation) - section (middle) - img (image) - input (text box) - button - button - section (bottom) [can also be footer] - nav (some links for navigation) Now, let’s write that down in simple HTML <body> <header> <nav>Some links</nav> </header> <section> <img src="path/to/image" alt="displayed when image can't load" /> <input type="text" value="" /> <button>Google Search</button> <button>I'm feeling lucky</button> </section> <footer> <nav> Some links in footer </nav> </footer> </body>
  • 10. CSS
  • 11. - A stylesheet language for our markup content - Enables separation of concerns from the actual content - Browsers recognize CSS documents - When they are a .css files - When the response from the server is of type text/css - Since it deals with only styles, it can scale to different screens, prints, … - Can help in animations and transitions, responsiveness - Doesn’t need any special software to program - Just a text editor to type - Any web browser to see
  • 12. Some common CSS selectors * - Universal selector .class - Class selector #id - Id selector elementName (body, span, div, button, …) - Element selector [type=”text”],[type=”button”], [someAttr=”someValue”] - Attribute selector. You can know about basics from here - https://developer.mozilla.org/en-US/docs/Web/CSS
  • 13. Thinking in CSS Simply put, the right side content can be styled as follows: header nav show on right side section.middle start with 20% gap on top img put the width as 200px (pixels) put the height as 70px input put the width as 500px Put the height as 30px button Width as 50px and height as 30px show side by side Our HTML as we wrote it, - body (whole page) - section (top) [can also be header] - nav (right side navigation) - section (middle) - img (image) - input (text box) - button - button - section (bottom) [can also be footer] - nav (some links for navigation)
  • 14. Coding in CSS header nav show on right side section.middle start with 20% gap on top img put the width as 200px (pixels) put the height as 70px input put the width as 500px Put the height as 30px button Width as 50px and height as 30px show side by side footer nav header nav { margin-left: 80%; } section.middle { margin: 0 auto; margin-top: 15%; text-align: center; } section.middle img, section.middle input { display: block; margin: 0 auto; margin-bottom: 20px; } section.middle img { width: 200px; height: 70px; } section.middle input { width: 400px; height: 30px; } section.middle button { width: 150px; height: 30px; } footer { position: absolute; bottom: 0; }
  • 15. JS
  • 16. - A scripting language for our static content - Enables separation of concerns from the actual content - Browsers recognize CSS documents - When they are a .js files - When the response from the server is of type text/javascript - Basic JS doesn’t need any special software to program - Just a text editor to type - Any web browser to see You can know about basics from here - https://developer.mozilla.org/en-US/docs/Web/Javascript
  • 17.
  • 18. JS libraries - JavaScript is arguably the most widely used computer language in the world. - The use cases where JavaScript has shown to be replacing traditional platforms are ever increasing. - As the scope of the usage grows, it becomes extremely important that a method of distribution of code is used, to not only bring simplicity in further development but also allow reuse of code by the masses. - JavaScript libraries solve this problem really well, and there are dozens if not hundreds of libraries available that cater to various use cases.
  • 19. - jQuery - YUI - Backbone - Angular - React - Redux - Vue - ….
  • 20. npm
  • 21. - Node package manager - Packages and publishes libraries online that can be consumed by whole world. - package.json > npm install packageName > npm install packageName --save > npm install packageName --save-dev
  • 22. React
  • 23. - A Javascript library (not a framework) - Can support both mobile and web apps - Since it is just a library, it’s main purpose is to render data to DOM - Can use Redux or some other libraries for state management - Can use react-router or some other libraries for Routing. - We can write in JSX (or) using Javascript. But JSX is highly preferred and recommended. - Virtual DOM
  • 24. - Supports class Components - Supports Functional Components - React 16.8.0 and above supports Hooks
  • 26. Let’s get started Open Readme of Demo app for detailed steps
  • 30. Next steps We have built various features. Among them, 1. Search layout is present but not the capability of searching people. 2. Also, the Heart icon is present in the Header but it does nothing, you can add functionality to build to show notifications whenever some ones follows / likes / comments just like Instagram / Facebook HINT for building Searching, ● API: https://clone-instagram-backend.herokuapp.com/users lists all the users. ● Auto complete: https://material-ui.com/api/autocomplete/ As users type characters, you can show the suggestions and the user can then pick the user based on the suggestions. You can take reference from actual Instagram - https://instagram.com/ on how Search and Notification works.
  • 31. Building large scale apps 1. Core Architecture a. This ensures scalability b. Can extend to support various use cases 2. Performance a. Always first MEASURE MEASURE MEASURE. b. Only after you measure how your app is performing, you can improve 3. Tests a. Unit tests b. Functional c. End to end tests 4. CI / CD 5. Security
  • 32. Code maintenance 1. Have proper linters 2. Have auto formatters 3. Have auto fixers 4. Enforce same coding standards via plugins like prettier 5. Enforce git hooks (not to confuse with react hooks) 6. ...
  • 34. HTML references Basics: - https://www.w3schools.com/html/html_basic.asp - https://developer.mozilla.org/en- US/docs/Learn/Getting_started_with_the_web/HTML_basics - https://www.geeksforgeeks.org/html-basics/ - https://html.com/ Advanced: - https://developer.mozilla.org/en-US/docs/Learn/Accessibility/HTML - codecademy.com/articles/ready-accessibility - http://web-accessibility.carnegiemuseums.org/foundations/semantic/
  • 35. CSS references Basics: - https://www.w3schools.com/css/css_intro.asp - https://developer.mozilla.org/en- US/docs/Learn/Getting_started_with_the_web/CSS_basics - https://www.cssbasics.com/ - https://www.freecodecamp.org/news/get-started-with-css-in-5-minutes- e0804813fc3e/ Advanced: - https://www.htmldog.com/guides/css/advanced/ - https://www.webfx.com/blog/web-design/3-advanced-css3-techniques-you- should-learn/ - https://marksheet.io/css-advanced.html
  • 36. JS references Basics: - https://developer.mozilla.org/en- US/docs/Learn/Getting_started_with_the_web/JavaScript_basics - https://www.w3schools.com/js/ - https://javascript.info/first-steps - http://speakingjs.com/es5/ch01.html Advanced: - https://johnresig.com/apps/learn/ - https://www.webfx.com/blog/web-design/6-advanced-javascript-techniques-you- should-know/ - https://htmldog.com/guides/javascript/advanced/
  • 37. React references Basics: - https://reactjs.org/tutorial/tutorial.html - https://www.w3schools.com/react/ - https://reactnative.dev/docs/tutorial - http://speakingjs.com/es5/ch01.html Advanced: - https://medium.com/yazanaabed/advanced-react-patterns-7326f5a5ad1b - https://egghead.io/courses/advanced-react-component-patterns - https://advancedreact.com/ - https://www.freecodecamp.org/news/everything-you-need-to-know-about-react- eaedf53238c4/