Playing nice with the MEAN stack

Post on 13-May-2015

503 views 1 download

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

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)contactus@aspenware.com

Playing Nice with the MEAN Stack

By Leila Adams

@thatgirlcancode

2Aspenware

agenda•What is MEAN

•Why use it

•Tools

•Demo

•vNext

what is MEAN?

Aspenware

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

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

6Aspenware

tools•Node.exe

•Node.js Tools for Visual Studio

•TypeScript

7Aspenware

demo•Node.js Tools

•NPM

•Express

•Vash

•Private module

•Real project

•MongoDB

8Aspenware

Angular ControllerhomeController.js

Angular ServicevendorService.js

ViewIndex.vash

Node Api ControllervendorsApiController.js

MongoDBdatabase.js & vendors.js

Node BusinessvendorBusiness.js

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

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