Live data from Hacker News

WebSharper: Make web apps in F#

websharper.com

41–50 of 86 posts

Re: WebSharper: Make web apps in F#

#41
post #2

This looks super interesting. I don't think I've ever seen anything like it. At first I thought it was similar to Classic ASP or JSPs, but after looking at some the examples, it's more like a JS framework in that it generates HTML dynamically with client side code. But, the thing that really looks cool to me is the interop between client and server that you can do. You can use the exact same "type Person = {Name:stri…

It's a F#-to-JS compiler, a UI framework, and an RPC system all built into one. Script# is similar, for C#, but I don't think it got that far? MS did start "Project Volta" IIRC but then gave up on it. There's also FunScript: http://funscript.info/ but that seems more focused only on the JS generation part. I don't know why Micrsoft doesn't buy these guys and deliver this as a core solution. I'd guess it's because it'…

There are already a few approaches out there for compiling C# to JS, like my JSIL (http://jsil.org/) and Script#'s unofficial successor, Saltarelle (http://www.saltarelle-compiler.com/). I believe there is a new Roslyn-based C#->JS compiler in the works as well.

I'm not aware of anything that approaches WebSharper's level of integration, though. It's a really impressive piece of work.

Re: WebSharper: Make web apps in F#

#42

Earlier quoted context omitted.

It's been around for a few years. I was able to use it to quickly whip up some sorta-complicated UIs for some internal tools. I despise JS, and have spent hours of time fixing simple casing errors or other things that static typing would fix. Plus F# the language is quite superior to JS, so I don't feel icky while working on it. The other benefit is that I can use all the same type definitions, so I don't need to wri…

GWT has long-ish compile times and it involves quite a house of cards, with getting the Eclipse plugin to talk to the browser plugin, for the 1? browser that actually has a plugin. Yeesh :(

Fixed in GWT 2.7 builds (already available):

https://www.youtube.com/watch?v=qpCSbj36O44&feature=youtu.be

Re: WebSharper: Make web apps in F#

#43

The project is really great, however license is really bad. A modern framework, should be open source under liberal license. Licenses like this worked in 90s, but currently they don't work.

If you don't like the license, don't use the framework. It's that simple. Charging for commercial licenses for libraries is a perfectly valid business strategy, and I can see lots of F# developers paying for this.

AFAIK, even for the open-source license - you only have to provide source code to your client - i.e. when distributing...

If you're using this framework for your personal project - you're free to not to release source code - since you're not distributing the binaries of your project either.

Re: WebSharper: Make web apps in F#

#44
post #15

Is this an arms length Jetbrains thing? If not, it seems awfully odd that its name is so close to Resharper and the parent company is called IntelliFactory, which is so close to IntelliJ. I guess there's nothing wrong with that. Just odd.

They're either related to Jetbrains in some way or really lack creativity or maybe they're trying to unduly profit off the good reputation Jetbrains generally has in the community.

Re: WebSharper: Make web apps in F#

#46
post #38

Earlier quoted context omitted.

This license makes it impossible to create non open source software without paying the company, which makes it practically useless for commercial development. Liberal license are licenses like BSD, Apache, etc, which allows people to create commercial derivative works without disclosing source code.

How does it make it useless? Why wouldn't you pay a license fee for developing commercial (closed source) software? If you want to sell the code to the client, use the AGPL, if you want to sell the (closed) service, get a commercial license? The AGPL allows you to develop closed internal tools (no distribution to third party), optionally distribute without a cost under the AGPL -- and they also offer an option for co…

Any open-source code would have to be released under the terms of the AGPL as well (although could potentially be dual-licensed). It could also not use GPLv2 libraries (although could use GPLv3 libraries), or libraries with other copyleft licenses for the most part.

It's... an extremely restrictive license, generally, and not one I'm comfortable using as an open-source developer. I know many others feel the same, which would lead to a lack of community, leading to a lack of community support, and potentially leading to the death of the product.

Re: WebSharper: Make web apps in F#

#47
post #38

Earlier quoted context omitted.

How does it make it useless? Why wouldn't you pay a license fee for developing commercial (closed source) software? If you want to sell the code to the client, use the AGPL, if you want to sell the (closed) service, get a commercial license? The AGPL allows you to develop closed internal tools (no distribution to third party), optionally distribute without a cost under the AGPL -- and they also offer an option for co…

Any open-source code would have to be released under the terms of the AGPL as well (although could potentially be dual-licensed). It could also not use GPLv2 libraries (although could use GPLv3 libraries), or libraries with other copyleft licenses for the most part. It's... an extremely restrictive license, generally, and not one I'm comfortable using as an open-source developer. I know many others feel the same, whi…

While I like the AGPL, for projects where it's appropriate (I think it fills a need to ensure that users of the software have the four freedoms, even if they only (mainly) use a service, not a local program) -- I also generally think libraries are better served by LGPL.

It's a rather complex issue -- not just how do delineate "libraries" as opposed to "derived works" -- but also how much is needed in the "main product" for it to be useful. Architecturally it might make sense to have the "program" or "service" be a thin wrapper around several libraries -- but if only the program is AGPL, and the libraries are LGPL -- how do we make sure the end user is free to maintain the software if needed?

The main thing with the GNU line of reasoning, is user rights. If viewed from the perspective as "just" a developer, many of the licenses look restrictive -- because it limits the developers power over end users.

I think we all end up with more freedom as a result of that -- not everyone agrees.

As for mixing -- I'm not sure how the "open source" exceptions in the license are supposed to affect that -- my cursory reading seemed to imply that the idea was to allow mixing with code under other licenses. But I must admit that's not a subject I've considered much.

Re: WebSharper: Make web apps in F#

#48

It's well intentioned, but this project is destined to go nowhere fast. Abstracting away web development and http has been tried again and again, and always ends up being more hassle than plain ol' HTML+JS+HTTP. Then you've limited yourself to interop with the js libraries they've provided leaky wrappers over, or you can write your own leaky wrapper if you want to use coolnewthing.js you saw on github. And to cap it…

This is why the so called "open web" that locks you to a few legacy languages must be fought with. Transpilation is not an answer. Luckily mobile is thriving, no problems using F# with Xamarin as a first-class citizen

Re: WebSharper: Make web apps in F#

#49
post #24

I might be missing a point, but how is this different from tried-and-failed GWT? Apart, obviously, in language of choice.

To be fair, F# vs. Java is more than a trivial difference.

Yes, the approach is a dead-end but the language is awesome.

Re: WebSharper: Make web apps in F#

#50
post #47

Earlier quoted context omitted.

Any open-source code would have to be released under the terms of the AGPL as well (although could potentially be dual-licensed). It could also not use GPLv2 libraries (although could use GPLv3 libraries), or libraries with other copyleft licenses for the most part. It's... an extremely restrictive license, generally, and not one I'm comfortable using as an open-source developer. I know many others feel the same, whi…

While I like the AGPL, for projects where it's appropriate (I think it fills a need to ensure that users of the software have the four freedoms, even if they only (mainly) use a service, not a local program) -- I also generally think libraries are better served by LGPL. It's a rather complex issue -- not just how do delineate "libraries" as opposed to "derived works" -- but also how much is needed in the "main produc…

Sure, sure. I get the goals of GNU. However, that's kind of irrelevant as to whether or not this will grow a community, and with a license that is restrictive to developers, it likely won't.

In fact, I don't think I've ever seen any AGPL software that's grown a significant developer community.

Post reply on HN