doing modern web, aka javascript and html5 in the enterprise

40
Doing Modern Web, aka JavaScript and HTML5 In The Enterprise Chris Love @ChrisLove ProfessionalASPNET.com

Post on 18-Oct-2014

1.883 views

Category:

Technology


1 download

DESCRIPTION

Some Practices and Principles to help get enterprises on the right track building modern web applications.

TRANSCRIPT

Page 1: Doing Modern Web, aka JavaScript and HTML5 in the Enterprise

Doing Modern Web, aka JavaScript and HTML5 In The Enterprise

Chris Love

@ChrisLove

ProfessionalASPNET.com

Page 2: Doing Modern Web, aka JavaScript and HTML5 in the Enterprise

Who Am I?

ASP.NET MVP

ASP Insider

Internet Explorer User Agent

Author

Speaker

Tweaker, Lover of Mobile Web, JavaScript, CSS &

HTML5

Page 3: Doing Modern Web, aka JavaScript and HTML5 in the Enterprise

Podcast Interviews

The Tablet ShowChris Love Talks Surface Pro, Mobile Development and Morehttp://thetabletshow.com/?ShowNum=80

Chris Love Does Enterprise Mobilityhttp://thetabletshow.com/?ShowNum=22

Deep Fried BytesMobile Web Is Not What The Other Guys Say It Ishttp

://deepfriedbytes.com/podcast/episode-74-mobile-web-is-not-what-the-other-guys-say-it-is/

Technology & FriendsTalking About Touch & Mobile Web http://bit.ly/12IduAd

Page 4: Doing Modern Web, aka JavaScript and HTML5 in the Enterprise

JavaScript Libraries

DeepTissueJS – A Touch Gesture Abstraction Libraryhttp://deeptissuejs.com

PanoramaJS – JavaScript Library to Implement The Windows Phone Panorama Control in HTML5https://github.com/docluv/panoramajs

ToolbarJS – JavaScript Library to Implement a Mobile AppBar, like Windows Phonehttp://toolbarjs.com

Coming Soon!SPA – Single Page Application Router, View ManagerBackpack – Markup Manager leveraging LocalStorageFannyPack – Markup Manager leveraging on page markup??????

Page 5: Doing Modern Web, aka JavaScript and HTML5 in the Enterprise

Resources

Slide Deck – http://www.slideshare.net/docluv <- Only

URL U Need!

Source Code – Coming Soon!

Live Site - Coming Soon!

Page 6: Doing Modern Web, aka JavaScript and HTML5 in the Enterprise

The Enterprise is a radically different world from a startup, small, consumer web development shop. 

Page 7: Doing Modern Web, aka JavaScript and HTML5 in the Enterprise

Enterprises - Tend to focus on .NET

Page 8: Doing Modern Web, aka JavaScript and HTML5 in the Enterprise

Non-Enterprises - Tend to focus on NodeJs, Ruby, PHP and a few other server-side platforms

Page 9: Doing Modern Web, aka JavaScript and HTML5 in the Enterprise

Enterprises - Have large and ‘small’ teams

Page 10: Doing Modern Web, aka JavaScript and HTML5 in the Enterprise

Non-Enterprises - Have Small teams

Page 11: Doing Modern Web, aka JavaScript and HTML5 in the Enterprise

Enterprises - Have DBAs

Page 12: Doing Modern Web, aka JavaScript and HTML5 in the Enterprise

Non-Enterprises - Use NoSQL

Page 13: Doing Modern Web, aka JavaScript and HTML5 in the Enterprise

Enterprises - Get Paid Real Salaries

Page 14: Doing Modern Web, aka JavaScript and HTML5 in the Enterprise

Non-Enterprises – Get Lots Of Free Pizza

Page 15: Doing Modern Web, aka JavaScript and HTML5 in the Enterprise

In Short -Enterprises Need Help!

Page 16: Doing Modern Web, aka JavaScript and HTML5 in the Enterprise

Where Should They Start

Page 17: Doing Modern Web, aka JavaScript and HTML5 in the Enterprise

What a Modern Web App Is

 (API + HTML5 + CSS3 + JavaScript + Standards Compliant Browser) *

(Touch + Mobility) === Great Single Page Application

Page 18: Doing Modern Web, aka JavaScript and HTML5 in the Enterprise

