SlideShare a Scribd company logo
1 of 23
Download to read offline
Getting Started
    with F# Web
    Development

•    Daniel Mohl
•    @dmohl
•    blog.danielmohl.com
•    github.com/dmohl

1
2             June 16, 2012




 DanielMohl
  @dmohl
  blog.danielmohl.com
  github.com/dmohl


 Getting   Started with F# Web Development
3   June 16, 2012
4   June 16, 2012
5              June 16, 2012




Daniel Mohl
F# MVP and C# Insider


        danmohl@gmail.com
        www.twitter.com/dmohl
        blog.danielmohl.com
6              June 16, 2012




What Are We Doing?
 Why  F#?
 F# Primer/Review
 F#/C# ASP.NET MVC 4 Example
 ASP.NET Web API, Service Stack, Nancy,
  Frank
 Windows Azure
 WebSharper Example
7                  June 16, 2012




Why Functional? Why F#?
   Simple Code to Solve Complex Problems
       Terse Yet Readable
       Less Errors
   The Move to Multi-core (immutable by default)
   Programming in the Small (Single Responsibility
    Principle)
   Higher Level Language Provides Optimization
    Opportunities
   Code That is Correct More Often
   Features Not In Other Mainstream Languages
   Staying Ahead of the Competition
   Why Functional Programming Matters
   F# in the Enterprise
8                  June 16, 2012




Why F# for Web Dev?
   Asynchronous Workflows and Reactive
    Programming
   F#/JavaScript Commonalities
   Easier to support next generation web
    development
       HTML5 (Web Sockets, Canvas)
       Asynchronous and Reactive Programming
Web Socket Example
Canvas Example
Twitter Feed Sample (Reactive Programming)
9    June 16, 2012




F# Primer/Review

 Whitespace  Matters
 The let Keyword
 Pattern Matching
 More During the Demos
10               June 16, 2012




    Whitespace Matters
//F#                    //C#
open System             using System;
let doSomething val =
                        namespace ConsoleApplication1
    val + val
                        {
Console.WriteLine         class Program
    (doSomething 1)       {
                            static int doSomething(int val)
                            {
                                return val + val;
                            }
                            static void Main(string[] args)
                            {
                                Console.WriteLine(
                                    doSomething(1));
                            }
                          }
                        }
11               June 16, 2012




    The let Keyword
//F#                    //C#
open System             using System;
let val2 = 1
                        namespace ConsoleApplication1
let doSomething val =
                        {
    val + val2            class Program
Console.WriteLine         {
    (doSomething 1)         static int val2 = 1;
                            static int doSomething(int val)
                            {
                                return val + val2;
                            }
                            static void Main(string[] args)
                            {
                                Console.WriteLine(
                                    doSomething(1));
                            }
                          }
12                  June 16, 2012




Pattern Matching
Kind of like a switch/case statement, but so
much more!
Example 1:
let boolVal = true
match boolVal with
| true -> printf “was true”
| _ -> printf “was not true”

Example 2:
let name = "Dan", "Mohl"
match name with
| _, "Smith" -> printf "Found a Smith"
| "Don", _ -> printf "Found a Don"
| "Dan", "Mohl" -> printf "Found Dan Mohl"
| _ -> printf "Name not found"
13               June 16, 2012




A Few General Examples

 Sample   F# Script (Simple Strategy Pattern
  Example)
 Fetch Museum List (Async Example)
 Twitter Feed (Reactive Programming
  Example)
 Interactive DirectX
14              June 16, 2012




F#/C# ASP.NET MVC 4
Example
http://visualstudiogallery.msdn.microsoft.co
m/3d2bf938-fc9e-403c-90b3-8de27dc23095
15              June 16, 2012




F#/C# ASP.NET Web API
http://visualstudiogallery.msdn.microsoft.co
m/3d2bf938-fc9e-403c-90b3-8de27dc23095
16      June 16, 2012




Sidebar


          Windows 9?
17   June 16, 2012




Windows 8
18   June 16, 2012




Windows 9?
19   June 16, 2012




Other Web Frameworks
-   Service Stack

-   Nancy

-   Frank
20               June 16, 2012




F# and Azure
-   Fog - https://github.com/dmohl/Fog
21              June 16, 2012




WebSharper Example
http://visualstudiogallery.msdn.microsoft.co
m/en-us/288b94ea-0ea7-4dde-8906-
f72eb22fbe1b

