SlideShare a Scribd company logo
1 of 20
Web DevWorkflow in
Visual Studio
@Dave_Paquette
Microsoft MVP (ASP.NET/IIS)
contactme@davepaquette.com
http://www.davepaquette.com
Web Dev Workflow in the past
HTML
.aspx or
.cshtml
CSS JavaScript
Web DevToday
Web Dev WorkflowToday
• Package Management
• Bundling and Minification
• CDN?
• Script / Stylesheet Compilation
• Code Improvements
• Other Asset Optimization
• UnitTests
Web Dev WorkflowToday
So….Many….Options
•Runtime Optimizations
•Visual Studio Plugins
•Task Runners
Runtime Optimization
• Web Forms / MVC 5 – System.Web.Optimization
• MVC 6 – Smidge (https://github.com/Shazwazza/Smidge)
Runtime Optimization Demo
Runtime Optimization
• Pros
• Low Complexity
• Low Developer Overhead
• Cons
• Limited functionality
• Server-side Optimization
Visual Studio Plugins
• Bundler and Minifier
• https://github.com/madskristensen/BundlerMinifier
• Web Compiler
• https://github.com/madskristensen/WebCompiler
• Web Essentials
• http://vswebessentials.com/
• https://visualstudiogallery.msdn.microsoft.com/
Visual Studio Plugins Demo
Visual Studio Plugins
• Pros
• Low-ishComplexity
• More Features than Runtime Optimizations
• BuildTime Optimizations
• Cons
• Ensuring developers have plugins installed and up-to-date
• Challenging Integration with Build Servers
• Clumsy Cache Busting in MVC5
Task Runners
• Build System for Front-EndWeb Dev
• Collection of Node.js packages
• Task basked
• Asset Pipeline
http://gulpjs.com
Task Runner Demo
Gulp
Task Runners - Build Server Integration
• TFS /Visual Studio Online
• Team City
• Jenkins
> npm install
> bower install
> gulp xxx
…usual msbuild stuff…
Task Runners
• Pros
• Powerful and Flexible
• Easy integration with Build Server
• Build time optimization
• Cons
• Higher complexity
• Learning curve
• Package Manager Hell
Task RunnerTips
• Upgrade to npm 3.x
• Make sureVS is using the right version
• Set it and forget it
What should you use?
Runtime
Optimization
VS Plugins
Gulp
Bower
Package Manager for JS / CSS libraries
Uses git to download packages
> 20,000 packages
www.davepaquette.comBlog
Twitter @Dave_Paquette
www.westerndevs.com
@westerndevs
Email contactme@davepaquette.com
ThankYou

More Related Content

What's hot

LESS is More (ChiHTML5 Meetup June 2016)
LESS is More (ChiHTML5 Meetup June 2016)LESS is More (ChiHTML5 Meetup June 2016)
LESS is More (ChiHTML5 Meetup June 2016)Sara Laupp
 
Single page application and Framework
Single page application and FrameworkSingle page application and Framework
Single page application and FrameworkChandrasekar G
 
Microsoft WebMatrix Platform Overview
Microsoft WebMatrix Platform OverviewMicrosoft WebMatrix Platform Overview
Microsoft WebMatrix Platform OverviewSpiffy
 
Building solutions with the SharePoint Framework - deep-dive
Building solutions with the SharePoint Framework - deep-diveBuilding solutions with the SharePoint Framework - deep-dive
Building solutions with the SharePoint Framework - deep-diveWaldek Mastykarz
 
Building a DevOps pipeline for Serverless by using Mocha, GitHub and Travis
Building a DevOps pipeline for Serverless by using Mocha, GitHub and TravisBuilding a DevOps pipeline for Serverless by using Mocha, GitHub and Travis
Building a DevOps pipeline for Serverless by using Mocha, GitHub and TravisExove
 
Deep Dive building solutions on the SharePoint Framework - SPS Brussels 2016
Deep Dive building solutions on the SharePoint Framework - SPS Brussels 2016Deep Dive building solutions on the SharePoint Framework - SPS Brussels 2016
Deep Dive building solutions on the SharePoint Framework - SPS Brussels 2016Waldek Mastykarz
 
Make Local WordPress Development Simple
Make Local WordPress Development SimpleMake Local WordPress Development Simple
Make Local WordPress Development SimpleWP Engine
 
SplunkLive! Stockholm 2015 breakout - Web Framework & 3rd Party Visualization
SplunkLive! Stockholm 2015 breakout - Web Framework & 3rd Party VisualizationSplunkLive! Stockholm 2015 breakout - Web Framework & 3rd Party Visualization
SplunkLive! Stockholm 2015 breakout - Web Framework & 3rd Party VisualizationSplunk
 
No Feature Solutions with SharePoint
No Feature Solutions with SharePointNo Feature Solutions with SharePoint
No Feature Solutions with SharePointmikehuguet
 
Moving from PHP to a nodejs full stack CMS
Moving from PHP to a nodejs full stack CMSMoving from PHP to a nodejs full stack CMS
Moving from PHP to a nodejs full stack CMSMake & Build
 
Build fast word press site in react in 30 mins with frontity
Build fast word press site in react in 30 mins   with frontityBuild fast word press site in react in 30 mins   with frontity
Build fast word press site in react in 30 mins with frontityImran Sayed
 
Blazor - .NET in the Browser!
Blazor - .NET in the Browser!Blazor - .NET in the Browser!
Blazor - .NET in the Browser!David Paquette
 
WordPress as a Headless CMS - Bronson Quick
WordPress as a Headless CMS - Bronson QuickWordPress as a Headless CMS - Bronson Quick
WordPress as a Headless CMS - Bronson QuickWordCamp Sydney
 
Angular.js in XPages
Angular.js in XPagesAngular.js in XPages
Angular.js in XPagesMark Roden
 
Single Page Application Development with backbone.js and Simple.Web
Single Page Application Development with backbone.js and Simple.WebSingle Page Application Development with backbone.js and Simple.Web
Single Page Application Development with backbone.js and Simple.WebChris Canal
 
WordPress as a Service
WordPress as a ServiceWordPress as a Service
WordPress as a ServiceAndrew Bauer
 

What's hot (20)

LESS is More (ChiHTML5 Meetup June 2016)
LESS is More (ChiHTML5 Meetup June 2016)LESS is More (ChiHTML5 Meetup June 2016)
LESS is More (ChiHTML5 Meetup June 2016)
 
Single page application and Framework
Single page application and FrameworkSingle page application and Framework
Single page application and Framework
 
Microsoft WebMatrix Platform Overview
Microsoft WebMatrix Platform OverviewMicrosoft WebMatrix Platform Overview
Microsoft WebMatrix Platform Overview
 
Building solutions with the SharePoint Framework - deep-dive
Building solutions with the SharePoint Framework - deep-diveBuilding solutions with the SharePoint Framework - deep-dive
Building solutions with the SharePoint Framework - deep-dive
 
Building a DevOps pipeline for Serverless by using Mocha, GitHub and Travis
Building a DevOps pipeline for Serverless by using Mocha, GitHub and TravisBuilding a DevOps pipeline for Serverless by using Mocha, GitHub and Travis
Building a DevOps pipeline for Serverless by using Mocha, GitHub and Travis
 
Deep Dive building solutions on the SharePoint Framework - SPS Brussels 2016
Deep Dive building solutions on the SharePoint Framework - SPS Brussels 2016Deep Dive building solutions on the SharePoint Framework - SPS Brussels 2016
Deep Dive building solutions on the SharePoint Framework - SPS Brussels 2016
 
Welcome to the World of WordPress
Welcome to the World of WordPressWelcome to the World of WordPress
Welcome to the World of WordPress
 
Make Local WordPress Development Simple
Make Local WordPress Development SimpleMake Local WordPress Development Simple
Make Local WordPress Development Simple
 
SplunkLive! Stockholm 2015 breakout - Web Framework & 3rd Party Visualization
SplunkLive! Stockholm 2015 breakout - Web Framework & 3rd Party VisualizationSplunkLive! Stockholm 2015 breakout - Web Framework & 3rd Party Visualization
SplunkLive! Stockholm 2015 breakout - Web Framework & 3rd Party Visualization
 
A Gentle Introduction to Blazor
A Gentle Introduction to BlazorA Gentle Introduction to Blazor
A Gentle Introduction to Blazor
 
No Feature Solutions with SharePoint
No Feature Solutions with SharePointNo Feature Solutions with SharePoint
No Feature Solutions with SharePoint
 
Moving from PHP to a nodejs full stack CMS
Moving from PHP to a nodejs full stack CMSMoving from PHP to a nodejs full stack CMS
Moving from PHP to a nodejs full stack CMS
 
Build fast word press site in react in 30 mins with frontity
Build fast word press site in react in 30 mins   with frontityBuild fast word press site in react in 30 mins   with frontity
Build fast word press site in react in 30 mins with frontity
 
Blazor - .NET in the Browser!
Blazor - .NET in the Browser!Blazor - .NET in the Browser!
Blazor - .NET in the Browser!
 
WordPress as a Headless CMS - Bronson Quick
WordPress as a Headless CMS - Bronson QuickWordPress as a Headless CMS - Bronson Quick
WordPress as a Headless CMS - Bronson Quick
 
Angular.js in XPages
Angular.js in XPagesAngular.js in XPages
Angular.js in XPages
 
WebMatrix
WebMatrixWebMatrix
WebMatrix
 
Single Page Application Development with backbone.js and Simple.Web
Single Page Application Development with backbone.js and Simple.WebSingle Page Application Development with backbone.js and Simple.Web
Single Page Application Development with backbone.js and Simple.Web
 
WordPress as a Service
WordPress as a ServiceWordPress as a Service
WordPress as a Service
 
Jquery
JqueryJquery
Jquery
 

Viewers also liked

makers en ontwerpers samen opleiden
makers en ontwerpers samen opleidenmakers en ontwerpers samen opleiden
makers en ontwerpers samen opleidenJeroen Deckers
 
Survivors forum january 2015 public release
Survivors forum january 2015 public releaseSurvivors forum january 2015 public release
Survivors forum january 2015 public releaseMike Ber
 
Yunush Sayyed Presentation
Yunush Sayyed PresentationYunush Sayyed Presentation
Yunush Sayyed PresentationYOUNUS SAYYED
 
Podpora Business procesů s PowerBI a Workflows
Podpora Business procesů s PowerBI a WorkflowsPodpora Business procesů s PowerBI a Workflows
Podpora Business procesů s PowerBI a WorkflowsRoman Nedzelsky, MVP, CAPM
 
Term project organization behavior (94075)-fall 2016-emotional business leade...
Term project organization behavior (94075)-fall 2016-emotional business leade...Term project organization behavior (94075)-fall 2016-emotional business leade...
Term project organization behavior (94075)-fall 2016-emotional business leade...Muhammad Asif Khan Awan
 
Продуктовый брендинг
Продуктовый брендинг Продуктовый брендинг
Продуктовый брендинг Andrew Yaremko
 
Trailer analysis media 1 5
Trailer analysis media 1 5Trailer analysis media 1 5
Trailer analysis media 1 5mitch1598
 
Apple inc strategic management
Apple inc strategic managementApple inc strategic management
Apple inc strategic managementaseel m
 
Fedoskino Miniature and Fairy Tales - Russian lacquer
Fedoskino Miniature and Fairy Tales - Russian lacquerFedoskino Miniature and Fairy Tales - Russian lacquer
Fedoskino Miniature and Fairy Tales - Russian lacquerMakala D.
 

Viewers also liked (15)

makers en ontwerpers samen opleiden
makers en ontwerpers samen opleidenmakers en ontwerpers samen opleiden
makers en ontwerpers samen opleiden
 
Filtro
FiltroFiltro
Filtro
 
Survivors forum january 2015 public release
Survivors forum january 2015 public releaseSurvivors forum january 2015 public release
Survivors forum january 2015 public release
 
E-Democracy Design
E-Democracy DesignE-Democracy Design
E-Democracy Design
 
Yunush Sayyed Presentation
Yunush Sayyed PresentationYunush Sayyed Presentation
Yunush Sayyed Presentation
 
0302
03020302
0302
 
Podpora Business procesů s PowerBI a Workflows
Podpora Business procesů s PowerBI a WorkflowsPodpora Business procesů s PowerBI a Workflows
Podpora Business procesů s PowerBI a Workflows
 
Term project organization behavior (94075)-fall 2016-emotional business leade...
Term project organization behavior (94075)-fall 2016-emotional business leade...Term project organization behavior (94075)-fall 2016-emotional business leade...
Term project organization behavior (94075)-fall 2016-emotional business leade...
 
Продуктовый брендинг
Продуктовый брендинг Продуктовый брендинг
Продуктовый брендинг
 
Deserción escolar.
Deserción escolar.Deserción escolar.
Deserción escolar.
 
Trailer analysis media 1 5
Trailer analysis media 1 5Trailer analysis media 1 5
Trailer analysis media 1 5
 
FCS_Presentation
FCS_PresentationFCS_Presentation
FCS_Presentation
 
Apple inc strategic management
Apple inc strategic managementApple inc strategic management
Apple inc strategic management
 
Fedoskino Miniature and Fairy Tales - Russian lacquer
Fedoskino Miniature and Fairy Tales - Russian lacquerFedoskino Miniature and Fairy Tales - Russian lacquer
Fedoskino Miniature and Fairy Tales - Russian lacquer
 
Agriculture
AgricultureAgriculture
Agriculture
 

Similar to Web Dev Workflow in Visual Studio: Optimizing Assets with Runtime, Plugins, and Task Runners

Deep dive into share point framework webparts
Deep dive into share point framework webpartsDeep dive into share point framework webparts
Deep dive into share point framework webpartsPrabhu Nehru
 
Rapid development with Rails
Rapid development with RailsRapid development with Rails
Rapid development with RailsYi-Ting Cheng
 
Best Practices for Building WordPress Applications
Best Practices for Building WordPress ApplicationsBest Practices for Building WordPress Applications
Best Practices for Building WordPress ApplicationsTaylor Lovett
 
DrupalSouth 2015 - Performance: Not an Afterthought
DrupalSouth 2015 - Performance: Not an AfterthoughtDrupalSouth 2015 - Performance: Not an Afterthought
DrupalSouth 2015 - Performance: Not an AfterthoughtNick Santamaria
 
Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...Lucas Jellema
 
#SPSBrussels 2017 vincent biret #azure #functions microsoft #flow
#SPSBrussels 2017 vincent biret #azure #functions microsoft #flow#SPSBrussels 2017 vincent biret #azure #functions microsoft #flow
#SPSBrussels 2017 vincent biret #azure #functions microsoft #flowVincent Biret
 
Introduction to Microsoft Flow and Azure Functions
Introduction to Microsoft Flow and Azure FunctionsIntroduction to Microsoft Flow and Azure Functions
Introduction to Microsoft Flow and Azure FunctionsBIWUG
 
Webpack and Web Performance Optimization
Webpack and Web Performance OptimizationWebpack and Web Performance Optimization
Webpack and Web Performance OptimizationChen-Tien Tsai
 
Release Management with Visual Studio Team Services and Office Dev PnP
Release Management with Visual Studio Team Services and Office Dev PnPRelease Management with Visual Studio Team Services and Office Dev PnP
Release Management with Visual Studio Team Services and Office Dev PnPPetter Skodvin-Hvammen
 
Custom Development for SharePoint
Custom Development for SharePointCustom Development for SharePoint
Custom Development for SharePointTalbott Crowell
 
ASP.NET 5 Overview - Post Build 2015
ASP.NET 5 Overview - Post Build 2015ASP.NET 5 Overview - Post Build 2015
ASP.NET 5 Overview - Post Build 2015Shahed Chowdhuri
 
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)Brian Culver
 
