284 karma · joined May 24, 2018
It maybe a little bit outdated but it should get the point across, also the demo seems to be offline, I'll check in the morning and get back to you :)
> There are deeper issues that need to be addressed. The fact that their landing page doesn’t work well on mobile is evidence of that. Assuming it was created using Mint.
Actually it's not created in Mint and that it doesn’t work well on mobile is the evidence that I didn't tested it thoroughly :D
I can however elaborate on the points raised:
- Recursive components: you can do it, the type-checker allows it and it works, or goes into an infinite loop if you don't exit correctly.
- Data sharing: I don't know what you mean by this. If it's data sharing between components you can do that by creating a store and connect as many components to it as you like.
- Messaging: I don't know what you are referring to? Websockets? Http? between components?
The fact is that there is some many things built in that it is hard to fit it on a single page above the fold, that's why I would say it's advantages is: it's the only thing you should need.
> You must start with Mint and haul in other new tools, or it doesn't work.
Could you elaborate on this?
I've come from Elm where it is done in a very good way, but it's too restrictive, and I like react and it's expressiveness so I wanted to combine the two.
Vue is really good but at the end you are still writing JavaScript which is really hard to do in a safe way. And from my experience Typescript isn't 100% safe as well.
- the documentation is in one place instead of several places
- the dependencies of a Mint project is usually a few megabytes since everything is included instead of hundreds of megabytes (I have a production app that does not have any dependencies at all)
- only need to learn one (compact) thing, instead of many complex things (complex since there is no compiler to make it simple)
- only need to update the code once there is a new version of the language not every time there is a new version of a dependency
On top of the libraries mentioned the language also includes a formatter, package manager, builder/dev server and testing environment, also for which you would need to add dependencies.
All of these add up to less cognitive load so I can focus on building the product instead of managing the development environment.
(edit: formatting)
It's something between Elm and React (while actually using React as a platform) with a lot of built-in functionality like routing, styling, data storage and more.
> not sure how this plays out in a practical sense / relative to the state of web applications as they are now.
How I see it it either there will be one big framework (or language) that will have all the things and compiles to WebAssembly or there will be JavaScript libraries that ship compiled WebAssembly which you can interface with.
We are still a long way from having a React like framework which compiles to WebAssembly let alone a thriving community for it.
And if you do what is your impression? I created it because I was frustrated with Elm (more the community than the language itself although the language has some issues as well).
What I would like feedback on is how people would like to use a service like this? Self hosted with a license? SaaS? some other way I'm not thinking of?
I'm still figuring out the pricing so I'll keep this in mind!
> It'd be neat to be able to host it ourselves, if you ever plan to release it as OSS.
The pricing is just a placeholder at this point, it is possible that there will be a self hosted plan, since it can be easily compiled to a single binary.
I choose Crystal because I had experience using Ruby and I absolutely loved the syntax, also Mint is built with Crystal. I really like it because it easy to read (even with type annotations) and compiles to a fast binary.
Edit: If you have specific questions let me have it :D
Let me know what you think! :)
For me it is a really good experience: for example the last update didn't break anything and I'm able to add features consistently and relatively quickly.