Check out http://fpish.net for an example
of a live site built with WebSharper.
22                  June 16, 2012




More Information
   Books - http://msdn.microsoft.com/en-
    us/fsharp/gg262865.aspx
   F# MSDN - http://msdn.microsoft.com/en-
    us/fsharp/gg262865.aspx
   Blogs
   Twitter
   Ask – F# has the greatest community around
23             June 16, 2012




Daniel Mohl
F# MVP and C# Insider


        danmohl@gmail.com
        www.twitter.com/dmohl
        blog.danielmohl.com

More Related Content

Similar to Getting+started+with+f#+web+development

Cross-Platform Mobile Development in Visual Studio
Cross-Platform Mobile Development in Visual StudioCross-Platform Mobile Development in Visual Studio
Cross-Platform Mobile Development in Visual Studiobryan costanich
 
State ofappdevelopment
State ofappdevelopmentState ofappdevelopment
State ofappdevelopmentgillygize
 
.Net passé, présent et futur
.Net passé, présent et futur.Net passé, présent et futur
.Net passé, présent et futurDenis Voituron
 
.NET and C# introduction
.NET and C# introduction.NET and C# introduction
.NET and C# introductionPeter Gfader
 
Developing Android and iOS Apps With C#, .NET, Xamarin, Mono, and Windows Azure
Developing Android and iOS Apps With C#, .NET, Xamarin, Mono, and Windows AzureDeveloping Android and iOS Apps With C#, .NET, Xamarin, Mono, and Windows Azure
Developing Android and iOS Apps With C#, .NET, Xamarin, Mono, and Windows AzureRainer Stropek
 
Building Cross-Platform Mobile Apps
Building Cross-Platform Mobile AppsBuilding Cross-Platform Mobile Apps
Building Cross-Platform Mobile AppsTroy Miles
 
Hacking the Codename One Source Code - Part IV - Transcript.pdf
Hacking the Codename One Source Code - Part IV - Transcript.pdfHacking the Codename One Source Code - Part IV - Transcript.pdf
Hacking the Codename One Source Code - Part IV - Transcript.pdfShaiAlmog1
 
Code Documentation. That ugly thing...
Code Documentation. That ugly thing...Code Documentation. That ugly thing...
Code Documentation. That ugly thing...Christos Manios
 
Introduction to Go language
Introduction to Go languageIntroduction to Go language
Introduction to Go languageTzar Umang
 
Universal app techniques on how to share files
Universal app techniques on how to share filesUniversal app techniques on how to share files
Universal app techniques on how to share filesRobert Hedgate
 
(1) c sharp introduction_basics_dot_net
(1) c sharp introduction_basics_dot_net(1) c sharp introduction_basics_dot_net
(1) c sharp introduction_basics_dot_netNico Ludwig
 
Save time by applying clean code principles
Save time by applying clean code principlesSave time by applying clean code principles
Save time by applying clean code principlesEdorian
 
JMP205 - Integration of IBM Lotus Notes and Lotus Domino with Microsoft Offic...
JMP205 - Integration of IBM Lotus Notes and Lotus Domino with Microsoft Offic...JMP205 - Integration of IBM Lotus Notes and Lotus Domino with Microsoft Offic...
JMP205 - Integration of IBM Lotus Notes and Lotus Domino with Microsoft Offic...John Head
 

Similar to Getting+started+with+f#+web+development (20)

Cross-Platform Mobile Development in Visual Studio
Cross-Platform Mobile Development in Visual StudioCross-Platform Mobile Development in Visual Studio
Cross-Platform Mobile Development in Visual Studio
 
State ofappdevelopment
State ofappdevelopmentState ofappdevelopment
State ofappdevelopment
 
Intro To AOP
Intro To AOPIntro To AOP
Intro To AOP
 
.Net passé, présent et futur
.Net passé, présent et futur.Net passé, présent et futur
.Net passé, présent et futur
 
Training javascript 2012 hcmut
Training javascript 2012 hcmutTraining javascript 2012 hcmut
Training javascript 2012 hcmut
 
.NET and C# introduction
.NET and C# introduction.NET and C# introduction
.NET and C# introduction
 