Building a website without a webserver on Azure
Building a website without a webserver on AzureBuilding a website without a webserver on Azure
Building a website without a webserver on AzureTodd Whitehead
 
JavaScript in Universal Windows Platform apps
JavaScript in Universal Windows Platform appsJavaScript in Universal Windows Platform apps
JavaScript in Universal Windows Platform appsTimmy Kokke
 
SPS calgary 2017 introduction to azure functions microsoft flow
SPS calgary 2017 introduction to azure functions microsoft flowSPS calgary 2017 introduction to azure functions microsoft flow
SPS calgary 2017 introduction to azure functions microsoft flowVincent Biret
 
Whats new for developers in Visual Studio 2013
Whats new for developers in Visual Studio 2013Whats new for developers in Visual Studio 2013
Whats new for developers in Visual Studio 2013Chris Dufour
 
Develop a Quick and Dirty Web interface to your database: for the DBA and oth...
Develop a Quick and Dirty Web interface to your database: for the DBA and oth...Develop a Quick and Dirty Web interface to your database: for the DBA and oth...
Develop a Quick and Dirty Web interface to your database: for the DBA and oth...Gabriel Villa
 
Pipeline de deploy com ASP.NET Core e VSTS
Pipeline de deploy com ASP.NET Core e VSTSPipeline de deploy com ASP.NET Core e VSTS
Pipeline de deploy com ASP.NET Core e VSTSJaqueline Ramos
 
