Top Banner
Ultra-modern web development (for .NET developers) @pseale https://github.com/pseale/presentation-modern-dotnet-webdev/
44

Ultra-modern web development (for.NET developers) @pseale

Jan 02, 2016

Download

Documents

Milton Warner
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Ultra-modern web development (for.NET developers) @pseale

Ultra-modernweb development

(for .NET developers)

@psealehttps://github.com/pseale/presentation-modern-dotnet-webdev/

Page 2: Ultra-modern web development (for.NET developers) @pseale

What you should know about me:

I bring context

Page 3: Ultra-modern web development (for.NET developers) @pseale

“I may be the only author who has written more

books than he has read” –Garth Marenghi,

author

Page 4: Ultra-modern web development (for.NET developers) @pseale

Ultra-Modern, Cutting Edge Web Development Demo

Page 5: Ultra-modern web development (for.NET developers) @pseale

Goal: Show you what you can use

Page 6: Ultra-modern web development (for.NET developers) @pseale

Goal: Show you how easy this stuff is

Page 7: Ultra-modern web development (for.NET developers) @pseale

Goal: Show you how much better the JavaScript

experience is nowadays

Page 8: Ultra-modern web development (for.NET developers) @pseale

Goal: Show you React.js

Page 9: Ultra-modern web development (for.NET developers) @pseale

Goal: Show you the fads and trends

Page 10: Ultra-modern web development (for.NET developers) @pseale

Demo: ultra-stable web development in .NET

Page 11: Ultra-modern web development (for.NET developers) @pseale

Classic web development, in review:

It’s simpleIt’s stableIt’s fast*

Ɵ We’ll talk about the negatives later

Page 12: Ultra-modern web development (for.NET developers) @pseale

Takeaway: if you don’t need AJAX, don’t*

Page 13: Ultra-modern web development (for.NET developers) @pseale

Demo: jQuery-era web development (~2006-

present)

Page 14: Ultra-modern web development (for.NET developers) @pseale

jQuery-era web development, in review: Vast improvement over

raw JavaScript (IE5-era) Fast*

Ɵ bad* for complex UIƟ User experience is bad*

Page 15: Ultra-modern web development (for.NET developers) @pseale

Let’s start the talk

Page 16: Ultra-modern web development (for.NET developers) @pseale

Demo: split into a frontend and a backend

Page 17: Ultra-modern web development (for.NET developers) @pseale

Emphasis: an army of tooling works with HTML,

JavaScript and CSS

Page 18: Ultra-modern web development (for.NET developers) @pseale

Aside: Defining the term “full stack developer”

Page 19: Ultra-modern web development (for.NET developers) @pseale

Full stack development:

Designers and frontend engineers can now participate in development*

The web’s huge ecosystem is now ours—this means more of everything

Page 20: Ultra-modern web development (for.NET developers) @pseale

Demo: adopt the newest JavaScript

Page 21: Ultra-modern web development (for.NET developers) @pseale

Newest JavaScript:

Has new, C#-alike syntax which is particularly good for C# developers

Ɵ don’t use the “class” keyword*

Page 22: Ultra-modern web development (for.NET developers) @pseale

Demo: add a build system for the frontend

Page 23: Ultra-modern web development (for.NET developers) @pseale

Building your frontend assets:

Enables you to apply quality control via ESHint, “use strict”, unit tests

Enables transpiling, minifying and packing of assets,

Composability (treat build steps as LEGO™ blocks)

Page 24: Ultra-modern web development (for.NET developers) @pseale

Demo: React.js

Page 25: Ultra-modern web development (for.NET developers) @pseale

React.js:

Small learning surface (comparable to Knockout.js)

Fast So hot right now* One-way databinding plus Flux

is a “pit of success” for complex apps

Ɵ still in the hype cycle

Page 26: Ultra-modern web development (for.NET developers) @pseale

Final demo: Server-side JavaScript rendering

Page 27: Ultra-modern web development (for.NET developers) @pseale

Server-side JavaScript rendering:

Fast* Fast* SEO-friendly No need to manually

harmonize Razor views with client-side JavaScript templates

Even easier in the future*

