SlideShare une entreprise Scribd logo
1  sur  52
WebMatrix: See
   What the Matrix
   Can Do For You
Frédéric Harper
Developer Evangelist @ Microsoft Canada
@fharper | outofcomfortzone.net
Agenda
•   What is WebMatrix?
•   Who is WebMatrix for?
•   Razor syntax
•   Database access
•   Helpers
•   App Gallery & OSS Apps
My goals
My goals
My goals

1. Show you how it’s easy to use WebMatrix to

   create awesome websites or Web applications
WebMatrix
What is WebMatrix
It’s a free tool that makes it easy to
   Create
   Configure
   Publish
your websites and web applications
What is WebMatrix
What is WebMatrix
1. Web App Gallery & Templates
What is WebMatrix
1. Web App Gallery & Templates
2. Web Server: IIS Express
What is WebMatrix
1. Web App Gallery & Templates
2. Web Server: IIS Express
3. Standards Support: HTML5, CSS3, JavaScript/jQuery
What is WebMatrix
1. Web App Gallery & Templates
2. Web Server: IIS Express
3. Standards Support: HTML5, CSS3, JavaScript/jQuery
4. Scripting Support: ASP.NET & PHP
What is WebMatrix
1. Web App Gallery & Templates
2. Web Server: IIS Express
3. Standards Support: HTML5, CSS3, JavaScript/jQuery
4. Scripting Support: ASP.NET & PHP
5. DB Manager: SQL Server & MySQL
What is WebMatrix
1. Web App Gallery & Templates
2. Web Server: IIS Express
3. Standards Support: HTML5, CSS3, JavaScript/jQuery
4. Scripting Support: ASP.NET & PHP
5. DB Manager: SQL Server & MySQL
6. Optimization Tools: SEO & Performance
Who is WebMatrix for?




       I <3 Web Apps.        I want to build web    I’m a professional and I
   I just need a tool that   sites myself with an     build complex, large
   makes them easier to        easy to learn tool    scale web sites with a
    configure, customize        and framework         team of developers
         and publish
Two ways to build
Two ways to build
          Option A:
        From Scratch
Two ways to build
          Option A:       Option B:
        From Scratch   From Web App
A lap around WebMatrix
Razor
What is Razor
What is Razor
1. A new view engine
What is Razor
1. A new view engine
2. Compact, Expressive, and Fluid
What is Razor
1. A new view engine
2. Compact, Expressive, and Fluid
3. Easy to Learn
What is Razor
1. A new view engine
2. Compact, Expressive, and Fluid
3. Easy to Learn
4. Is not a new language
What is Razor
1. A new view engine
2. Compact, Expressive, and Fluid
3. Easy to Learn
4. Is not a new language
5. Works with any Text Editor
What is Razor
1. A new view engine
2. Compact, Expressive, and Fluid
3. Easy to Learn
4. Is not a new language
5. Works with any Text Editor
6. Has great Intellisense & Unit Testable
Introducing Razor
                             <ul>
                               <% for (int i = 0; i < 10; i++) { %>
       Web Forms
                                 <li><% =i %></li>
     (6 transitions):          <% } %>
                             </ul>
                             <ul>
                               <?php
            PHP                   for ($i = 0; $i < 10; $i++) {
(2 transitions & an echo):           echo("<li>$i</li>");
                                  }
                               ?>
                             </ul>
                             <ul>
                               @for (int i = 0; i < 10; i++) {
          Razor
                                 <li>@i</li>
     (2 transitions):          }
                             </ul>
Code to markup easily
                                  @{
        Option 1:
                                       var name = “John Doe”;
       HTML Block                      <div>
                                         Your name: @name
                                       </div>
                                  }

                                  @{
        Option 2:                      var name = “John Doe”;
        Text Block                     <text>
                                         Your name: @name
                                       </text>
                                  }

                                  @{
            Option 3:
                                       var name = “John Doe”;
Single line of output in markup        @: Your name: @name
                                  }
