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