SharePoint 2013 Branding
SharePoint 2013 BrandingSharePoint 2013 Branding
SharePoint 2013 BrandingKashif Imran
 

Similar to Web Dev Workflow in Visual Studio: Optimizing Assets with Runtime, Plugins, and Task Runners (20)

Deep dive into share point framework webparts
Deep dive into share point framework webpartsDeep dive into share point framework webparts
Deep dive into share point framework webparts
 
Rapid development with Rails
Rapid development with RailsRapid development with Rails
Rapid development with Rails
 
Best Practices for Building WordPress Applications
Best Practices for Building WordPress ApplicationsBest Practices for Building WordPress Applications
Best Practices for Building WordPress Applications
 
DrupalSouth 2015 - Performance: Not an Afterthought
DrupalSouth 2015 - Performance: Not an AfterthoughtDrupalSouth 2015 - Performance: Not an Afterthought
DrupalSouth 2015 - Performance: Not an Afterthought
 
Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...
 
#SPSBrussels 2017 vincent biret #azure #functions microsoft #flow
#SPSBrussels 2017 vincent biret #azure #functions microsoft #flow#SPSBrussels 2017 vincent biret #azure #functions microsoft #flow
#SPSBrussels 2017 vincent biret #azure #functions microsoft #flow
 
Introduction to Microsoft Flow and Azure Functions
Introduction to Microsoft Flow and Azure FunctionsIntroduction to Microsoft Flow and Azure Functions
Introduction to Microsoft Flow and Azure Functions
 
