Hacker News new | past | comments | ask | show | jobs | submit login
Hapi.js project is reaching its conclusion (twitter.com)
73 points by kostarelo 15 days ago | hide | past | favorite | 27 comments

From the Hapi Slack:

> eran 6:38 PM

> Over the past few years I have tried many different ways to keep my work on the hapi ecosystem sustainable. I was trying to secure enough funds to keep the lights on but also to innovate and improve the framework. This has worked well for a while but over the past year both commercial licenses and sponsorship dropped to an all time low. At the current funding level I can only address critical issues and keep things stable. It doesn’t allow me to invest in the future of the framework, add meaningful new features, or keep up with community support.After 5 years of working outside of a major company, I have reached the point where I am no longer finding this work rewarding. The resources available do not allow me to spend the kind of quality time needed to have a meaningful engagement with this project. I no longer believe that this can be fixed or reversed. Go through another round of begging people for money in hope of another year or so for project runway is not appealing to me.I don’t know exactly how this will unfold. I plan to communicate this to the wider hapi community over the next few days to start a conversation and see what’s the best way for me to bring this project to an appropriate conclusion. This channel is the beginning of this process. While I am not expecting others to take over the work, I have not ruled that out yet.I want you to know that regardless of how this ends up, I am going to keep supporting the project until the end of the year. After that, I am going to offer some kind of continued commercial support for at least 2 years. I still need to work out the plan for what that support looks like and make sure that it is priced in a way that allows me to offer it.

This is the death of open-source. This is not open-source software.

And exactly why OSS needs to exist - true community projects that are not dependent on sponsors or have any strings attached. I hope we find a way back there.

I hope Hapi and Joi can find a home in the Open JS Foundation.

The more important question is: is there a community around it that will develop and support it? that's what makes or breaks a project, and isn't something you get by joining a foundation.

This is very sad. Hapi.js seriously tried to bring some sanity back to node.js development. Eran Hammer is a rock star. He did an amazing job, brought a super clean codebase, secure defaults etc but i feel the timing was bad. Hapi.js was good just for API's. Do you want to use it with a database? Good luck finding an orm and setting up migrations on your own. Meanwhile, in the last couple of years golang exploded and the node.js found it's niche in react server side rendering.

I feel that every node.js MVC backend framework or the MERN stack of the 2015 era will become obsolete. That includes adonis.js , nest.js , meteor etc. I still haven't found any job description mentioning these frameworks. If you're looking for a backend language for your next project, look at python, php and rails and use javascript where it's good at, the front-end.

This opinion doesn't seem to be backed by much evidence.

The single-thread async-by-default execution model that nodejs shines at is brilliant for io bound tasks, like REST APIs.

Go is fine and has it's strengths, but is by no means a nodejs killer. It's another tool in the toolbox.

Reducing one of the most popular and effective modern server-side languages to "react server side rendering" is inaccurate, at best.

It also ignores node's massive use in the embedded space, desktop (electron, nwjs, etc...) and emerging data science space.

When I'm looking for a backend for my next project, it would be very hard to convince me to move backwards to python etc...

Those feel very legacy to me. Slow, apartment threaded model with blocking io, tons of context thrash from thread switching, bad package management, difficult environment configuration, etc...

I'll stick with node until there's another truly innovative technology that comes along.

Most of the web apps are mostly CRUD at the end of the day and boring stacks like rails,php,python are perfect for this kind of job. The most popular node.js framework is express.js and it doesn't even have anything built-in to parse request bodies. You'll have to reinvent the wheel in every single step of your app.

Sails.js, adonis.js, nest.js meteor etc are all pretty much dead. They try to poorly re-implement everything we love about rails/django. Heck, even modern PHP with type-hints and symphony/laravel is better than full-stack nodejs these days.

If you're so lucky that your django,rails api can't scale your load, you can use Go which is also way better than node.js in every single aspect (standard library, language, tooling, deployment, performance).

That being said though, i'm really excited and curious about graphql servers and prisma.js and how all these tools could eventually introduce a new way to build crud apps but for now i'll stick with proven tech and wait.

For the record, Sails === not dead (unless I am also dead)

In all seriousness: I maintain it every day with a team of 4 other core team members with the help of an incredible community of contributors.


NestJS seems very much alive, although is a little bit bloated for my taste. I would recommend TS+GraphQL-Modules+GQL-Codegen instead.

Apollo is a must too both server and client.

GraphQL Subscriptions = WebSockets = Real Time bi-directional channel.

Lots of cool stuff on TypeScript/GraphQL being done. Nothing wrong with one framework fading off

Yes, because GraphQL is a fix for everything.

Also, Node.js is doing just fine without a full-fledged framework like RoR or Django.

In my current environment (~100 engineers, cross-functional teams, many Node.js services per pod), we have a few recommendations for libraries (Koa, knex, Passport, Boom, etc) but the glue on how to connect those are left to the engineer/pod. We don't feel the need for a stricter framework.