Commenting
              @*
  Option 1:     <div>
  Markup          Hello World
                </div>
              *@


              @{
  Option 2:     //var name = "John Doe”;
   Code         //@name
              }


              @*
                @{
  Option 3:       //var name = "John Doe";
    Both          //@name
                }
              *@
Database
Database
• SQL Compact Edition
  • File-based, so it’s portable. Runs without a server.
• Easy to design, easy to code against
Database
• SQL Compact Edition
   • File-based, so it’s portable. Runs without a server.
• Easy to design, easy to code against
Designing
Database
• SQL Compact Edition
   • File-based, so it’s portable. Runs without a server.
• Easy to design, easy to code against
Designing


                                                                         Coding
                           @{
                             var db = Database.Open("ArtGallery");
                             var product = db.Query("SELECT * FROM PRODUCTS);
                           }
Database access
Helpers
What are Helpers?
Helpers make it easy to quickly add
commonly used functionality into your
websites


                                   and many more…
Two categories
HTML Helpers                 Make is faster and easier to
                              render commonly used
  • Facebook                    markup to the page.
  • Twitter
  • …

                              Make is faster and easier
API Helpers                  to call complex APIs from
   • PayPal                         your website.
   • Windows Azure Storage
   • …
Helpers
App Gallery & OSS Apps
OSS Apps
1.   Free
2.   Popular = large community
3.   Gets you close to the solution quickly
4.   Easy to configure
Build on the success of Web PI
                              Web Platform Installer   WebMatrix

Download                                                 

                                        
Install (inc. dependencies)                               

Customize                                                 

SEO Analysis                                              

Publish                                                   
App Gallery
Conclusion
Next steps
Next steps
1. Install WebMatrix
Next steps
1. Install WebMatrix

2. Play with it
Next steps
1. Install WebMatrix

2. Play with it
  1. Create a new website with templates or from scratch
Next steps
1. Install WebMatrix

2. Play with it
  1. Create a new website with templates or from scratch

  2. Edit an existing one or deploy an app by using the App Gallery
Next steps
1. Install WebMatrix

2. Play with it
  1. Create a new website with templates or from scratch

  2. Edit an existing one or deploy an app by using the App Gallery

3. Unleash the power of the Matrix & have fun
Resources
• http://microsoft.com/web/webmatrix

• http://www.microsoft.com/web/webmatrix/betafeatures.aspx

• http://www.asp.net/web-pages/overview/exploring-webmatrix
Questions
Frederic Harper, Developer Evangelist

fredh@microsoft.com
@fharper

http://webnotwar.ca
http://outofcomfortzone.net

Contenu connexe

Tendances

JavaScript Advanced - Useful methods to power up your code
JavaScript Advanced - Useful methods to power up your codeJavaScript Advanced - Useful methods to power up your code
JavaScript Advanced - Useful methods to power up your code
Laurence Svekis ✔
 
How browser engines work?
How browser engines work?How browser engines work?
How browser engines work?
haricot
 
Girl Develop It Cincinnati: Intro to HTML/CSS Class 1
Girl Develop It Cincinnati: Intro to HTML/CSS Class 1Girl Develop It Cincinnati: Intro to HTML/CSS Class 1
Girl Develop It Cincinnati: Intro to HTML/CSS Class 1
Erin M. Kidwell
 

Tendances (20)

AJAX Workshop Notes
AJAX Workshop NotesAJAX Workshop Notes
AJAX Workshop Notes
 
How dojo works
How dojo worksHow dojo works
How dojo works
 
Dojo & HTML5
Dojo & HTML5Dojo & HTML5
Dojo & HTML5
 
Dojo javascript toolkit
Dojo javascript toolkit Dojo javascript toolkit
Dojo javascript toolkit
 
Moving to Dojo 1.7 and the path to 2.0
Moving to Dojo 1.7 and the path to 2.0Moving to Dojo 1.7 and the path to 2.0
Moving to Dojo 1.7 and the path to 2.0
 
BP210 XPages: Enter The Dojo
BP210 XPages: Enter The DojoBP210 XPages: Enter The Dojo
BP210 XPages: Enter The Dojo
 
Intro to HTML 5 / CSS 3
Intro to HTML 5 / CSS 3Intro to HTML 5 / CSS 3
Intro to HTML 5 / CSS 3
 
Advanced guide to develop ajax applications using dojo
Advanced guide to develop ajax applications using dojoAdvanced guide to develop ajax applications using dojo
Advanced guide to develop ajax applications using dojo
 
The Dojo Toolkit An Introduction
The Dojo Toolkit   An IntroductionThe Dojo Toolkit   An Introduction
The Dojo Toolkit An Introduction
 
lect9
lect9lect9
lect9
 
JavaScript Advanced - Useful methods to power up your code
JavaScript Advanced - Useful methods to power up your codeJavaScript Advanced - Useful methods to power up your code
JavaScript Advanced - Useful methods to power up your code
 
Internet and Web Technology (CLASS-4) [CSS & JS]
Internet and Web Technology (CLASS-4) [CSS & JS] Internet and Web Technology (CLASS-4) [CSS & JS]
Internet and Web Technology (CLASS-4) [CSS & JS]
 
CSS - OOCSS, SMACSS and more
CSS - OOCSS, SMACSS and moreCSS - OOCSS, SMACSS and more
CSS - OOCSS, SMACSS and more
 
Dojo toolkit
Dojo toolkitDojo toolkit
Dojo toolkit
 
Modular HTML, CSS, & JS Workshop
Modular HTML, CSS, & JS WorkshopModular HTML, CSS, & JS Workshop
Modular HTML, CSS, & JS Workshop
 
Beyond Logging: Using MongoDB to Power a Private Social Network (Oh, and log ...
Beyond Logging: Using MongoDB to Power a Private Social Network (Oh, and log ...Beyond Logging: Using MongoDB to Power a Private Social Network (Oh, and log ...
Beyond Logging: Using MongoDB to Power a Private Social Network (Oh, and log ...
 
Zero To Dojo
Zero To DojoZero To Dojo
Zero To Dojo
 
How browser engines work?
How browser engines work?How browser engines work?
How browser engines work?
 
Browser extension
Browser extensionBrowser extension
Browser extension
 
Girl Develop It Cincinnati: Intro to HTML/CSS Class 1
Girl Develop It Cincinnati: Intro to HTML/CSS Class 1Girl Develop It Cincinnati: Intro to HTML/CSS Class 1
Girl Develop It Cincinnati: Intro to HTML/CSS Class 1
 

Similaire à Prairie Dev Con West - 2012-03-14 - Webmatrix, see what the matrix can do for you

WebMatrix, see what the matrix can do for you!!
WebMatrix, see what the matrix can do for you!!WebMatrix, see what the matrix can do for you!!
WebMatrix, see what the matrix can do for you!!
Frédéric Harper
 
Intro to MVC 3 for Government Developers
Intro to MVC 3 for Government DevelopersIntro to MVC 3 for Government Developers
Intro to MVC 3 for Government Developers
Frank La Vigne
 
Web matrix part 2
Web matrix part 2Web matrix part 2
Web matrix part 2
yuvaraj72
 
Jquery dojo slides
Jquery dojo slidesJquery dojo slides
Jquery dojo slides
helenmga
 
Joomla! Day Los Angeles 2011 WebMatrix
Joomla! Day Los Angeles 2011 WebMatrixJoomla! Day Los Angeles 2011 WebMatrix
Joomla! Day Los Angeles 2011 WebMatrix
Alice Pang
 
J day la 2011 webmatrix
J day la 2011 webmatrixJ day la 2011 webmatrix
J day la 2011 webmatrix
Alice Pang
 

Similaire à Prairie Dev Con West - 2012-03-14 - Webmatrix, see what the matrix can do for you (20)

WebMatrix, see what the matrix can do for you!!
WebMatrix, see what the matrix can do for you!!WebMatrix, see what the matrix can do for you!!
WebMatrix, see what the matrix can do for you!!
 
Microsoft Web Matrix
Microsoft Web MatrixMicrosoft Web Matrix
Microsoft Web Matrix
 
Intro to .NET for Government Developers
Intro to .NET for Government DevelopersIntro to .NET for Government Developers
Intro to .NET for Government Developers
 
Intro to MVC 3 for Government Developers
Intro to MVC 3 for Government DevelopersIntro to MVC 3 for Government Developers
Intro to MVC 3 for Government Developers
 
Web matrix part 2
Web matrix part 2Web matrix part 2
Web matrix part 2
 
WebMatrix 100-level presentation
WebMatrix 100-level presentationWebMatrix 100-level presentation
WebMatrix 100-level presentation
 
Moving from Web 1.0 to Web 2.0
Moving from Web 1.0 to Web 2.0Moving from Web 1.0 to Web 2.0
Moving from Web 1.0 to Web 2.0
 
Week 05 Web, App and Javascript_Brandon, S.H. Wu
Week 05 Web, App and Javascript_Brandon, S.H. WuWeek 05 Web, App and Javascript_Brandon, S.H. Wu
Week 05 Web, App and Javascript_Brandon, S.H. Wu
 
Advanced Web Scraping or How To Make Internet Your Database #seoplus2018
Advanced Web Scraping or How To Make Internet Your Database #seoplus2018Advanced Web Scraping or How To Make Internet Your Database #seoplus2018
Advanced Web Scraping or How To Make Internet Your Database #seoplus2018
 
Jquery dojo slides
Jquery dojo slidesJquery dojo slides
Jquery dojo slides
 
Wordpress
WordpressWordpress
Wordpress
 
Protect Your Payloads: Modern Keying Techniques
Protect Your Payloads: Modern Keying TechniquesProtect Your Payloads: Modern Keying Techniques
Protect Your Payloads: Modern Keying Techniques
 
Joomla! Day Los Angeles 2011 WebMatrix
Joomla! Day Los Angeles 2011 WebMatrixJoomla! Day Los Angeles 2011 WebMatrix
Joomla! Day Los Angeles 2011 WebMatrix
 
J day la 2011 webmatrix
J day la 2011 webmatrixJ day la 2011 webmatrix
J day la 2011 webmatrix
 
Break out of The Box - Part 2
Break out of The Box - Part 2Break out of The Box - Part 2
Break out of The Box - Part 2
 
WordPress Internationalization and Localization - WordPress Translation Day 3...
WordPress Internationalization and Localization - WordPress Translation Day 3...WordPress Internationalization and Localization - WordPress Translation Day 3...
WordPress Internationalization and Localization - WordPress Translation Day 3...
 
NLP Project Full Circle
NLP Project Full CircleNLP Project Full Circle
NLP Project Full Circle
 
Praktikum Rekayasa Web, WordPress (1)
Praktikum Rekayasa Web, WordPress (1)Praktikum Rekayasa Web, WordPress (1)
Praktikum Rekayasa Web, WordPress (1)
 
Watir Presentation Sumanth Krishna. A
Watir Presentation   Sumanth Krishna. AWatir Presentation   Sumanth Krishna. A
Watir Presentation Sumanth Krishna. A
 
From WordPress With Love
From WordPress With LoveFrom WordPress With Love
From WordPress With Love
 

Plus de Frédéric Harper

Differentiating yourself humber college - 2015-03-30
Differentiating yourself   humber college - 2015-03-30Differentiating yourself   humber college - 2015-03-30
Differentiating yourself humber college - 2015-03-30
Frédéric Harper
 
Differentiating yourself - Hack Western - 2015-03-28
Differentiating yourself - Hack Western - 2015-03-28Differentiating yourself - Hack Western - 2015-03-28
Differentiating yourself - Hack Western - 2015-03-28
Frédéric Harper
 

Plus de Frédéric Harper (20)

2017-11-09 - Fitbit Norcal Developers Meetup (fred)
2017-11-09 - Fitbit Norcal Developers Meetup (fred)2017-11-09 - Fitbit Norcal Developers Meetup (fred)
2017-11-09 - Fitbit Norcal Developers Meetup (fred)
 
2018 04-25 - HLTH hackathon
2018 04-25 - HLTH hackathon2018 04-25 - HLTH hackathon
2018 04-25 - HLTH hackathon
 
2018-06-07 - Singapore Fitbit Developers - Fitbit SDK & Web API Overview
2018-06-07 - Singapore Fitbit Developers - Fitbit SDK & Web API Overview2018-06-07 - Singapore Fitbit Developers - Fitbit SDK & Web API Overview
2018-06-07 - Singapore Fitbit Developers - Fitbit SDK & Web API Overview
 
2018 06-05 - Tokyo Fitbit Developers - Fitbit SDK & Web API Overview
2018 06-05 - Tokyo Fitbit Developers - Fitbit SDK & Web API Overview2018 06-05 - Tokyo Fitbit Developers - Fitbit SDK & Web API Overview
2018 06-05 - Tokyo Fitbit Developers - Fitbit SDK & Web API Overview
 
Public speaking - FDP tech leads summit - 2018-04-30
Public speaking - FDP tech leads summit - 2018-04-30Public speaking - FDP tech leads summit - 2018-04-30
Public speaking - FDP tech leads summit - 2018-04-30
 
2018 04-25 - HLTH hackathon
2018 04-25 - HLTH hackathon2018 04-25 - HLTH hackathon
2018 04-25 - HLTH hackathon
 
From employee to freelance developer in 10 steps - DevTeach - 2017-07-04
From employee to freelance developer in 10 steps - DevTeach - 2017-07-04From employee to freelance developer in 10 steps - DevTeach - 2017-07-04
From employee to freelance developer in 10 steps - DevTeach - 2017-07-04
 
Infrastructure as a service to its maximum, a cultural change - S2LQ - 2016-0...
Infrastructure as a service to its maximum, a cultural change - S2LQ - 2016-0...Infrastructure as a service to its maximum, a cultural change - S2LQ - 2016-0...
Infrastructure as a service to its maximum, a cultural change - S2LQ - 2016-0...
 
With great power comes great responsibility - Microsoft Canada Open Source co...
With great power comes great responsibility - Microsoft Canada Open Source co...With great power comes great responsibility - Microsoft Canada Open Source co...
With great power comes great responsibility - Microsoft Canada Open Source co...
 
Frédéric harper i don’t like open source, and you shouldn't like it eithe...
Frédéric harper   i don’t like open source, and you shouldn't like it eithe...Frédéric harper   i don’t like open source, and you shouldn't like it eithe...
Frédéric harper i don’t like open source, and you shouldn't like it eithe...
 
Responsive Web Design, the secret sauce - MSDEVMTL - 2016-01-25
Responsive Web Design, the secret sauce - MSDEVMTL - 2016-01-25Responsive Web Design, the secret sauce - MSDEVMTL - 2016-01-25
Responsive Web Design, the secret sauce - MSDEVMTL - 2016-01-25
 
Responsive Web Design: the secret sauce - JavaScript Open Day Montreal - 2015...
Responsive Web Design: the secret sauce - JavaScript Open Day Montreal - 2015...Responsive Web Design: the secret sauce - JavaScript Open Day Montreal - 2015...
Responsive Web Design: the secret sauce - JavaScript Open Day Montreal - 2015...
 
Is your python application secure? - PyCon Canada - 2015-11-07
Is your python application secure? - PyCon Canada - 2015-11-07Is your python application secure? - PyCon Canada - 2015-11-07
Is your python application secure? - PyCon Canada - 2015-11-07
 
Personal branding for developers - West Island developers and entrepreneurs m...
Personal branding for developers - West Island developers and entrepreneurs m...Personal branding for developers - West Island developers and entrepreneurs m...
Personal branding for developers - West Island developers and entrepreneurs m...
 
Responsive Web Design, get the best out of your designs - JavaScript Open Day...
Responsive Web Design, get the best out of your designs - JavaScript Open Day...Responsive Web Design, get the best out of your designs - JavaScript Open Day...
Responsive Web Design, get the best out of your designs - JavaScript Open Day...
 
Differentiating yourself humber college - 2015-03-30
Differentiating yourself   humber college - 2015-03-30Differentiating yourself   humber college - 2015-03-30
Differentiating yourself humber college - 2015-03-30
 
Differentiating yourself - Hack Western - 2015-03-28
Differentiating yourself - Hack Western - 2015-03-28Differentiating yourself - Hack Western - 2015-03-28
Differentiating yourself - Hack Western - 2015-03-28
 
Le personal branding, plus important que jamais - PHP Québec - 2015-03-05
Le personal branding, plus important que jamais - PHP Québec - 2015-03-05Le personal branding, plus important que jamais - PHP Québec - 2015-03-05
Le personal branding, plus important que jamais - PHP Québec - 2015-03-05
 
Building a personal brand in the developer community - Codementor Office Hour...
Building a personal brand in the developer community - Codementor Office Hour...Building a personal brand in the developer community - Codementor Office Hour...
Building a personal brand in the developer community - Codementor Office Hour...
 
Ma Carrière Techno - École secondaire St-Henri - 2014-11-27
Ma Carrière Techno - École secondaire St-Henri - 2014-11-27Ma Carrière Techno - École secondaire St-Henri - 2014-11-27
Ma Carrière Techno - École secondaire St-Henri - 2014-11-27
 

Dernier

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Dernier (20)

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 

Prairie Dev Con West - 2012-03-14 - Webmatrix, see what the matrix can do for you

  • 1. WebMatrix: See What the Matrix Can Do For You Frédéric Harper Developer Evangelist @ Microsoft Canada @fharper | outofcomfortzone.net
  • 2. Agenda • What is WebMatrix? • Who is WebMatrix for? • Razor syntax • Database access • Helpers • App Gallery & OSS Apps
  • 5. My goals 1. Show you how it’s easy to use WebMatrix to create awesome websites or Web applications
  • 7. What is WebMatrix It’s a free tool that makes it easy to Create Configure Publish your websites and web applications
  • 9. What is WebMatrix 1. Web App Gallery & Templates
  • 10. What is WebMatrix 1. Web App Gallery & Templates 2. Web Server: IIS Express
  • 11. What is WebMatrix 1. Web App Gallery & Templates 2. Web Server: IIS Express 3. Standards Support: HTML5, CSS3, JavaScript/jQuery
  • 12. What is WebMatrix 1. Web App Gallery & Templates 2. Web Server: IIS Express 3. Standards Support: HTML5, CSS3, JavaScript/jQuery 4. Scripting Support: ASP.NET & PHP
  • 13. What is WebMatrix 1. Web App Gallery & Templates 2. Web Server: IIS Express 3. Standards Support: HTML5, CSS3, JavaScript/jQuery 4. Scripting Support: ASP.NET & PHP 5. DB Manager: SQL Server & MySQL
  • 14. What is WebMatrix 1. Web App Gallery & Templates 2. Web Server: IIS Express 3. Standards Support: HTML5, CSS3, JavaScript/jQuery 4. Scripting Support: ASP.NET & PHP 5. DB Manager: SQL Server & MySQL 6. Optimization Tools: SEO & Performance
  • 15. Who is WebMatrix for? I <3 Web Apps. I want to build web I’m a professional and I I just need a tool that sites myself with an build complex, large makes them easier to easy to learn tool scale web sites with a configure, customize and framework team of developers and publish
  • 16. Two ways to build
  • 17. Two ways to build Option A: From Scratch
  • 18. Two ways to build Option A: Option B: From Scratch From Web App
  • 19. A lap around WebMatrix
  • 20. Razor
  • 22. What is Razor 1. A new view engine
  • 23. What is Razor 1. A new view engine 2. Compact, Expressive, and Fluid
  • 24. What is Razor 1. A new view engine 2. Compact, Expressive, and Fluid 3. Easy to Learn
  • 25. What is Razor 1. A new view engine 2. Compact, Expressive, and Fluid 3. Easy to Learn 4. Is not a new language
  • 26. What is Razor 1. A new view engine 2. Compact, Expressive, and Fluid 3. Easy to Learn 4. Is not a new language 5. Works with any Text Editor
  • 27. What is Razor 1. A new view engine 2. Compact, Expressive, and Fluid 3. Easy to Learn 4. Is not a new language 5. Works with any Text Editor 6. Has great Intellisense & Unit Testable
  • 28. Introducing Razor <ul> <% for (int i = 0; i < 10; i++) { %> Web Forms <li><% =i %></li> (6 transitions): <% } %> </ul> <ul> <?php PHP for ($i = 0; $i < 10; $i++) { (2 transitions & an echo): echo("<li>$i</li>"); } ?> </ul> <ul> @for (int i = 0; i < 10; i++) { Razor <li>@i</li> (2 transitions): } </ul>
  • 29. Code to markup easily @{ Option 1: var name = “John Doe”; HTML Block <div> Your name: @name </div> } @{ Option 2: var name = “John Doe”; Text Block <text> Your name: @name </text> } @{ Option 3: var name = “John Doe”; Single line of output in markup @: Your name: @name }
  • 30. Commenting @* Option 1: <div> Markup Hello World </div> *@ @{ Option 2: //var name = "John Doe”; Code //@name } @* @{ Option 3: //var name = "John Doe"; Both //@name } *@
  • 32. Database • SQL Compact Edition • File-based, so it’s portable. Runs without a server. • Easy to design, easy to code against
  • 33. Database • SQL Compact Edition • File-based, so it’s portable. Runs without a server. • Easy to design, easy to code against Designing
  • 34. Database • SQL Compact Edition • File-based, so it’s portable. Runs without a server. • Easy to design, easy to code against Designing Coding @{ var db = Database.Open("ArtGallery"); var product = db.Query("SELECT * FROM PRODUCTS); }
  • 37. What are Helpers? Helpers make it easy to quickly add commonly used functionality into your websites and many more…
  • 38. Two categories HTML Helpers Make is faster and easier to render commonly used • Facebook markup to the page. • Twitter • … Make is faster and easier API Helpers to call complex APIs from • PayPal your website. • Windows Azure Storage • …
  • 40. App Gallery & OSS Apps
  • 41. OSS Apps 1. Free 2. Popular = large community 3. Gets you close to the solution quickly 4. Easy to configure
  • 42. Build on the success of Web PI Web Platform Installer WebMatrix Download    Install (inc. dependencies)  Customize  SEO Analysis  Publish 
  • 47. Next steps 1. Install WebMatrix 2. Play with it
  • 48. Next steps 1. Install WebMatrix 2. Play with it 1. Create a new website with templates or from scratch
  • 49. Next steps 1. Install WebMatrix 2. Play with it 1. Create a new website with templates or from scratch 2. Edit an existing one or deploy an app by using the App Gallery
  • 50. Next steps 1. Install WebMatrix 2. Play with it 1. Create a new website with templates or from scratch 2. Edit an existing one or deploy an app by using the App Gallery 3. Unleash the power of the Matrix & have fun
  • 52. Questions Frederic Harper, Developer Evangelist fredh@microsoft.com @fharper http://webnotwar.ca http://outofcomfortzone.net