Webpack and Web Performance Optimization
Webpack and Web Performance OptimizationWebpack and Web Performance Optimization
Webpack and Web Performance Optimization
 
Release Management with Visual Studio Team Services and Office Dev PnP
Release Management with Visual Studio Team Services and Office Dev PnPRelease Management with Visual Studio Team Services and Office Dev PnP
Release Management with Visual Studio Team Services and Office Dev PnP
 
Custom Development for SharePoint
Custom Development for SharePointCustom Development for SharePoint
Custom Development for SharePoint
 
ASP.NET 5 Overview - Post Build 2015
ASP.NET 5 Overview - Post Build 2015ASP.NET 5 Overview - Post Build 2015
ASP.NET 5 Overview - Post Build 2015
 
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
 
Building a website without a webserver on Azure
Building a website without a webserver on AzureBuilding a website without a webserver on Azure
Building a website without a webserver on Azure
 
ASP.NET 5 Overview
ASP.NET 5 OverviewASP.NET 5 Overview
ASP.NET 5 Overview
 
JavaScript in Universal Windows Platform apps
JavaScript in Universal Windows Platform appsJavaScript in Universal Windows Platform apps
JavaScript in Universal Windows Platform apps
 
SPS calgary 2017 introduction to azure functions microsoft flow
SPS calgary 2017 introduction to azure functions microsoft flowSPS calgary 2017 introduction to azure functions microsoft flow
SPS calgary 2017 introduction to azure functions microsoft flow
 
