Playing nice with the MEAN stack

10
Denver 450 Lincoln Street, #101 Denver, CO 80203 303.798.5458 Colorado Springs 118 N. Tejon Street, #200 Colorado Springs, CO 80903 719.445.1138 www.aspenware.com @aspenware (twitter) [email protected] Playing Nice with the MEAN Stack By Leila Adams @thatgirlcancode

description

MEAN is an acronym representing a suite of opensource tech: MongoDB, Express, AngularJS, and Node.js. In this presentation, Leila Adams, software developer at Aspenware, explores the MEAN stack from a .NET context for the Boulder Colorado .NET user group. Participants learned how to play nice with Node.js without leaving the comfort of their Microsoft environment, how to get started creating a MEAN project and current web trends influencing the upcoming version of .NET.

Transcript of Playing nice with the MEAN stack

Page 1: Playing nice with the MEAN stack

Denver450 Lincoln Street, #101Denver, CO 80203303.798.5458

Colorado Springs

118 N. Tejon Street, #200Colorado Springs, CO 80903719.445.1138

www.aspenware.com

@aspenware (twitter)[email protected]

Playing Nice with the MEAN Stack

By Leila Adams

@thatgirlcancode

Page 2: Playing nice with the MEAN stack

2Aspenware

agenda•What is MEAN

•Why use it

•Tools

•Demo

•vNext

Page 3: Playing nice with the MEAN stack

what is MEAN?

Aspenware

Page 4: Playing nice with the MEAN stack

4Aspenware

Microsoft MEAN

C# JavaScript

Views & Razor Vash

ASP.NET MVC & Web API Express

IIS Node.exe

SQL Server MongoDB / Edge.js + SQL Server

SQL JavaScript

Entity Framework Mongoose

Nuget Package Manager Node Package Manager / Bower

MSBuild Grunt

MSTest / NUnit Mocha / Jasmine

SignalR Socket I/O

associations

Page 5: Playing nice with the MEAN stack

5Aspenware

why use MEAN?• High concurrency

• Real-time solution

• Minimal configuration; rapid prototyping

• No build/compile time

• Fetching lots of data

• Not doing a lot of CPU intensive stuff

• General purpose

Page 6: Playing nice with the MEAN stack

6Aspenware

tools•Node.exe

•Node.js Tools for Visual Studio

•TypeScript

Page 7: Playing nice with the MEAN stack

7Aspenware

demo•Node.js Tools

•NPM

•Express

•Vash

•Private module

•Real project

•MongoDB

Page 8: Playing nice with the MEAN stack

8Aspenware

Angular ControllerhomeController.js

Angular ServicevendorService.js

ViewIndex.vash

Node Api ControllervendorsApiController.js

MongoDBdatabase.js & vendors.js

Node BusinessvendorBusiness.js

Page 9: Playing nice with the MEAN stack

9Aspenware

Current .NET MEAN vNext

C# JavaScript C#

Views & Razor Vash Views & Razor

ASP.NET MVC & Web API Express ASP.NET MVC 6

IIS Node.exe IIS

Entity Framework Mongoose Entity Framework

Nuget Pkg Manager Node Pkg Manager / Bower Nuget Pkg Manager / KPM

Packages.config Package.json Project.json

MSBuild Grunt Roslyn

more associations

Page 10: Playing nice with the MEAN stack

10Aspenware

resources•http://www.asp.net/vnext/overview/aspnet-vnext

•http://blogs.msdn.com/b/dotnet/archive/2014/05/12/the-next-generation-of-net-asp-net-vnext.aspx

•http://pluralsight.com• Node.js for .NET Developer by Shawn Wildermuth• Introduction to MongoDB by Nuri Halperin• Building AngularJS & Node.js Apps with the MEAN Stack by Joe Eames

•092 JavaScript Jabber: The MEAN Stack with Ward Bell & Valeri Karpov

•Express Web Application Development by Hage Yaapa

•NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence by Sadalage & Fowler

•Channel 9: ASP.NET vNext 101 with Damian Edwards and David Fowler

•http://blogs.msdn.com/b/webdev/archive/2014/06/17/dependency-injection-in-asp-net-vnext.aspx

•http://www.joyent.com/blog/joyent-partners-with-ms-to-port-node-js-to-windows

•http://www.hanselman.com/blog/InstallingAndRunningNodejsApplicationsWithinIISOnWindowsAreYouMad.aspx

Special thanks to @elylucas and @mike_filbin