Developing Android and iOS Apps With C#, .NET, Xamarin, Mono, and Windows Azure
Developing Android and iOS Apps With C#, .NET, Xamarin, Mono, and Windows AzureDeveloping Android and iOS Apps With C#, .NET, Xamarin, Mono, and Windows Azure
Developing Android and iOS Apps With C#, .NET, Xamarin, Mono, and Windows Azure
 
Building Cross-Platform Mobile Apps
Building Cross-Platform Mobile AppsBuilding Cross-Platform Mobile Apps
Building Cross-Platform Mobile Apps
 
Hacking the Codename One Source Code - Part IV - Transcript.pdf
Hacking the Codename One Source Code - Part IV - Transcript.pdfHacking the Codename One Source Code - Part IV - Transcript.pdf
Hacking the Codename One Source Code - Part IV - Transcript.pdf
 
Code Documentation. That ugly thing...
Code Documentation. That ugly thing...Code Documentation. That ugly thing...
Code Documentation. That ugly thing...
 
Introduction to Go language
Introduction to Go languageIntroduction to Go language
Introduction to Go language
 
JS Class 2016
JS Class 2016JS Class 2016
JS Class 2016
 
JS class slides (2016)
JS class slides (2016)JS class slides (2016)
JS class slides (2016)
 
Why kotlininandroid
Why kotlininandroidWhy kotlininandroid
Why kotlininandroid
 
C# 6
C# 6C# 6
C# 6
 
Universal app techniques on how to share files
Universal app techniques on how to share filesUniversal app techniques on how to share files
Universal app techniques on how to share files
 
(1) c sharp introduction_basics_dot_net
(1) c sharp introduction_basics_dot_net(1) c sharp introduction_basics_dot_net
(1) c sharp introduction_basics_dot_net
 
Android Dev Study Jam.pptx
Android Dev Study Jam.pptxAndroid Dev Study Jam.pptx
Android Dev Study Jam.pptx
 
Save time by applying clean code principles
Save time by applying clean code principlesSave time by applying clean code principles
Save time by applying clean code principles
 
JMP205 - Integration of IBM Lotus Notes and Lotus Domino with Microsoft Offic...
JMP205 - Integration of IBM Lotus Notes and Lotus Domino with Microsoft Offic...JMP205 - Integration of IBM Lotus Notes and Lotus Domino with Microsoft Offic...
JMP205 - Integration of IBM Lotus Notes and Lotus Domino with Microsoft Offic...
 

Recently uploaded

Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFMichael Gough
 
Digital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentDigital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentMahmoud Rabie
 
Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessWSO2
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...Nikki Chapple
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Jeffrey Haguewood
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
QMMS Lesson 2 - Using MS Excel Formula.pdf
QMMS Lesson 2 - Using MS Excel Formula.pdfQMMS Lesson 2 - Using MS Excel Formula.pdf
QMMS Lesson 2 - Using MS Excel Formula.pdfROWELL MARQUINA
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfAarwolf Industries LLC
 
WomenInAutomation2024: AI and Automation for eveyone
WomenInAutomation2024: AI and Automation for eveyoneWomenInAutomation2024: AI and Automation for eveyone
WomenInAutomation2024: AI and Automation for eveyoneUiPathCommunity
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Mark Simos
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 

Recently uploaded (20)

Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDF
 
Digital Tools & AI in Career Development
Digital Tools & AI in Career DevelopmentDigital Tools & AI in Career Development
Digital Tools & AI in Career Development
 
Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with Platformless
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
Microsoft 365 Copilot: How to boost your productivity with AI – Part two: Dat...
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
QMMS Lesson 2 - Using MS Excel Formula.pdf
QMMS Lesson 2 - Using MS Excel Formula.pdfQMMS Lesson 2 - Using MS Excel Formula.pdf
QMMS Lesson 2 - Using MS Excel Formula.pdf
 
Landscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdfLandscape Catalogue 2024 Australia-1.pdf
Landscape Catalogue 2024 Australia-1.pdf
 
WomenInAutomation2024: AI and Automation for eveyone
WomenInAutomation2024: AI and Automation for eveyoneWomenInAutomation2024: AI and Automation for eveyone
WomenInAutomation2024: AI and Automation for eveyone
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 

