Full-stack, functional web development on WebAssembly with F# and Bolero

schedule Nov 15th 11:00 - 11:45 AM place Ball Room 1 people 23 Interested

Bolero (http://fsbolero.io) is a functional, reactive web development library for F# developers targeting WebAssembly via Blazor. Next to building on a familiar Model-View-Update (MVU) architecture, Bolero also integrates a number of power features from WebSharper (http://websharper.com) to enable ultra-efficient, full-stack F# web applications. By plugging into the ever-growing Blazor ecosystem, you will enjoy developing most of your code base without JavaScript, and discover a new and promising alternative to building performant web applications. Come to this talk and learn everything you need to know about developing Bolero applications, and jumpstart your productivity with skills that will leave any Blazor developer impressed.

 
 

Outline/Structure of the Talk

  • Quick look at the landscape - Blazor and Bolero
  • Getting started with Bolero - your first Bolero project
  • The Model-View-Update (MVU) pattern
  • Working with server and client side code
  • Next steps (HTML templating, integrating Blazor components)
  • Advanced topics (JavaScript interop, and more)

Learning Outcome

Attendees will be able to develop basic F# full-stack web applications that run on WebAssembly via Blazor, understand how to structure their applications, how to use templating to display UI controls and full pages, how to retrieve and work with data from the user, and how to work with existing components.

Target Audience

.NET (C#, F#) developers, FP developers, Level 100+

Prerequisites for Attendees

No special prerequisites. A basic command of .NET tools, Visual Studio, Blazor and F# is helpful.

schedule Submitted 3 months ago

Public Feedback

comment Suggest improvements to the Speaker

  • Liked Harald Schult Ulriksen
    keyboard_arrow_down

    Harald Schult Ulriksen - From C# monolith to functional actors with Orleans and F#

    45 Mins
    Talk
    Intermediate

    This is an experience talk from my work with NRK, the

    Norwegian Broadcasting Company, Norway's public broadcaster.

    Over the last 3-4 years we've taken the TV and radio streaming sites from a monolith to multiple

    domain based services. We'll look at how we've transitioned the from a pure object oriented development team to a function friendly organzation, how gorwing the organization forced us to work with Conways law, as well as a deep dive into the bounded context of personalization.

    Keeping track of user progress and favorite shows is the responsibility of Personalization domain, with high performance requirements and surprisingly

    complex business rules. With new business rules and changing architecture, Personalization was in dire need of work. Combining FSharp and its typesystem and immutability with Orleans, an open source Virtual Actor platform for distributed high-scale computing applications, provided us with functional programming with OO principles in a fast and scalable platform. I'll show why we chose this path, the benefits we gained going from C# to F# and some of the lessons learned building on an actor model.

  • Liked Adam Granicz
    keyboard_arrow_down

    Adam Granicz - Building a blog engine in F# with WebSharper

    Adam Granicz
    Adam Granicz
    CEO
    IntelliFactory
    schedule 3 months ago
    Sold Out!
    90 Mins
    Tutorial
    Intermediate

    When it comes to developers blogging, expectations are high and many find that it’s a worthwhile effort to develop simple scripts, tools and even full engines to enhance and support blogging about their favorite language. In this hands-on session, you will implement your own blog engine from scratch in just a few hundred lines of F# code using WebSharper, and use its static file generation capabilities to generate blog pages that you can deploy directly into GitHub Pages or host in any web server. The resulting blog can easily be styled using WebSharper’s powerful templating capabilities, and even automated to rebuild when you commit new content or blog articles in your blog repository. You will also learn about adding dynamic functionality to your generated blog pages, or even turning your blog engine to a hosted solution that provides further capabilities as well. No more searching for blog engines with the right features, code what you need and enjoy!