Ɵ Which JavaScript runs on the server, and which runs on the client?*

Ɵ I’m afraid to use this in production at work*

Page 28: Ultra-modern web development (for.NET developers) @pseale

“Ultra-modern” versus “Ultra-stable”:

Just as easy* As fast on the page load Faster (AJAX vs postbacks) Enables your frontend

engineers and designers

Ɵ Not as easy*Ɵ The JavaScript community*

Page 29: Ultra-modern web development (for.NET developers) @pseale

Summary: Tools (Page 1 of 2)

•Babel.js for ES6 (ES2015)•React.js from Facebook, • + Redux, the hottest Flux framework*•Gulp.js for build• ESHint and “use strict”; for code quality•Node.js/npm for compiling the frontend• JSPM for browser modules

Page 30: Ultra-modern web development (for.NET developers) @pseale

Summary: Tools (Page 2 of 2)

• Every text editor, IDE, browser dev tool, and all the available training for HTML, JavaScript and CSS•PhantomJS for server-side JavaScript rendering

Page 31: Ultra-modern web development (for.NET developers) @pseale

Summary: Concepts• AJAX-style web development is easy now*• Free your HTML from ASP.NET’s bitter grasp*• Emphasis: don’t blindly accept the ASP.NET default template• Server-side is boring (stable)*• React, Ember, Aurelia, Angular – choose one• Decide whether to bet on TypeScript or not

• If yes, use Aurelia or Angular 2• If no, use “vanilla JavaScript” solutions such as React or Ember

• Think about what the emergence of “full stack developers” means• Specialized, high-quality frontend stack developers• You will have to learn this stuff to remain a “full stack” developer

• You can still build web apps without any JavaScript, or you can build JavaScript-heavy web apps. Either way, stop using jQuery*

Page 32: Ultra-modern web development (for.NET developers) @pseale

AJAX-style web development is easy now—it’s not as much about what more you can do, it’s how little extra effort it is

Page 33: Ultra-modern web development (for.NET developers) @pseale

Free your HTML from ASP.NET’s bitter grasp*

Page 34: Ultra-modern web development (for.NET developers) @pseale

Don’t blindly accept the ASP.NET default template – consciously split into a frontend and a backend

Page 35: Ultra-modern web development (for.NET developers) @pseale

Restated: Stop writing Razor templates*

Page 36: Ultra-modern web development (for.NET developers) @pseale

Server-side is boring (stable)*

Page 37: Ultra-modern web development (for.NET developers) @pseale

React, Ember, Aurelia, Angular – choose one

Page 38: Ultra-modern web development (for.NET developers) @pseale

Decide whether to bet on TypeScript or not:

If yes, use Aurelia or Angular 2

If no, use “vanilla JavaScript” solutions such as React or Ember

Page 39: Ultra-modern web development (for.NET developers) @pseale

Think about what the emergence of “full stack developers” means:

Specialized, high-quality frontend engineers exist now!

You will have to learn this stuff to remain a “full stack” developer

Page 40: Ultra-modern web development (for.NET developers) @pseale

You can EITHER build web apps without any JavaScript, OR you can build JavaScript-heavy web apps.

Either way, stop using jQuery*

Page 41: Ultra-modern web development (for.NET developers) @pseale

Summary: Concepts• AJAX-style web development is easy now*• Free your HTML from ASP.NET’s bitter grasp*• Emphasis: don’t blindly accept the ASP.NET default template• Server-side is boring (stable)*• React, Ember, Aurelia, Angular – choose one• Decide whether to bet on TypeScript or not

• If yes, use Aurelia or Angular 2• If no, use “vanilla JavaScript” solutions such as React or Ember

• Think about what the emergence of “full stack developers” means• Specialized, high-quality frontend stack developers• You will have to learn this stuff to remain a “full stack” developer

• You can still build web apps without any JavaScript, or you can build JavaScript-heavy web apps. Either way, stop using jQuery*

Page 42: Ultra-modern web development (for.NET developers) @pseale

Community discussion: airing of grievances

Page 43: Ultra-modern web development (for.NET developers) @pseale

Questions?

Page 44: Ultra-modern web development (for.NET developers) @pseale

Thank You!

@pseale