Git Product home page Git Product logo

Comments (5)

selfcontained avatar selfcontained commented on July 20, 2024 4

You bet. We've been using and contributing to botkit for quite awhile, so definitely are appreciative of it as a library, and there are some obvious places slapp is influenced by botkit. It would probably help to explain some of our motivations for writing this library.

One of our main motivations and needs (for writing our own Slack Apps) was a library that let us do so in a stateless way. The new Slack Events API is really compelling, in that it lets you write an HTTP based app, which is much easier to scale and maintain for many teams than a stateful websocket connection based one (using the RTM api). We didn't see an easy way to accomplish this with the way you write bots in botkit, using scoped callbacks to maintain your state during a conversation (that could change?). We also wanted our apps to handle restarts and rolling updates, which are solved problems when it's HTTP based, but more difficult when using websockets.

Another driver was to have a very thoroughly tested library that we could feel confident in as we used it, and as it evolves alongside Slack's feature-set. So far we've accomplished that with 100% code coverage in our tests, and that will remain a standard we keep for the library.

We also feel there's an advantage to having a library specifically tailored to Slack instead of multi-platform. Platforms all evolve differently, and it can become difficult to maintain a consistent API across all of them. While there are definitely use-cases for multi-channel bots, we think there are also strong and common use-cases for Slack-only Apps, so having a library w/ an API tailored specifically for them is advantageous.

If you stacked them side-by side, there are definitely things one does that the other doesn't. Namely botkit supports the Slack RTM API, which slapp doesn't support currently. That's by design on our part. Botkit also supports multiple platforms, while slapp is Slack only. We think these decisions allow slapp to have a more intuitive API when it comes to writing Slack only Apps. That's not an exhaustive list, but those are the more prominent differences that stand out to me.

from bolt-js.

malonehedges avatar malonehedges commented on July 20, 2024 1

I'm going to leave this open so other newcomers can see your thoughts. Feel free to close whenever though.

from bolt-js.

malonehedges avatar malonehedges commented on July 20, 2024

@selfcontained Thanks so much for the thoughtful response.
Always happy to see more options in the space as a bot developer.

from bolt-js.

2color avatar 2color commented on July 20, 2024

@malonehedges I wonder if you have any thoughts given some experience with this?

from bolt-js.

malonehedges avatar malonehedges commented on July 20, 2024

@2color I actually haven't done much work with bots for a while so I'm not up to speed on the different frameworks available. I'd start by checking out this and botkit. There might be some other frameworks listed in the READMEs too.

from bolt-js.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.