web development at live: frontend software intro + trade-offs, react, angular

21
Web Development @ Live Jan 22 2016 Amy Hua

Upload: amy-hua

Post on 21-Mar-2017

473 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Web development at Live: Frontend Software Intro + Trade-offs, React, Angular

Web Development @ LiveJan 22 2016Amy Hua

Page 2: Web development at Live: Frontend Software Intro + Trade-offs, React, Angular

What does frontend software development involve?

What engineering trade-offs do we face?

What is React? What is Angular?

What are the strengths and weaknesses of using React (over Angular)?

Page 3: Web development at Live: Frontend Software Intro + Trade-offs, React, Angular

Responsible for a website’s user-facing code (what you see) and user experience architecture.

Front end development

Page 4: Web development at Live: Frontend Software Intro + Trade-offs, React, Angular

User-facing end components

Content

Appearance

Behavior

Front end development

Page 5: Web development at Live: Frontend Software Intro + Trade-offs, React, Angular

Languages

HTML Markup Content <p>Hi</p>

CSS Styles Appearance p { color: red; }

Javascript Behavior

document.getElementsByTagName('p')

Front end development

Page 6: Web development at Live: Frontend Software Intro + Trade-offs, React, Angular

Front end developmentda dom dom DOM (Document Object Model)

Page 7: Web development at Live: Frontend Software Intro + Trade-offs, React, Angular

Charged with normalizing the user experience across user differences.

Development has to account for differences across:

browsersdevicesscreen sizes and orientationsresolutionszoom levels

Front end development

July 2014

SitePoint

Page 8: Web development at Live: Frontend Software Intro + Trade-offs, React, Angular

The powers and demands of the user experience are always increasing (quickly).

Users expect the experience to be Instantaneous < 150 milliseconds

Robust “this should just work”

Rich

Front end development

chromeexperiments.com

archive.org

Page 9: Web development at Live: Frontend Software Intro + Trade-offs, React, Angular

Open source community has exploded with plug-n-play components and frameworks to ease the demands of rapid and sophisticated web development

Front end development

No right way

Rapidly changing

Trends come and go

Page 10: Web development at Live: Frontend Software Intro + Trade-offs, React, Angular

The powers and demands of the user experience are always increasing (quickly).

Users expect the experience to be simple, fast, and easy

To developers

Front end development

Page 11: Web development at Live: Frontend Software Intro + Trade-offs, React, Angular

The powers and demands of the user experience are always increasing (quickly).

Users expect the experience to be simple, fast, and easy

To users

Front end development

Page 12: Web development at Live: Frontend Software Intro + Trade-offs, React, Angular

What does frontend software development involve?

What engineering trade-offs do we face?

What is React? What is Angular?

What are the strengths and weaknesses of using React (over Angular)?

Page 13: Web development at Live: Frontend Software Intro + Trade-offs, React, Angular

Development SpeedStability

Page 14: Web development at Live: Frontend Software Intro + Trade-offs, React, Angular

Rich Feature SetPerformance

Page 15: Web development at Live: Frontend Software Intro + Trade-offs, React, Angular

UniqueStock

Page 16: Web development at Live: Frontend Software Intro + Trade-offs, React, Angular

Bleeding Edge FeaturesBrowser Support

caniuse.com

Page 17: Web development at Live: Frontend Software Intro + Trade-offs, React, Angular

PerformanceEase of Development

Page 18: Web development at Live: Frontend Software Intro + Trade-offs, React, Angular

What does frontend software development involve?

What engineering trade-offs do we face?

What is React? What is Angular?

What are the strengths and weaknesses of using React (over Angular)?

Page 19: Web development at Live: Frontend Software Intro + Trade-offs, React, Angular

ReactLibrary for producing HTML. Provides the “view” layer.

Early (~1 year)

1-way data binding (with flux)

Custom modules for reusable components

Unopinionated about how you manage your data

View is updated ONCE through a diff of the Document model (“reconciliation”)

Backed by Facebook

Angular (1.x)Library for managing frontend data models and controllers and the view layer.

Fairly mature (~3 years) and well-adopted

Two-way data bindings

Custom modules for reusable components

View is updated via data digest cycles, listening on data bindings

Angular 2.x is a complete rewrite

Backed by Google

Frontend Frameworks

Page 20: Web development at Live: Frontend Software Intro + Trade-offs, React, Angular

React

Page 21: Web development at Live: Frontend Software Intro + Trade-offs, React, Angular

Learn

CodeSchool.com

CodeAcademy.com

edX | Harvard CS50