Getting+started+with+f#+web+development

  • 1. Getting Started with F# Web Development • Daniel Mohl • @dmohl • blog.danielmohl.com • github.com/dmohl 1
  • 2. 2 June 16, 2012  DanielMohl  @dmohl  blog.danielmohl.com  github.com/dmohl  Getting Started with F# Web Development
  • 3. 3 June 16, 2012
  • 4. 4 June 16, 2012
  • 5. 5 June 16, 2012 Daniel Mohl F# MVP and C# Insider danmohl@gmail.com www.twitter.com/dmohl blog.danielmohl.com
  • 6. 6 June 16, 2012 What Are We Doing?  Why F#?  F# Primer/Review  F#/C# ASP.NET MVC 4 Example  ASP.NET Web API, Service Stack, Nancy, Frank  Windows Azure  WebSharper Example
  • 7. 7 June 16, 2012 Why Functional? Why F#?  Simple Code to Solve Complex Problems  Terse Yet Readable  Less Errors  The Move to Multi-core (immutable by default)  Programming in the Small (Single Responsibility Principle)  Higher Level Language Provides Optimization Opportunities  Code That is Correct More Often  Features Not In Other Mainstream Languages  Staying Ahead of the Competition  Why Functional Programming Matters  F# in the Enterprise
  • 8. 8 June 16, 2012 Why F# for Web Dev?  Asynchronous Workflows and Reactive Programming  F#/JavaScript Commonalities  Easier to support next generation web development  HTML5 (Web Sockets, Canvas)  Asynchronous and Reactive Programming Web Socket Example Canvas Example Twitter Feed Sample (Reactive Programming)
  • 9. 9 June 16, 2012 F# Primer/Review  Whitespace Matters  The let Keyword  Pattern Matching  More During the Demos
  • 10. 10 June 16, 2012 Whitespace Matters //F# //C# open System using System; let doSomething val = namespace ConsoleApplication1 val + val { Console.WriteLine class Program (doSomething 1) { static int doSomething(int val) { return val + val; } static void Main(string[] args) { Console.WriteLine( doSomething(1)); } } }
  • 11. 11 June 16, 2012 The let Keyword //F# //C# open System using System; let val2 = 1 namespace ConsoleApplication1 let doSomething val = { val + val2 class Program Console.WriteLine { (doSomething 1) static int val2 = 1; static int doSomething(int val) { return val + val2; } static void Main(string[] args) { Console.WriteLine( doSomething(1)); } }
  • 12. 12 June 16, 2012 Pattern Matching Kind of like a switch/case statement, but so much more! Example 1: let boolVal = true match boolVal with | true -> printf “was true” | _ -> printf “was not true” Example 2: let name = "Dan", "Mohl" match name with | _, "Smith" -> printf "Found a Smith" | "Don", _ -> printf "Found a Don" | "Dan", "Mohl" -> printf "Found Dan Mohl" | _ -> printf "Name not found"
  • 13. 13 June 16, 2012 A Few General Examples  Sample F# Script (Simple Strategy Pattern Example)  Fetch Museum List (Async Example)  Twitter Feed (Reactive Programming Example)  Interactive DirectX
  • 14. 14 June 16, 2012 F#/C# ASP.NET MVC 4 Example http://visualstudiogallery.msdn.microsoft.co m/3d2bf938-fc9e-403c-90b3-8de27dc23095
  • 15. 15 June 16, 2012 F#/C# ASP.NET Web API http://visualstudiogallery.msdn.microsoft.co m/3d2bf938-fc9e-403c-90b3-8de27dc23095
  • 16. 16 June 16, 2012 Sidebar Windows 9?
  • 17. 17 June 16, 2012 Windows 8
  • 18. 18 June 16, 2012 Windows 9?
  • 19. 19 June 16, 2012 Other Web Frameworks - Service Stack - Nancy - Frank
  • 20. 20 June 16, 2012 F# and Azure - Fog - https://github.com/dmohl/Fog
  • 21. 21 June 16, 2012 WebSharper Example http://visualstudiogallery.msdn.microsoft.co m/en-us/288b94ea-0ea7-4dde-8906- f72eb22fbe1b Check out http://fpish.net for an example of a live site built with WebSharper.
  • 22. 22 June 16, 2012 More Information  Books - http://msdn.microsoft.com/en- us/fsharp/gg262865.aspx  F# MSDN - http://msdn.microsoft.com/en- us/fsharp/gg262865.aspx  Blogs  Twitter  Ask – F# has the greatest community around
  • 23. 23 June 16, 2012 Daniel Mohl F# MVP and C# Insider danmohl@gmail.com www.twitter.com/dmohl blog.danielmohl.com