[HN Gopher] IHP, a batteries-included web framework built on Has...
___________________________________________________________________
IHP, a batteries-included web framework built on Haskell and Nix
Author : _query
Score : 49 points
Date : 2022-09-17 15:43 UTC (7 hours ago)
(HTM) web link (github.com)
(TXT) w3m dump (github.com)
| activitypea wrote:
| >25 dollars a month for solo projects
|
| >125 dollars a month per seat for companies
|
| That's.. irregular. I really have nothing nice to say about this
| model, so I'll just leave a really good conf talk here. The part
| around 8:30 is really pertinent to this situation.
| https://youtu.be/VBwWbFpkltg
| _query wrote:
| IHP is basically the rails/laravel/django of Haskell. If you
| haven't tried Haskell before or think Haskell is only about
| monads and math, give it a try and be surprised :)
|
| Some links if you want to try out IHP:
|
| - Intro video demoing how to build apps with IHP:
| https://www.youtube.com/watch?v=UbDtS_mUMpI
|
| - Docs to get started:
| https://ihp.digitallyinduced.com/Guide/index.html
|
| - IHP reviews: https://www.g2.com/products/ihp/reviews
|
| Happy to answer any questions on IHP :)
| danpalmer wrote:
| One of the great things about Django/Rails (and I guess
| Laravel, but I have no experience) is the ecosystem of packages
| that integrate well with them.
|
| For example, with Django, there are a ton of packages that
| integrate well with things like Models, the Forms subsystem,
| Middleware, Template rendering, Cache backends, etc.
|
| Is there a similar ecosystem with IHP? Are the extension points
| there in the framework to allow those sorts of packages to
| integrate seamlessly?
|
| My past experience with Haskell web frameworks was that there
| weren't many packages for common things, and that when there
| were they took quite a bit of integration work to use nicely.
| jbreckmckye wrote:
| > My past experience with Haskell web frameworks was that
| there weren't many packages for common things, and that when
| there were they took quite a bit of integration work to use
| nicely.
|
| Congralulations, you read an email address out of a database!
| Commiserations, it was parsed into a LazyByteString and the
| rest of your stack demands a Text or a String or a
| CuneiformCodepointArray or whatever...
| _query wrote:
| We don't have a comparable ecosystem yet, but IHP uses many
| popular Haskell libraries under the hood. So many normal
| Haskell libraries integrate very well, as the underlying data
| structures are always exposed. Functional programs compose
| well in general due to it's stateless nature, that helps as
| well.
|
| IHP also comes with a lot of things you'd typically use
| external packages for (e.g. Auth).
|
| In general the IHP experience is very different from other
| Haskell web frameworks and much more batteries included, so a
| lot of apps typically don't need any external packages at
| all.
| whateveracct wrote:
| Isn't Yesod also like the Rails of Haskell?
| danpalmer wrote:
| I've looked at IHP briefly a number of times and the thing that
| always turns me off it is the fact that it's perhaps _too_
| batteries included.
|
| When I read the pricing page on IHP's site, and see something
| like "Email confirmation" (for authentication) having a price
| associated with it, it makes me assume that IHP is sufficiently
| locked down that I couldn't just build that feature myself.
| Either it's not, and I can do, and I've got the wrong impression,
| or it is, and I worry that IHP having that much control over my
| codebase will make other things that it doesn't support much
| harder than with other frameworks.
|
| I'm all for the business model of well integrated, well supported
| plugins for the framework, but a closed, tightly controlled
| development environment that I can't break out of as I feel is
| necessary isn't something I'd bet a company on.
| _query wrote:
| Thanks for the feedback!
|
| Check out the docs for email confirmation here:
| https://ihp.digitallyinduced.com/Guide/authentication.html#e...
| You'll see that most parts of the confirmation workflow
| actually happen inside your application. Only the actual
| controller implementation is part of IHP pro, and it's just 20
| lines of code. So you can easy implement this yourself.
|
| Generally IHP uses a lot of standard libraries of the Haskell
| ecosystem. So you can always break out of IHP when things don't
| work. It's not much more lock in than other frameworks in the
| space :)
|
| Some more background on the ideas behind the pricing can be
| found here btw: https://ihp.digitallyinduced.com/Guide/ihp-
| pro.html
| danpalmer wrote:
| Thanks, that does address my concerns well.
| nextaccountic wrote:
| I don't understand how can you make MySQL support and role-
| based access control paid features. Are they not open source?
___________________________________________________________________
(page generated 2022-09-17 23:01 UTC)