What is the API?

The window to and from your dataCan be Restful, but more importantly should use JSONCan be hosted internally or in the cloud

As the web guy I could care less what lies behind the API, just give me the JSON baby

Page 19: Doing Modern Web, aka JavaScript and HTML5 in the Enterprise

What is HTML5?

Natural progression of HTML that is a living breathing specification that defines how developers can confidently create modern web sites with structured markup, CSS and JavaScript

Page 20: Doing Modern Web, aka JavaScript and HTML5 in the Enterprise

What is CSS3?

Natural progression of CSS that is a living breathing specification that defines what developers can use to control the rendering, animations and other really cool things with their HTML elements.

Page 21: Doing Modern Web, aka JavaScript and HTML5 in the Enterprise

What is JavaScript?

It is not C# or Java so stop writing it that way!It is a protypical, very dynamic languageProvides a rich way to drive great user experiences in the browser and now do cool things on the server

Page 22: Doing Modern Web, aka JavaScript and HTML5 in the Enterprise

Oh No!! Not JavaScript!!

Page 23: Doing Modern Web, aka JavaScript and HTML5 in the Enterprise

What is a SPA?

Single Page AppHas 1 to many viewsHeavy JavaScript

Page 24: Doing Modern Web, aka JavaScript and HTML5 in the Enterprise

Enterprise Developers Really Do Not Understand JavaScript

Page 25: Doing Modern Web, aka JavaScript and HTML5 in the Enterprise

Enterprise Quality Applications Should Be

MaintainableScalableTestableDeployableHave Tangible ROI

Page 26: Doing Modern Web, aka JavaScript and HTML5 in the Enterprise

Enterprise Quality Applcations Should Be

MaintainableScalableTestableDeployableHave Tangible ROI

Page 27: Doing Modern Web, aka JavaScript and HTML5 in the Enterprise

Of Course All Enterprise Applications Meet Those Criteria....

Page 28: Doing Modern Web, aka JavaScript and HTML5 in the Enterprise

Enterprise Quality Applications Should Be

MaintainableScalableTestableDeployableHave Tangible ROI

Page 29: Doing Modern Web, aka JavaScript and HTML5 in the Enterprise

What is Maintainable JavaScript?

DecoupledExtensibleStructured

Page 30: Doing Modern Web, aka JavaScript and HTML5 in the Enterprise

What is Scalable JavaScript?

Can handle large and small loads effectivelyGreat Performance

Page 31: Doing Modern Web, aka JavaScript and HTML5 in the Enterprise

What is Testable JavaScript?

Small Testable Units of WorkBe Able to Be AutomatedEasy to Understand Libraries

Page 32: Doing Modern Web, aka JavaScript and HTML5 in the Enterprise

What is Deployable JavaScript?

Continuous BuildAuto DeploymentAuto Testing (yes those pesky unit tests)

Page 33: Doing Modern Web, aka JavaScript and HTML5 in the Enterprise

What is Tangible JavaScript?

Easy to MaintainReduced BugsLow Barrier to Entry for Future Devs

Page 34: Doing Modern Web, aka JavaScript and HTML5 in the Enterprise

Sounds Great, but Isn't that What Everyone Already Does?

Page 35: Doing Modern Web, aka JavaScript and HTML5 in the Enterprise

Seriously Have You Ever Worked in An Enterprise?

Page 36: Doing Modern Web, aka JavaScript and HTML5 in the Enterprise

What Does the Modern Enterprise Web App Topology look like?

Data

API

Browser/AJAX Layer

Page 37: Doing Modern Web, aka JavaScript and HTML5 in the Enterprise

What does the AJAX Layer Look Like?

HTML

CSS

JavaScript

Page 38: Doing Modern Web, aka JavaScript and HTML5 in the Enterprise

Enterprise JavaScript Apps Need to Be Modular

Do Not Use the Global NamespaceUse a Module

JavaScript Object – {}Anonymous MethodsMake it ExtensibleThink Like jQuery

Page 39: Doing Modern Web, aka JavaScript and HTML5 in the Enterprise

So How Do You Manage A JavaScript App?

Project Structure‘Compiling’TestingBundling & Minification

Build System

I Like GruntJs

Page 40: Doing Modern Web, aka JavaScript and HTML5 in the Enterprise

Demo Time!