Although I would like to hear other opinions on how that could be bad and if with a framework things would be better.

It doesn't really matter anyway but Koa.js(and express.js) creator TJ Holowaychuk switched from Node to Go at ~2014 and hasn't look back. After all these years he's still the number one contributor on github. It's very sad seeing how poorly maintained all these nodejs stuff is. 5 years ago everyone thought that express.js is gonna disrupt the world and replace "legacy" web stack

> replace "legacy" web stack

As Ruby wanes into death, Express takes its place. Not sure about Python and Django/Flask, but I have a feeling they never got any overwhelming foothold in webdev anyways.

The question is whether web developers want to learn strongly typed Go, which is quite a jump from Python, PHP, JS, or Ruby. Go has quite a steep learning curve even coming from TS.

I personally feel like Go is the future, but I wouldn't be surprised if Node became the defacto standard. Year after year, JS is among top 3, if not #1, used language in developer surveys.

I'm not talking about Javascript as a language vs Ruby/Python. Javascript is super hot and exciting and react.js is eating the web no doubt. I'm talking about classic, stateful MVC monolithic backends, which is the most common architecture for web apps. This is where Node.js sucks.

Seriously, if you created a new SaaS business, would you choose express.js instead of Rails for your backend? I believe you'd be in a serious disadvantage.

> As Ruby wanes into death, Express takes its place.

Say that to Github, AirBnb, Shopify, Stripe and many more companies.I don't even know ruby or rails but i appreciate what it has done for the web and how much time it's saving people around the world. Express.js basically ignores all these advancements in productivity brought by rails, by requiring you to install so many small packages for small details that you'll probably need at some point anyway.

> Seriously, if you created a new SaaS business, would you choose express.js instead of Rails for your backend?

To be completely honest, probably yes. As far as I know, Ruby has some serious performance and memory leak problems.

> Say that to Github, AirBnb, Shopify, Stripe and many more companies.

Sure... My company has legacy code in Groovy. It's still used, maintained, and productive. That said, I'd never say that my company is a heavy groovy user. Rather, my company didn't want to spend resources to get rid of Groovy.

I don't know Ruby that well, but I'm having hard time seeing cool new cloud-native projects heavily utilizing containerized Ruby.

You're not seeing such projects because you're not looking and going to choose Express again because that's what you've been using. Consider that there might be better tools for a particular job.

"That includes adonis.js , nest.js , meteor etc"

Adonis just released a new version and the developer is working full-time. Nest.js is only 3 years old! And Meteor is receiving updates everyday.

"I feel that every node.js MVC backend framework or the MERN stack of the 2015 era will become obsolete. "

Don't feel, look for clear facts and think critically, if one framework is down because literally there are 5+ alternatives to it, it doesn't mean all the ecosystem is down.

This hurts. I've been using Hapi professionally for 5 years now, and it is a joi (hehe) to work with. Modules in the hapi ecosystem, ie boom, joi, and lab, are baked into my servers from top to bottom.

Much thanks to the devs that made this possible over the years. It is a shining example of what a JavaScript tool should be like. I wish it could be given the money and time it deserves.

This was originally from Walmart Labs, no? Anyone know why they stopped being the corporate sponsor?

Most of the devs quit WalmartLabs a long time ago (including myself, Eran, etc). Sponsored in the sense that WalmartLabs paid us to use it to build their services and we developed hapi.js/joi to support our jobs.

I'm genuinely curious if anything produced by Walmart Labs had any sort of "commercial" success or was even adopted within the main Walmart ecosystem. I've certainly heard of hapi, but don't know if it ever gained all that much adoption. Or was it mostly a recruiting tool to make Walmart attractive to a better class of devs?

While I was there, hapi.js was extensively used by the Global eCommerce department and was responsible for fronting the entire mobile API. You can check Eran's blog for stories of how it handled all of Walmart's mobile API traffic especially during the massive thundering herd of Black Friday traffic. It was used on many other projects including some "big name" projects, however, I don't know if hapi's involvement was made public for those so can't name them directly.

Thanks for update and nice work for the community. I didn't end up taking job at WL, but Hapi greatly increased my technical opinion of them and was valuable for recruiting devs too.

Eran left Walmart, and Dion Almaer and Ben Galbraith, who were co-heading Walmart Labs engineering (under the CTO) left shortly after to go back to Google. A new crew came in from PayPal, and they stripped all support of Hapi. They later created a heavy sludgey framework on top of it called Electrode for internal use and in slides did not even acknowledge it was Hapi underneath.

I say this as someone who took over a good chunk of Eran's world when he left Walmart, and I was more or less forced to have my team, some of whom were spending most of their time working on Hapi.js, work on "real" stuff.

Terrible news. This framework needs a future!

This is really sad :( I hope there is more communication soon about the timeline.

I would also like to hear more about this decision. Could probably be a financial decision?

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact