SlideShare a Scribd company logo
1 of 155
Download to read offline
HOW
DO
I
EVEN
WEB
APP
?@lydiaguarino
Hi! Lydia
I’m
@lydiaguarino
lydiaguarino
lguarino
lydia@frontside.io
Architect
Tech Sales Person
Corporate Trainer
Operations Manager
Web Developer
+
+
+
=
+ MakerSquare
+ UT Austin + 2009
Building Crash
2013
The hardest part
about learning
something new is
not the learning.
It’s figuring out
what you need to
learn and in what
order.
I need a web page!
HTML
CSS
JS
I need to collect
information from a
user.
The information I want
to show a user may
change over time or
depends on them
interacting with the
web site.
I want to show the
user information
that other users or
services have
provided.
I need to display
the same
information in
several different
formats.
WHAT
USERS
SEE
STATIC Web pages are about:
WHAT
USERS
DO
DYNAMIC Web applications are about:
WEB
APP
How do I web app?
?
CRUD
MVC
HTTP
DNS
C
OOP Fra
Configur
Co
Learn Py
L
Learn N
Respons
Deploym
Sublime
Package
Algorith
Object A
CI
Magnets
Version
Version
Construc
?
CRUD
MVC
HTTP
DNS
CLI
OOP Framework
Back En
Compiler
ConConfiguration
Concern
Learn Python!
Learn Rub
Learn Node!
AJ
Responsive Grid
Phan
G
RES
Deployment Auth
Sublime Emacs Te
Package Manage
Algorithm
Object Array Sas
Router
CI
Magnets, How do
Version ControlPr
Version Control Br
Constructor Class
?
CRUD
MVC
HTTP
DNS
CLI
OOP Framework
Front End
Back End
Compiler
ConventionConfiguration
Concern
Learn Python!
Learn Ruby!
Learn Node!
AJAX
Async
JSON
Responsive Grid
Phantom
Git
REST
DRY
Deployment
UI UX
Authentication
Worker
API
VIM
Sublime Emacs Terminal
Package Manager Pattern
Algorithm
Object Array Sass SaaS
Router Code Base
CI
Magnets, How do they work?
Version ControlPrototype
Meth
Fun
Pro
Con
DB
He
UR
YM
Version Control Browser Dire
Constructor Class ES6 Rende
CRUD
MVC
HTTP
DNS
CLI
OOP Framework
Front End
Back End
Compiler
ConventionConfiguration
Concern
Learn Python!
Learn Ruby!
Learn Node!
AJAX
Async
JSON
Responsive Grid
Phantom
Git
REST
DRY
Deployment
UI UX
Authentication
Worker
API
VIM
Sublime Emacs Terminal
Package Manager Pattern
Algorithm
Object Array Sass SaaS
Router Code Base
CI
Magnets, How do they work?
Version ControlPrototype
Meth
Fun
Pro
Con
DB
He
UR
YM
Version Control Browser Dire
Constructor Class ES6 Rende
AHHHHHHH!
I WILL LEARN
ALL THE THINGS!
I WILL LEARN
ALL THE THINGS!
JS
jQuery
Git?Ruby
Sass
Wordpress
Bootstrap Command
Line
Binary?!
Wait.
I STILL Don’t know how to build a web app!
JS
jQuery
Git?Ruby
Sass
Wordpress
Bootstrap Command
Line
Binary?!
?
“Programming is awesome if
you like feeling dumb and then
eventually feeling less dumb
but then feeling dumb about
something else pretty soon.”
- @bpoetz
I WILL LEARN
ALL THE THINGS!
You don’t set out to climb a
mountain by building a
helicopter.
You put one foot in front of
the other and you follow
the trail.
You also don’t climb a
mountain by memorizing
the guide book.
You consult the book along
the way.
Don’t wait to start
building your app for
fear of not knowing
enough.
You will learn by
doing.
GO
BUILD
SOMETHING
MOST OF
THE APPS
ON THE
INTERNET
Crap. I don’t
actually know
how computers
work.
RECORDSCRUD APPLICATIONS
C
R
U
D
C
R
U
D
reate
C
R
U
D
reate
ead
C
R
U
D
reate
ead
pdate
C
R
U
D
reate
ead
pdate
estroy
What’s on your mind?
PostCancel
To: Friends
Update Status
Create - Add a New Record
Lydia Guarino
Read - Review a Record
3hrs . Austin, TX
LOOK AT THIS PICTURE OF MY ADORABLE CAT!!!!
Update - Edit a Record
LOOK AT THIS PICTURE
OF MY ADORABLE CAT
TERRIFYING POSSUM
UpdateCancel
To: Friends
Update Status
Destroy - Delete a Record
LOOK AT THIS PICTURE
OF MY ADORABLE CAT
TERRIFYING POSSUM
UpdateCancel
To: Friends
Update Status
Deployed CRUD
Web Application
HTML
CSS
Object Oriented
Programming
JavaScript
MVC Pattern
CRUD Application
Our mountain is three dimensional.
There are many paths to the top.
This is one well-traveled path.
Frameworks
Persistence and Deployment
FRAMEWORKS
Kit
of
SupportingParts
Structure
&
IT’S JUST SOME CODE IN A FILE STRUCTURE
This file structure
makes things MUCH
easier.
Everything in your
application has a
designated place, so it is
easy to find what you are
looking for.
The framework code
relies on this file
structure to do a bunch
of work on
your behalf.
•Package Managers: To manage dependencies
•Directory Structure: To define a place to put your application code
•File Naming Conventions: To help match up related code that works together
•Build System: To compile your application into something the browser can
understand
•JS Linter (jsHint): To help you find and fix syntax and typo errors
•Live reload: To automatically refresh your browser as you edit your code
•Module system: To allow you to only import what you need for the immediate
task and help make your code testable
•ES6 Transpilation: To help future proof your code to work with next
generation syntax
•Generators: To minimize writing repetitive boilerplate for common
components
•Test Framework: To help you make sure your application is working they way
you expect it to and that it continues to work as you edit and refactor it.
•Addon System: To allow you to share or import code that other people have
already built.
“Embering on the Shoulders of Giants” - Jeffrey Biles
Frameworks
skip the
Samework
- Me
And let you focus on the
parts that are unique to
your application
And frameworks use
CONVENTIONS
CONVENTIONS are KEY,
when you are first getting
started.
They’re like guard rails.
If you follow the
conventions, you won’t get
lost or stray too far from
the trail.
It also means you can
LOOK UP how to do
something correctly…
Because the “right
way” is defined and
documented.
And when LOTS of
people use these
conventions,
there are LOTS of
people that can help you
find your way.
Deployed CRUD
Web Application
HTML
CSS
Object Oriented
Programming
JavaScript
MVC Pattern
CRUD Application
Our mountain is three dimensional.
There are many paths to the top.
This is one well-traveled path.
Frameworks
Persistence and Deployment
OOP
OBJECT
Oriented
Programming
A programming paradigm based on
the concept of "objects", which are
data structures that contain data, in the
form of fields, often known as
attributes; and code, in the form of
procedures, often known as methods.
OO programs are comprised of objects
that interact with one another.
Thanks Wikipedia.
Id Size Color Fabric
1 6 Green Cotton
2 8 Yellow Polyester
3 12 Purple Satin
4 4 Red Tweed
Dresses
Dress Class
Dress Instance Dress Instance
Dress Instance Dress Instance
class Dress {
size: 8,
fabric: ‘cotton’,
color: ‘white’,
embellishments: [],
isWashable: computed(‘fabric’),
isDirty: false,
wear: function(){},
clean: function(){},
fold: function(){},
hang: function(){}
}
new Dress({
size: 6,
color: ‘green’,
embellishments: [‘collar’]
})
new Dress({
fabric: ‘polyester’,
color: ‘yellow’,
embellishments: [‘buttons’]
})
new Dress({
size: 12,
fabric: ‘satin’,
color: ‘purple’,
embellishments: [‘stars’]
})
new Dress({
size: 4,
fabric: ‘tweed’,
color: ‘red’,
embellishments: [‘ruffles’]
})
Object Oriented
Programming helps us
reason about our application
as though it was composed
of physical parts.
Deployed CRUD
Web Application
HTML
CSS
Object Oriented
Programming
JavaScript
MVC Pattern
CRUD Application
Our mountain is three dimensional.
There are many paths to the top.
This is one well-traveled path.
Frameworks
Persistence and Deployment
MVC
Model
View
ControllerController
A software
architecture pattern
for building dynamic
user interfaces.
MVC divides your
user-facing application
code into three
interconnected parts:
Models
Views
Controllers
Data
Display
Logistics
Handlers
=
MVC allows us to
separate internal representations
of information from the way that
information is presented to or
accepted from a user.
View
AKA “Template” or “Layout”
The styled HTML
web page the user interacts with
+
placeholders for the
dynamic content
View
MADLIBS Views
person and person went down to the local place to
buy a adjective, adjective thing.
Adverb, they found number adjective things in their
place.
Dynamic placeholder Static context
What do we fill
the dynamic
placeholders
with?
Model
Data from a
What’s a
model?
{
id: 1,
size: 6,
fabric: ‘cotton’,
color: ‘green’,
embellishments: [‘collar’],
isWashable: true,
isDirty: false,
wear: function(){},
clean: function(){},
fold: function(){},
hang: function(){}
}
A model is an object or a collection of objects.
*We are in Javascript Framework Land now. Other types of frameworks implement this concept differently.
{
id: 1,
madLibber: “Jeremy”,
personOne: “Ryan Gosling”,
personTwo: “Oprah”,
place: “bedroom”,
adjectiveOne: “flat”,
adjectiveTwo: “orange”,
thing: “thing”,
adverb: “readily”,
number: 4,
adjectiveThree: “boxed”,
things: “slices”
}
*We are in Javascript Framework Land now. Other Frameworks may implement this concept differently.
JEREMY’S MADLIB Views
Ryan Gosling and Oprah went down to the local
bedroom to buy a flat, orange thing.
Readily, they found 4 boxed slices in their place.
Controller
The communication and
translation layer between the
model and the view is called the
Model
Controller View
View
Model
Controller
Controller View
Model
Controller View
Model
View
Save
Cancel
Model
Controller
View
ROUTE
Model
Controller
ROUTER
DATA STORE
Deployed CRUD
Web Application
HTML
CSS
Object Oriented
Programming
JavaScript
MVC Pattern
CRUD Application
Our mountain is three dimensional.
There are many paths to the top.
This is one well-traveled path.
Frameworks
Persistence and Deployment
Save
ROUTE: colors / new
View
Cancel
HEXCODE
COLOR NAME
Back to Palette
CREATE
ROUTE: colors / index
View Add a Color
READ
teasdsdfsdf
#FF3333
Update
ROUTE: colors / 3
View
Cancel
Bright Red
Delete Color
Back to Palette
UPDATE
Save
ROUTE: colors / new
View
Cancel
HEXCODE
COLOR NAME
Back to Palette
CREATE
Inputs
Buttons
Preview
Link
{{#link-to ‘colors.index’}}
Back to Palette
{{/link-to}}
{{input type=‘text’ value=hexcode placeholder=“HEXCODE”}}
Back to Palette
<button {{action ‘create’}}>Save</button>
HEXCODE
Save
<div class=“preview” style=“background-color: {{hexcode}}”>
</div>
{
hexcode: null,
name: null
}
Model
{
hexcode: null,
name: null
}
Model
We haven’t created a new color yet,
so we don’t have a model.
This view is used to CREATE models.
Model Controller
Controller actions: {
create: function(){
//make a new color
},
cancel: function(){
//clear the form
},
}
{
hexcode: null,
name: null,
actions: {}
}
ROUTE: colors / index
View Add a Color
READ
ROUTE: colors / index
View Add a Color
READ
A list of all the colors
with previews
Link
Link to
individual
color
{{#link-to ‘colors.new’}}Add a Color{{/link-to}}
{{#each model as |color|}}
{{#link-to ‘colors.edit’ color}}
<div class=“color” style={{magic}}></div>
{{/link-to}}
{{/each}}
Add a Color
[{color}, {color}, {color}, {color}]
Model
Controller
actions: {}
teasdsdfsdf
#FF3333
Update
ROUTE: colors / 3
View
Cancel
Bright Red
Delete Color
Back to Palette
UPDATE
{
id: 3,
hexcode: #FF333,
name: “Bright Red”
}
Model
Controller
actions: {
update: function(){},
cancel: function(){},
destroy: function(){}
}
The Application
INTERMISSION
WINDOWS
DISCLAIMER
Templating and Markup:
Styling:
Primary Language:
Framework:
Data Adapter Library:
Data Persistence Addon:
Package Managers:
Version Control:
Deployment:
Our Toolkit
HTML5 + HTMLbars
CSS3
Javascript
Ember JS + Ember CLI
Ember Data
Ember Fire + Firebase
NPM + Bower
Git
PageFrontHQ
Lydia, what is the
WIFI Password?!
If you get stuck,
ask a neighbor
what they tried or
work together.
I’ve done this
MANY times
and I still get stuck
or need to look
stuff up.
I might even get
stuck trying to
help you get
UN-stuck.
You are NOT
expected to know
how ANY this
works yet.
You might not
even have the
right words to ask
a question.
That is TOTALLY
fine.
We will all work
together to find
the right words.
But first, some Yak
Shaving.
*Yak Shaving: All the work we
have to do before we can
actually start working. Yes, this IS
a Ren and Stimpy reference.
We need to install
a few things:
1. npm package manager
2. ember command line interface
3. bower package manager
Open your terminal
and type:
npm
Press Enter
Making sure you have node installed
Step 1 of 6
If you get something
like:
command not found: npm
You need to download and install a
recent version of Node from nodejs.org
Making sure you have node installed
Step 1 of 6
nodejs.org
If you got something
that starts with this:
Usage: npm <command>
Congrats! You’re ready to install
Ember CLI.
Making sure you have node installed
Step 1 of 6
ember-cli.com
Type this in your terminal to
globally install Ember CLI:
Installing Ember CLI
Step 2 of 6
npm install -g ember-cli
Grab a drink or high five a friend.
This may take a moment.
bower.io
Type this in your terminal to
globally install Bower:
Installing the Bower Package Manager
Step 3 of 6
npm install -g bower
Half Yak
Just a little more
shaving and this
Yak will be looking
pretty dapper.
Let’s set up our
application!
4. Create a new Ember CLI Project
5. Install and configure EmberFire
6. Install Ember Inspector
We’re going to put our
ember app directory
(folder) in Desktop for now.
Let’s go there now:
cd ~/Desktop
ember-cli.com/user-guideCreating a new App
Step 4 of 6
We’re ready to use Ember
CLI to create our
Color Palette app:
ember new color-palette
Step 4 of 6
ember-cli.com/user-guideCreating a new App
installing app
create .bowerrc
create .editorconfig
create .ember-cli
create .jshintrc
create .travis.yml
create .watchmanconfig
create README.md
create app/app.js
create app/components/.gitkeep
create app/controllers/.gitkeep
create app/helpers/.gitkeep
create app/index.html
create app/models/.gitkeep
create app/router.js
create app/routes/.gitkeep
create app/styles/app.css
create app/templates/
create app/templates/components/
create bower.json
create config/environment.js
create ember-cli-build.js
create .gitignore
create package.json
create public/crossdomain.xml
create public/robots.txt
create testem.json
create tests/.jshintrc
create tests/helpers/resolver.js
create tests/helpers/start-app.js
create tests/index.html
create tests/test-helper.js
create tests/unit/.gitkeep
create vendor/.gitkeep
Installed packages for tooling via npm.
Installed browser packages via Bower.
Successfully initialized git.
THIS is why we use frameworks.
Step 4 of 6
Creating a new App ember new color-palette
create app/router.js
create app/routes/
create app/models/
create app/templates/
create app/controllers/
create app/styles/
And Look! Some familiar faces!
Step 4 of 6
Creating a new App ember new color-palette
Now we need to hop from
Desktop into our new project:
cd color-palette
Step 4 of 6
ember-cli.com/user-guideCreating a new App
Our app needs a place to
SAVE or PERSIST the data
RECORDS we create.
We are going to use a
Platform for this called
Firebase.
https://www.firebase.com/docs/
We are using Firebase
INSTEAD of building a
customized backend API.
https://www.firebase.com/docs/
We’re all going to be
using the SAME database
that I previously set up.
https://www.firebase.com/docs/
For your next project, you
will need to set up your
own Firebase account or
try your hand at writing
some back end code.
https://www.firebase.com/docs/
Step 5 of 6
Setting up Ember Fire
To set up Firebase, make sure
you are in your color-palette
directory and then run:
ember install emberfire
https://github.com/firebase/emberfire
https://www.firebase.com/docs/
We will need to edit the
following file:
color-palette/config/environment.js
Open this file in a text editor.
Step 5 of 6
Setting up Ember Fire https://github.com/firebase/emberfire
https://www.firebase.com/docs/
Change line 8 from this:
firebase: 'https://YOUR-FIREBASE-NAME.firebaseio.com/',
to this:
Step 5 of 6
Setting up Ember Fire https://github.com/firebase/emberfire
https://www.firebase.com/docs/
firebase: 'https://color-palette.firebaseio.com/',
Save and Close the file.
In Chrome,Google:
Ember Inspector Chrome
Installing Chrome Ember
Inspector Plugin:
Step 6 of 6
Last Yak
Let’s fire this baby up!
ember server
Open Chrome and go to:
localhost:4200
EVERYONE
CELEBRATE!
Welcome to Ember
localhost:4200
THIS YAK HAS BEEN
SHAVED IN 6 STEPS!
Time for a break.
ROUTE: colors / index
View Add a Color
READ
Save
ROUTE: colors / new
View
Cancel
HEXCODE
COLOR NAME
Back to Palette
CREATE
teasdsdfsdf
#FF3333
Update
ROUTE: colors / 3
View
Cancel
Bright Red
Delete Color
Back to Palette
UPDATE
We need some routes:
ember generate route ‘colors’
ember g route ‘colors/index’
ember g route ‘colors/new’
ember g route ‘colors/edit’
We will automatically get templates when we
generate our routes
{
hexcode: null,
name: null
}
Model
We need to define what a color
model looks like:
ember g model ‘color’
We will need controllers for each of
our routes:
ember g controller ‘colors/index’
ember g controller ‘colors/new’
ember g controller ‘colors/edit’
Our application
code lives in the
directory called
‘app’.
Now that we have
generated all of the
entities we need for
our application, our
directory tree should
look like this:
Controllers
Model
Routes
CSS
Views
We’re ready to write
some code!
Open the ‘app’ directory
in your text editor.
Let’s start by adding some CSS to style the views we’ll be
working with:
We’ll copy/paste the css from:
https://github.com/
lydiaguarino/color-palette/
commits/master

More Related Content

Viewers also liked

Indhigas Teeruwa
Indhigas TeeruwaIndhigas Teeruwa
Indhigas TeeruwaM Deen
 
Current CV of Kaustav
Current CV of KaustavCurrent CV of Kaustav
Current CV of KaustavKaustav ghosh
 
Євдокимова Ж. О
Євдокимова Ж. ОЄвдокимова Ж. О
Євдокимова Ж. ОSchoolno1Kovel
 
1bach 1314 iesarroyoharnina
1bach 1314 iesarroyoharnina1bach 1314 iesarroyoharnina
1bach 1314 iesarroyoharninaSanti Velayos
 
Viaje Con Mis Amigas
Viaje Con Mis AmigasViaje Con Mis Amigas
Viaje Con Mis Amigasgrizoe
 
Entre campos de cereal
Entre campos de cerealEntre campos de cereal
Entre campos de cerealMaría Sanfe
 
WRC 18th Anniversary Pepsi can
WRC 18th Anniversary Pepsi canWRC 18th Anniversary Pepsi can
WRC 18th Anniversary Pepsi canJonathan Jackson
 
Presentación2
Presentación2Presentación2
Presentación2nada5555
 
Curso de Sistemas Operativos - Unidad Procesos e Hilos
Curso de Sistemas Operativos - Unidad Procesos e HilosCurso de Sistemas Operativos - Unidad Procesos e Hilos
Curso de Sistemas Operativos - Unidad Procesos e HilosJuan Rafael Alvarez Correa
 
Anne Gregory, Ph.D. - “Engaging Students in Problem-Solving: A Civil Rights R...
Anne Gregory, Ph.D. - “Engaging Students in Problem-Solving: A Civil Rights R...Anne Gregory, Ph.D. - “Engaging Students in Problem-Solving: A Civil Rights R...
Anne Gregory, Ph.D. - “Engaging Students in Problem-Solving: A Civil Rights R...youth_nex
 

Viewers also liked (16)

Indhigas Teeruwa
Indhigas TeeruwaIndhigas Teeruwa
Indhigas Teeruwa
 
Objetivo general
Objetivo generalObjetivo general
Objetivo general
 
Current CV of Kaustav
Current CV of KaustavCurrent CV of Kaustav
Current CV of Kaustav
 
Євдокимова Ж. О
Євдокимова Ж. ОЄвдокимова Ж. О
Євдокимова Ж. О
 
Afiche formacion docente
Afiche   formacion docenteAfiche   formacion docente
Afiche formacion docente
 
1bach 1314 iesarroyoharnina
1bach 1314 iesarroyoharnina1bach 1314 iesarroyoharnina
1bach 1314 iesarroyoharnina
 
Factoresfunciones tema 1
Factoresfunciones tema 1Factoresfunciones tema 1
Factoresfunciones tema 1
 
Viaje Con Mis Amigas
Viaje Con Mis AmigasViaje Con Mis Amigas
Viaje Con Mis Amigas
 
Entre campos de cereal
Entre campos de cerealEntre campos de cereal
Entre campos de cereal
 
Lacarcarsa
LacarcarsaLacarcarsa
Lacarcarsa
 
WRC 18th Anniversary Pepsi can
WRC 18th Anniversary Pepsi canWRC 18th Anniversary Pepsi can
WRC 18th Anniversary Pepsi can
 
Presentación2
Presentación2Presentación2
Presentación2
 
proposal date palm final
proposal date palm finalproposal date palm final
proposal date palm final
 
Content marketing 2015
Content marketing 2015Content marketing 2015
Content marketing 2015
 
Curso de Sistemas Operativos - Unidad Procesos e Hilos
Curso de Sistemas Operativos - Unidad Procesos e HilosCurso de Sistemas Operativos - Unidad Procesos e Hilos
Curso de Sistemas Operativos - Unidad Procesos e Hilos
 
Anne Gregory, Ph.D. - “Engaging Students in Problem-Solving: A Civil Rights R...
Anne Gregory, Ph.D. - “Engaging Students in Problem-Solving: A Civil Rights R...Anne Gregory, Ph.D. - “Engaging Students in Problem-Solving: A Civil Rights R...
Anne Gregory, Ph.D. - “Engaging Students in Problem-Solving: A Civil Rights R...
 

Similar to How do I Even Web App

2.1 Web Dev Syllabus.pdf.pdf
2.1 Web Dev Syllabus.pdf.pdf2.1 Web Dev Syllabus.pdf.pdf
2.1 Web Dev Syllabus.pdf.pdfBdBangladesh
 
ASP.NET MVC 5 Building Your First Web Application (A Beginner S Guide
ASP.NET MVC 5  Building Your First Web Application (A Beginner S GuideASP.NET MVC 5  Building Your First Web Application (A Beginner S Guide
ASP.NET MVC 5 Building Your First Web Application (A Beginner S GuideAlicia Buske
 
Progressive Web App Challenges
Progressive Web App ChallengesProgressive Web App Challenges
Progressive Web App ChallengesJason Grigsby
 
How the BBC Make Web sites
How the BBC Make Web sitesHow the BBC Make Web sites
How the BBC Make Web sitesIWMW
 
How we make websites (IWMW2009)
How we make websites (IWMW2009)How we make websites (IWMW2009)
How we make websites (IWMW2009)fantasticlife
 
Intro to BackboneJS + Intermediate Javascript
Intro to BackboneJS + Intermediate JavascriptIntro to BackboneJS + Intermediate Javascript
Intro to BackboneJS + Intermediate JavascriptAndrew Lovett-Barron
 
Designing Powerful Web Applications Using AJAX and Other RIAs
Designing Powerful Web Applications Using AJAX and Other RIAsDesigning Powerful Web Applications Using AJAX and Other RIAs
Designing Powerful Web Applications Using AJAX and Other RIAsDave Malouf
 
Having Fun Building Web Applications (Day 1 Slides)
Having Fun Building Web Applications (Day 1 Slides)Having Fun Building Web Applications (Day 1 Slides)
Having Fun Building Web Applications (Day 1 Slides)Clarence Ngoh
 
Web crawler with seo analysis
Web crawler with seo analysis Web crawler with seo analysis
Web crawler with seo analysis Vikram Parmar
 
How We Make Websites
How We Make WebsitesHow We Make Websites
How We Make Websitesfantasticlife
 
Design patterns
Design patternsDesign patterns
Design patternsnisheesh
 
Is everything we used to do wrong?
Is everything we used to do wrong?Is everything we used to do wrong?
Is everything we used to do wrong?Russ Weakley
 
From Website To Webapp Shane Morris
From Website To Webapp   Shane MorrisFrom Website To Webapp   Shane Morris
From Website To Webapp Shane MorrisShane Morris
 
SharePoint Mobile App Development with Xmarin
SharePoint Mobile App Development with XmarinSharePoint Mobile App Development with Xmarin
SharePoint Mobile App Development with XmarinHector Luciano Jr
 
Improve your Tech Quotient
Improve your Tech QuotientImprove your Tech Quotient
Improve your Tech QuotientTarence DSouza
 
The State of Front-end At CrowdTwist
The State of Front-end At CrowdTwistThe State of Front-end At CrowdTwist
The State of Front-end At CrowdTwistMark Fayngersh
 
IWMW 2008 Mashup Workshop
IWMW 2008 Mashup WorkshopIWMW 2008 Mashup Workshop
IWMW 2008 Mashup WorkshopMike Ellis
 
Douglas Crockford - Ajax Security
Douglas Crockford - Ajax SecurityDouglas Crockford - Ajax Security
Douglas Crockford - Ajax SecurityWeb Directions
 

Similar to How do I Even Web App (20)

2.1 Web Dev Syllabus.pdf.pdf
2.1 Web Dev Syllabus.pdf.pdf2.1 Web Dev Syllabus.pdf.pdf
2.1 Web Dev Syllabus.pdf.pdf
 
Web dev syllabus
Web dev syllabusWeb dev syllabus
Web dev syllabus
 
Web+Dev+Syllabus.pdf
Web+Dev+Syllabus.pdfWeb+Dev+Syllabus.pdf
Web+Dev+Syllabus.pdf
 
ASP.NET MVC 5 Building Your First Web Application (A Beginner S Guide
ASP.NET MVC 5  Building Your First Web Application (A Beginner S GuideASP.NET MVC 5  Building Your First Web Application (A Beginner S Guide
ASP.NET MVC 5 Building Your First Web Application (A Beginner S Guide
 
Progressive Web App Challenges
Progressive Web App ChallengesProgressive Web App Challenges
Progressive Web App Challenges
 
How the BBC Make Web sites
How the BBC Make Web sitesHow the BBC Make Web sites
How the BBC Make Web sites
 
How we make websites (IWMW2009)
How we make websites (IWMW2009)How we make websites (IWMW2009)
How we make websites (IWMW2009)
 
Intro to BackboneJS + Intermediate Javascript
Intro to BackboneJS + Intermediate JavascriptIntro to BackboneJS + Intermediate Javascript
Intro to BackboneJS + Intermediate Javascript
 
Designing Powerful Web Applications Using AJAX and Other RIAs
Designing Powerful Web Applications Using AJAX and Other RIAsDesigning Powerful Web Applications Using AJAX and Other RIAs
Designing Powerful Web Applications Using AJAX and Other RIAs
 
Having Fun Building Web Applications (Day 1 Slides)
Having Fun Building Web Applications (Day 1 Slides)Having Fun Building Web Applications (Day 1 Slides)
Having Fun Building Web Applications (Day 1 Slides)
 
Web crawler with seo analysis
Web crawler with seo analysis Web crawler with seo analysis
Web crawler with seo analysis
 
How We Make Websites
How We Make WebsitesHow We Make Websites
How We Make Websites
 
Design patterns
Design patternsDesign patterns
Design patterns
 
Is everything we used to do wrong?
Is everything we used to do wrong?Is everything we used to do wrong?
Is everything we used to do wrong?
 
From Website To Webapp Shane Morris
From Website To Webapp   Shane MorrisFrom Website To Webapp   Shane Morris
From Website To Webapp Shane Morris
 
SharePoint Mobile App Development with Xmarin
SharePoint Mobile App Development with XmarinSharePoint Mobile App Development with Xmarin
SharePoint Mobile App Development with Xmarin
 
Improve your Tech Quotient
Improve your Tech QuotientImprove your Tech Quotient
Improve your Tech Quotient
 
The State of Front-end At CrowdTwist
The State of Front-end At CrowdTwistThe State of Front-end At CrowdTwist
The State of Front-end At CrowdTwist
 
IWMW 2008 Mashup Workshop
IWMW 2008 Mashup WorkshopIWMW 2008 Mashup Workshop
IWMW 2008 Mashup Workshop
 
Douglas Crockford - Ajax Security
Douglas Crockford - Ajax SecurityDouglas Crockford - Ajax Security
Douglas Crockford - Ajax Security
 

Recently uploaded

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 

Recently uploaded (20)

🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 

How do I Even Web App