task

msft webcamp (yvr)

[previously]

[currently]

  1. ]  

[next]

  1. [SESSIONS]
  2. [09:00] future of the web and ecmascript 2015
  3. [09:30] introduction to asp.net, visual studio code and visual studio 2015 web tools
  4. [10:45] building web applications using the latest asp.net technologies
  5. [12:00] lunch
  6. [12:30] interview session w/Richard (@dotnetrocks)
  7. [13:00] building web front ends for both desktop and mobile using the latest web standards
  8. [13:30]  api services for both web and devices
  9. [14:30] running, improving and maintaining a site in the real world
  10. [15:30] real time communictions with signalr and nodejs
  11. [16:15] asp.net5 preview, next steps, resources and wrap up

session notes
[building web applications using the latest asp.net technologies]
> DEMO - build hybrid site - web forms, 
- primarily a "web forms" project
- will also have MVC and web api, b/c you can
- loading takes longer, b/c packages downloading
- added items to global.aspx to support mvc and api
- no more .aspx extensions for web forms - " nice clean routes "
- audience survey says - using web forms = a few, MVC = more, Balance = ????
- identity replaces membership, member has limitations - doesnt support 3rd party out of the box, identity does
> DEMO - build MVC app - 
- intro MVC -requests routed to controller class VS physical web page
- model should be a VM(info presented), NOT domain models
- your controller class populates your models
- this EX app uses bad practice 
- MVC is easy to unit test, webforms NOT so much
- default template THEN START 
- NEW class - trivia question 
- using ef, code first 
- ef = describe objects in code, ef will take care of the db
- ef is slow(order of magnitude slower), ef 6 is a bit faster 
- ef7 goal is to be no more than 50% slower, 
- being re-written, code first only (? no db first code)
- namespace = appname.Models
-- class = Triva
--  properties - id, title, isCorrect 
-- [Required]
--  only 1 field with ide 
-- ?? public virtual List<TriviaDescription>
-- option class has (id, question_id, isCorrect, title ) 
- builds out class using scaffolding - new db context class
-- options controller 
-- ( questions class, options class )
deploy directly to azure, azure tools, 
publish web - target - 
names - geekquiz - (must be unique across global ) 
- azure dlg to create web app on server ()
- publish - deploys site to azure
cnurse, charlesnurse@gmail.com
github.com/microsoft-web/WebCampTrainingKit
[12:30] live Q+A session 
with Dave .netrocks podcast cohost
[13:00] NEXT building front ends(SPA) with 
- rami.sayer@microsoft.com 
- standards mean you can target "features" not "browsers"
- modernizr - is a popular library that you can include for feature detection
- ex - some cool apps built with html5 -
-- flight arcade.com (web gl web audio, support of gamepad ) 
-- assassins creed like game
- babylonjs - is a video game engine built for web
- edge browser doesnt support - activex, java, flash, (all the old stuff)
- - dev.modern.ie/platformstatus
- - cross browser site analysis 
-- FEATURE detection - 
-- use library modernizr to detect IF browser has feature (ex css animation )
-- use native tags ( nav, header ) VS div=header, div=nav, BC/ much faster in browser
-- grunt vs gulp ( code over config file)
- OVU-simple -front end stuff - jquery ovu, grunt/gulp, spa
- spa frameworks - ] /knockout, /react, /ember (convention over config, )
[13:30] API services by charles nurse
- will be same in asp
- // GET api/person, api/person/{id}
- a service returns an "http status code" and usually some "json data" 
- previoiusly we built a web app that was using a service ( to get data) 
- now we will build windows app using same service
- winjs - comes with built in mvc framework, has built in data binding 
[14:30]> running, improving and maintaining a site in the real world
-  talking about ] scale, ] adapt to change , ] environments 
> scale
- 1] server - serving static files from BLOB storage or CDN
- 2] caching - servers have finite resources
- azure redis cache, out of process, 
- manual scale - more server resouces, horizontal scale - add more servers, 
- vertical scale - more powerful servers, more memory
- hadoop - theory - simple servers are cheap, add more servers
- manual scaling is OK when load is predictable (aka you when you know when demand will occur)
- auto scaling -  demo setting up scaling on azure 
> adapting to CHANGE
- migrations, rollbacks 
- PRB - keeping db schema up to date ( developer, production )
- use PS script to enable "migrations"
- *seed method to initialize db with data
- adds new property to a class, THIS changes the db (adds feild to table )
- up method(adds), down method (rollsback)
- each migration has its own class
> MANAGE DEPLOYMENTS
- connect your website to various different source control, thru git, onedrive or ...
- for every change a different deployment, you can roll back deployments
- "continuous deployment" - enter creds, choose type 
- sourcestream (git ui) by atlassian 
- new deployment is created on azure after push to git, auto switches this to "active" 
- IF problems with new, just change BACK to previous dployment
[15:45] signalR - realtime communications
- old way - polling 
- new way - web sockets -  
- signalR - abstraction over transports, events instead of task/async
- connection management
- broadcast or target specific client
- event 
multi user - realtime 
- fallback - web sockets, server side events, forever frames, long polling 
- server to client push 
 - scale out with service bus, sql server, 
- needs BACKPLANE
- load balancing via a common transport mechanism
- socket io DIFFERENT 
- ex prj - answer question - detects posts, statistics service recalcs stats, pushes updates to all connected browsers 
[16:15] asp.net5 preview, next steps, resources & wrap up
- medhat, instructor at BCIT, leader @ .netbc.ca .net user group
*] DIAGRAM.msft( charles ) with layer form, pages, mvc 
- c\users\dnx - runtimes 
- dnvm - dn version manager
- coreclr - base, add functionality you need 
- ex app  project.json, helloWorld.cs
- config files are json
- need to add system console package to get system.console functionality
- run "dnu restore" to add dependencies
- dnx 
- assy, dll run dll
- compiles to memory, runs from memory, saves writing to disk 
- for deployment - create a nuget package  
> building and asp.net5 from the command line
-yeoman, built on top of nodejs TO use x-platfrom
yo aspnet 
build templates for web applications 
dnx web - kestrel (web server) x-platfrom 
creates asp.net MVC app using yo template
- then opens project.json in VS and there it is 
tag helpers - on layout page - 
equivalen of htmlLink
asp-controller=home, asp-action=home
asp-controller=questions, asp-action=show
demo with class 
-view imports file
asp.net/feedback
> wrap-up
devcamps.ms
aka.ms/webcamps-training-kit
/sayar/WebCampTraininKit
sayar/jsopenday
dev.modern.ie/platform/status
build with web standards
aka.ms/webvaneval 
Details Photos Edit more

Details

ID: 5863

NAME: msft-webcamp

DESCRIPTION: webcamp

START DATE TIME: 2015-11-26 22:52:11

EST DURATION: 01:00:00

END DATE TIME: 2015-11-26 23:52:11

STATUS:

PRIORITY: -5

OWNER ID: 1

Content Photos Edit more

photos

photos for this task

actions

Agenda Email task SMS task Priorities