Whats new for developers in Visual Studio 2013
Whats new for developers in Visual Studio 2013Whats new for developers in Visual Studio 2013
Whats new for developers in Visual Studio 2013
 
Develop a Quick and Dirty Web interface to your database: for the DBA and oth...
Develop a Quick and Dirty Web interface to your database: for the DBA and oth...Develop a Quick and Dirty Web interface to your database: for the DBA and oth...
Develop a Quick and Dirty Web interface to your database: for the DBA and oth...
 
Pipeline de deploy com ASP.NET Core e VSTS
Pipeline de deploy com ASP.NET Core e VSTSPipeline de deploy com ASP.NET Core e VSTS
Pipeline de deploy com ASP.NET Core e VSTS
 
SharePoint 2013 Branding
SharePoint 2013 BrandingSharePoint 2013 Branding
SharePoint 2013 Branding
 

Recently uploaded

Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 

Recently uploaded (20)

Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
Odoo Development Company in India | Devintelle Consulting Service
Odoo Development Company in India | Devintelle Consulting ServiceOdoo Development Company in India | Devintelle Consulting Service
Odoo Development Company in India | Devintelle Consulting Service
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 

Web Dev Workflow in Visual Studio: Optimizing Assets with Runtime, Plugins, and Task Runners

Editor's Notes

  1. It all started with jQuery, which allowed us to do more interesting things in JS than we used it. As a result, we started writing a lot more JS in our apps Some people wanted a little more from JS as a language. We ended up with languages like CofffeeScript and TypeScript that compile down to JS. While all this was happening, the HTML5 and CSS3 specs were evolving, again allowing us to do more interesting things in the browser. Much like we have CoffeeScript and TypeScript for JS, we ended up with higher level languages like LESS and SASS that compile down to CSS. These languages extended CSS by allowing for things like reusable methods and variables in CSS. Again though, this meant that our source could not simply be published directly to the server. There are steps that need to happen in between. Some very smart people built great CSS frameworks like Bootstrap and Foundation for us so that we didn’t have to reinvent the wheel for every app we built. As more and more complex applications were being built, people started to want features like data binding that we were used to in platforms like WPF. That’s how Knockout came to be. That just seemed to open up the flood gates as everyone and their dog developed a javascript application framework. It looked like we were at least generally settling on a common approach when Facebook decided to join the show. Finally, with all these great frameworks and libraries that we can use, people realized we needed a way to manage packages and their dependencies. Enter npm for node and bower for client libraries.
  2. I like to think of these tasks as a few different things. Web Optimization – Tasks like bundling and minification Tedious Developer Tasks – Compiling TypeScript or Less files, Ensuring browser compat with vendor prefixes Code Improvements – Code checkers like jshint…similar conceptually to fxcop
  3. With all these tasks that we need to manage before publishing a web application, we needed some kind of solution to help coordinate it all. Enter Grunt an Gulp, the most popular task runners.
  4. Bundles are configured in C# and created at runtime based on environment settings
  5. Defining bundles Toggling Optimization Limitations
  6. Show how JS bundles work with the Bundler extension Talk about Less / Bootstrap -Themes: http://bootstrap-live-customizer.com/ Customize bootstrap by adding LESS and including the right files Talk about Cache Busting. Show how this can be accomplished ---http://madskristensen.net/post/cache-busting-in-aspnet
  7. The fact that it uses git is actually really important. You can easily fork an existing library and point to your fork instead of waiting on some stale project to get a bug fix.
  8. Remember to add western devs here