Try F# on WebAssembly
forums.websharper.comProgramming professionally with WebSharper has been the best web development experience I ever had. Several years later I ended up doing some web development with Angular and it was a horrific experience.
The one thing I'm most certain of is that popularity in software development doesn't correlate with merit. This is unfortunate because approaches that are superior are generally overlooked in favor of gimped alternatives from big names like Google and Apple.
IntelliFactory have been strong at F# for over a decade now and if you have yet to use an ML like F# in anger yet, you just can't know what you are missing on.
Regarding the popularity, merit alone is not sufficient. I agree Websharper looks great, and I wanted to use it to develop an open source web app, but I'm in the process of changing my mind. The reason is that there's literally no support for the non-paying customer (their gitter channel is a no man's land), the documentation is good but not complete (eg, some annotations I see in examples are not documented), or if it is complete, it is difficult to find your way to the information (eg some links in the doc can't be opened in another tab because it is handled with javascript), the API doc is unusable (no comment, no example, just the types of the functions are given).
Publishing software under an open source license is not sufficient to have a community grow around it. It requires commitment and efforts. It seems Intellifactory has chosen to focus on their paying customer, which is a choice they absolutely have the right to do. Sadly for open source developers, it makes using their software a hard choice.
I really would have liked it to be otherwise, their software seems to be top notch!
I'm curious if you have played with "Safe Stack" yet and have thoughts on how it compares to WebSharper?
Disclaimer: I'm one of the maintainers of the SAFE stack.
The SAFE Stack is slightly different in that in itself it's not a technology as such, aside from the .NET template that we a lot of invest time into. Instead, it brings together several distinct technologies that when pieced together form an excellent end-to-end stack.
I would say that SAFE seems to currently have a larger community movement around it (as well as a commercial support aspect for those people that want / need that).
SAFE Stack doesn't support WASM though - the client side story is instead built on top of the excellent Fable (an F#-to-Babel-to-Javascript transpiler). In this regard I think SAFE is also slightly different to WebSharper in that (from when I last tried WS out at least) WS is more of a complete framework whereas SAFE contains a number of libraries and components that you can opt in / out of as you see fit and lives a bit closer on the JS ecosystem side (again, happy to be corrected here on the WS side).
Both Websharper and SAFE stack are excellent stacks, and both encourage the use of F# end-to-end - try them both out and see what fits better for you :)
There's a response to your question from one of the SAFE stack developers, but it is dead so only those with "show dead" on see it. I'm not sure if dead comments show up for people without "show dead" on if they follow a direct link to it, but if they do, here is a link [1].
I'm curious why it is dead. The account has only posted two comments, both technical comments on F# threads, and both are dead. It has no submissions. So how did it get killed?
Accounts without much history are subject to additional software filters, mainly because of past abuse by trolls. We've marked isaacabraham79's account legit so it won't happen again.
If you see a [dead] comment that shouldn't be dead, please vouch for it instead of posting offtopically about its deadness. Usually that will just fix the problem. That's why we implemented vouching!
To vouch for a dead comment, click on its timestamp to go to its page, then click 'vouch' at the top.
In this case I did vouch for it, and it didn't bring it back.
Ah, I missed that because it looks like you clicked 'unvouch' afterward.
Yeah, when I saw it had become visible I was curious if my vouch made a difference, and so un-vouched to see if it would disappear again. If it had, I would have re-vouched.
Not sure exactly how HN works, but I'm guessing this happened due to high number of downvotes. I just upvoted him and the comment is not dead anymore, though.
Thank you :-)
I haven't, I'm curious to know whether it has transparent, type-checked, client-server RPC calls like WebSharper? Hands down must-have from my perspective.
As for declarative UI development I had worked with Formlets -> Piglets -> UI.Next and felt they had nailed it at the end. I haven't worked with Elm, my hopes are high. The only other thing I know likely has a good model would be: https://github.com/calmm-js
Yes, it does have type-checked, client-server RPC calls with Fable.Remoting:
Is Microsoft not a big name"?
If you're speaking to Angular... is MS using this for internal applications, or public facing sites? I know they're heavy in the development, but what MS uses internally, and what Consulting arms use isn't always the same.
Personally, couldn't hate Angular more, I worked with it enough and unlikely to do so again.
Yes but Microsoft has always been pushing C# and for fear of alienating their C# consumerbase could never concede that F# was strictly superior.
This is a neat idea, but I found it painful to use for anything but trivial examples, since the main thread pauses for a second or two every time I edit my code. (Using Chrome.)
I tried running this snippet: http://www.fssnip.net/7VB/title/Enumerating-the-Rationals
Problems I ran into:
* BigInteger isn't available, even though it's part of F# core and I opened System.Numerics.
* Syntax coloring failed when I defined static member (* ). It seemed to think that (* opened a comment that was never closed. (Sorry, HN formatting prevents me from typing the correct inline multiplication override.)
I just hope Microsoft can put more resource on F# to help the community grow faster.
I just want them to add typeclasses to F#. I think that's the missing piece that it really needs.
How is this different from Blazor?
Asking in the wrong place, please ignore