SlideShare une entreprise Scribd logo
1  sur  16
Getting Started with F# Web Development  October 21, 2010 1
Daniel MohlC# MVP and F# Insider October 21, 2010 2 dmohl@yahoo.com www.twitter.com/dmohl blog.danielmohl.com
What Are We Doing? Why F#? F# Primer/Review F#/C# Silverlight Example F# Silverlight Example F#/C# ASP.NET MVC 2 Example WebSharper Example What Wasn’t Covered? Wrap it Up October 21, 2010 3
Why F#? Simple Code to Solve Complex Problems Terse Yet Readable Less Errors Features Not In Other Mainstream Languages Staying Ahead of the Competition October 21, 2010 4
Why F# for Web Dev? Asynchronous Workflows and Reactive Programming F#/JavaScript Commonalities Easier to support next generation web development  Silverlight HTML5 (Web Sockets, Canvas)  Twitter Feed Sample (Reactive Programming) Web Socket Example Canvas Example October 21, 2010 5
F# Primer/Review Whitespace Matters The let Keyword Pattern Matching More During the Demos October 21, 2010 6
Whitespace Matters October 21, 2010 7 //F# open System let doSomethingval =  val + val Console.WriteLine    (doSomething 1) //C# using System; namespace ConsoleApplication1 { class Program { static intdoSomething(intval) { return val + val; } static void Main(string[] args) { Console.WriteLine( doSomething(1));             } } }
The let Keyword October 21, 2010 8 //F# open System let val2 = 1 let doSomethingval =  val + val2 Console.WriteLine    (doSomething 1) //C# using System; namespace ConsoleApplication1 {  class Program {    static int val2 = 1; static intdoSomething(intval) { return val+ val2; } static void Main(string[] args) { Console.WriteLine( doSomething(1));             } } }
Pattern Matching October 21, 2010 9 Kind of like a switch/case statement, but so much more!
F#/C# Silverlight Example http://visualstudiogallery.msdn.microsoft.com/en-us/64f3d710-04c1-42d2-9e5d-4e20a19a7666 October 21, 2010 10
F# Silverlight Example http://visualstudiogallery.msdn.microsoft.com/en-us/f0e9a557-3fd6-41d9-8518-c1735b382c73 October 21, 2010 11
F#/C# ASP.NET MVC2 Example http://visualstudiogallery.msdn.microsoft.com/en-us/c36619e5-0d4a-4067-8ced-decd18e834c9 October 21, 2010 12
WebSharper Example http://visualstudiogallery.msdn.microsoft.com/en-us/288b94ea-0ea7-4dde-8906-f72eb22fbe1b October 21, 2010 13
What Wasn’t Covered? October 21, 2010 14 Lots of F# Features Other F# Web Frameworks Bistro Suave Frank and Frack
More Information October 21, 2010 15 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
Daniel MohlC# MVP and F# Insider October 21, 2010 16 dmohl@yahoo.com www.twitter.com/dmohl blog.danielmohl.com

Contenu connexe

Similaire à Getting Started with F# Web Development

Building Better Web Apps with F#
Building Better Web Apps with F#Building Better Web Apps with F#
Building Better Web Apps with F#Dan Mohl
 
Bay NET Aug 19 2009 presentation ppt
Bay  NET Aug 19 2009 presentation pptBay  NET Aug 19 2009 presentation ppt
Bay NET Aug 19 2009 presentation pptArt Scott
 
Functional webapplicaations using fsharp and suave
Functional webapplicaations using fsharp and suaveFunctional webapplicaations using fsharp and suave
Functional webapplicaations using fsharp and suaveTomas Jansson
 
Getting+started+with+f#+web+development
Getting+started+with+f#+web+developmentGetting+started+with+f#+web+development
Getting+started+with+f#+web+developmentdmohl
 
JMP208 The Never Ending Integration Story: How to Integrate Your Lotus Notes,...
JMP208 The Never Ending Integration Story: How to Integrate Your Lotus Notes,...JMP208 The Never Ending Integration Story: How to Integrate Your Lotus Notes,...
JMP208 The Never Ending Integration Story: How to Integrate Your Lotus Notes,...John Head
 
Lotusphere 2011 - Jmp208
Lotusphere 2011 - Jmp208Lotusphere 2011 - Jmp208
Lotusphere 2011 - Jmp208akassabov
 
What the math geeks don't want you to know about F#
What the math geeks don't want you to know about F#What the math geeks don't want you to know about F#
What the math geeks don't want you to know about F#Kevin Hazzard
 
