dotnet-websharper / core

WebSharper - Full-stack, functional, reactive web apps and microservices in F# and C#
https://websharper.com
Apache License 2.0
594 stars 52 forks source link

Deprecated static template generation support #63

Closed intellifactory-bb closed 9 years ago

intellifactory-bb commented 9 years ago

The deprecated static templates have two components that make life difficult:

  1. MSBuild task in Sitelets.targets - this causes trouble when it fails to load in AppHarbor scenario
  2. VisualStudio add-ins: these are not tested on VS11 and have known to cause trouble with installation.

There is no need for any of this except as a means of backwards-compatibility for static templates. I propose we finally cut support for static templates and encourage people to upgrade to newer dynamic HTML templates, and remove these troublesome features.


intellifactory-bb commented 9 years ago

Static templates are indeed not that terribly useful, but they are type safe and thus an important, even if little used, feature of the offering. Can you add what issues you are referring to above?


Original comment by: Adam Granicz

intellifactory-bb commented 9 years ago

To keep supporting static templates we'd have to (1) re-work the MSBuild integration, because currently it makes all builds fail in the AppHarbor scenario. MSBuild integration is necessary to make sure static templates build in the command-line / build server scenario, even when their output is not in source control (2) to be consistent, we'll have to port the VS plugin (now two versions for VS 2008 and VS 2010) to work on VS 2011. VS plugin is necessary to rebuild the templates "just-in-time" when working from VS.

It's possible.

I've just been looking forward for a while to removing ST - I see a benefit in reducing complexity (which we have a lot of).

I really see no use for them when we have DT. Safety in DT is recovered with testing - template inconsistencies will prevent your whole app from working, not just a specific page or two deep in the app, so it's impossible to miss.

If you do want to have a compile-time-safe template system then today F# 3.0 + custom TypeProvider is the way to go. We might consider doing this, ideally with a syntax/api compatible with DT.


Original comment by: Anton Tayanovskyy

intellifactory-bb commented 9 years ago

Fix #63.

→ <<cset 3f0e00420590>>


Original comment by: Anton Tayanovskyy