Bp308 Ibm Lotus Domino Web Facelift Using Ajax And Dxl
Bp308 Ibm Lotus Domino Web Facelift Using Ajax And DxlBp308 Ibm Lotus Domino Web Facelift Using Ajax And Dxl
Bp308 Ibm Lotus Domino Web Facelift Using Ajax And Dxldominion
 
3iGlobal Pvt. Ltd. - Presentation on Web 2.0 Technologies
3iGlobal Pvt. Ltd. - Presentation on Web 2.0 Technologies3iGlobal Pvt. Ltd. - Presentation on Web 2.0 Technologies
3iGlobal Pvt. Ltd. - Presentation on Web 2.0 TechnologiesAnvith K.S.
 
3iGlobal Pvt. Ltd. - Presentation on Web 2.0 Technologies
3iGlobal Pvt. Ltd. - Presentation on Web 2.0 Technologies3iGlobal Pvt. Ltd. - Presentation on Web 2.0 Technologies
3iGlobal Pvt. Ltd. - Presentation on Web 2.0 TechnologiesAnvith K.S.
 
WPF Applications, It's all about XAML these days
WPF Applications, It's all about XAML these daysWPF Applications, It's all about XAML these days
WPF Applications, It's all about XAML these daysDave Bost
 
Progressive f# tutorials nyc don syme on keynote f# in the open source world
Progressive f# tutorials nyc don syme on keynote f# in the open source worldProgressive f# tutorials nyc don syme on keynote f# in the open source world
Progressive f# tutorials nyc don syme on keynote f# in the open source worldSkills Matter
 
IE9: Power, Peformance and Standards
IE9: Power, Peformance and StandardsIE9: Power, Peformance and Standards
IE9: Power, Peformance and StandardsFrank La Vigne
 
11 Reasons Why C# is the Right Choice for Your Next Project
11 Reasons Why C# is the Right Choice for Your Next Project11 Reasons Why C# is the Right Choice for Your Next Project
11 Reasons Why C# is the Right Choice for Your Next ProjectSofiaCarter4
 
A developer's first impressions for windows 8
A developer's first impressions for windows 8A developer's first impressions for windows 8
A developer's first impressions for windows 8Chen Stephen
 

Similaire à Getting Started with F# Web Development (20)

Building Better Web Apps with F#
Building Better Web Apps with F#Building Better Web Apps with F#
Building Better Web Apps with F#
 
Bay NET Aug 19 2009 presentation ppt
Bay  NET Aug 19 2009 presentation pptBay  NET Aug 19 2009 presentation ppt
Bay NET Aug 19 2009 presentation ppt
 
Practical F#
Practical F#Practical F#
Practical F#
 
Functional webapplicaations using fsharp and suave
Functional webapplicaations using fsharp and suaveFunctional webapplicaations using fsharp and suave
Functional webapplicaations using fsharp and suave
 
Getting+started+with+f#+web+development
Getting+started+with+f#+web+developmentGetting+started+with+f#+web+development
Getting+started+with+f#+web+development
 
JMP208 The Never Ending Integration Story: How to Integrate Your Lotus Notes,...
JMP208 The Never Ending Integration Story: How to Integrate Your Lotus Notes,...JMP208 The Never Ending Integration Story: How to Integrate Your Lotus Notes,...
JMP208 The Never Ending Integration Story: How to Integrate Your Lotus Notes,...
 
Lotusphere 2011 - Jmp208
Lotusphere 2011 - Jmp208Lotusphere 2011 - Jmp208
Lotusphere 2011 - Jmp208
 
What the math geeks don't want you to know about F#
What the math geeks don't want you to know about F#What the math geeks don't want you to know about F#
What the math geeks don't want you to know about F#
 
Bp308 Ibm Lotus Domino Web Facelift Using Ajax And Dxl
Bp308 Ibm Lotus Domino Web Facelift Using Ajax And DxlBp308 Ibm Lotus Domino Web Facelift Using Ajax And Dxl
Bp308 Ibm Lotus Domino Web Facelift Using Ajax And Dxl
 
EF Core (RC2)
EF Core (RC2)EF Core (RC2)
EF Core (RC2)
 
C# Introduction brief
C# Introduction briefC# Introduction brief
C# Introduction brief
 
Characteristics of c#
Characteristics of c#Characteristics of c#
Characteristics of c#
 
Bp205
Bp205Bp205
Bp205
 
3iGlobal Pvt. Ltd. - Presentation on Web 2.0 Technologies
3iGlobal Pvt. Ltd. - Presentation on Web 2.0 Technologies3iGlobal Pvt. Ltd. - Presentation on Web 2.0 Technologies
3iGlobal Pvt. Ltd. - Presentation on Web 2.0 Technologies
 
3iGlobal Pvt. Ltd. - Presentation on Web 2.0 Technologies
3iGlobal Pvt. Ltd. - Presentation on Web 2.0 Technologies3iGlobal Pvt. Ltd. - Presentation on Web 2.0 Technologies
3iGlobal Pvt. Ltd. - Presentation on Web 2.0 Technologies
 
WPF Applications, It's all about XAML these days
WPF Applications, It's all about XAML these daysWPF Applications, It's all about XAML these days
WPF Applications, It's all about XAML these days
 
Progressive f# tutorials nyc don syme on keynote f# in the open source world
Progressive f# tutorials nyc don syme on keynote f# in the open source worldProgressive f# tutorials nyc don syme on keynote f# in the open source world
Progressive f# tutorials nyc don syme on keynote f# in the open source world
 
IE9: Power, Peformance and Standards
IE9: Power, Peformance and StandardsIE9: Power, Peformance and Standards
IE9: Power, Peformance and Standards
 
11 Reasons Why C# is the Right Choice for Your Next Project
11 Reasons Why C# is the Right Choice for Your Next Project11 Reasons Why C# is the Right Choice for Your Next Project
11 Reasons Why C# is the Right Choice for Your Next Project
 
A developer's first impressions for windows 8
A developer's first impressions for windows 8A developer's first impressions for windows 8
A developer's first impressions for windows 8
 

Dernier

"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 

Dernier (20)

"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 

Getting Started with F# Web Development

  • 1. Getting Started with F# Web Development October 21, 2010 1
  • 2. Daniel MohlC# MVP and F# Insider October 21, 2010 2 dmohl@yahoo.com www.twitter.com/dmohl blog.danielmohl.com
  • 3. What Are We Doing? Why F#? F# Primer/Review F#/C# Silverlight Example F# Silverlight Example F#/C# ASP.NET MVC 2 Example WebSharper Example What Wasn’t Covered? Wrap it Up October 21, 2010 3
  • 4. Why F#? Simple Code to Solve Complex Problems Terse Yet Readable Less Errors Features Not In Other Mainstream Languages Staying Ahead of the Competition October 21, 2010 4
  • 5. Why F# for Web Dev? Asynchronous Workflows and Reactive Programming F#/JavaScript Commonalities Easier to support next generation web development Silverlight HTML5 (Web Sockets, Canvas) Twitter Feed Sample (Reactive Programming) Web Socket Example Canvas Example October 21, 2010 5
  • 6. F# Primer/Review Whitespace Matters The let Keyword Pattern Matching More During the Demos October 21, 2010 6
  • 7. Whitespace Matters October 21, 2010 7 //F# open System let doSomethingval = val + val Console.WriteLine (doSomething 1) //C# using System; namespace ConsoleApplication1 { class Program { static intdoSomething(intval) { return val + val; } static void Main(string[] args) { Console.WriteLine( doSomething(1)); } } }
  • 8. The let Keyword October 21, 2010 8 //F# open System let val2 = 1 let doSomethingval = val + val2 Console.WriteLine (doSomething 1) //C# using System; namespace ConsoleApplication1 { class Program { static int val2 = 1; static intdoSomething(intval) { return val+ val2; } static void Main(string[] args) { Console.WriteLine( doSomething(1)); } } }
  • 9. Pattern Matching October 21, 2010 9 Kind of like a switch/case statement, but so much more!
  • 10. F#/C# Silverlight Example http://visualstudiogallery.msdn.microsoft.com/en-us/64f3d710-04c1-42d2-9e5d-4e20a19a7666 October 21, 2010 10
  • 11. F# Silverlight Example http://visualstudiogallery.msdn.microsoft.com/en-us/f0e9a557-3fd6-41d9-8518-c1735b382c73 October 21, 2010 11
  • 12. F#/C# ASP.NET MVC2 Example http://visualstudiogallery.msdn.microsoft.com/en-us/c36619e5-0d4a-4067-8ced-decd18e834c9 October 21, 2010 12
  • 14. What Wasn’t Covered? October 21, 2010 14 Lots of F# Features Other F# Web Frameworks Bistro Suave Frank and Frack
  • 15. More Information October 21, 2010 15 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
  • 16. Daniel MohlC# MVP and F# Insider October 21, 2010 16 dmohl@yahoo.com www.twitter.com/dmohl blog.danielmohl.com